diff options
author | tv <tv@krebsco.de> | 2018-01-02 20:58:59 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2018-01-02 20:58:59 +0100 |
commit | 493984d97e6deaee3d7b358724e83c59bccb212d (patch) | |
tree | 691e019ae0b55d48a9681d9c26ae65e6c83d1d0f /lass/2configs/IM.nix | |
parent | 84fdbeba2ceee152a128f5e9013043c172c07ecf (diff) | |
parent | e48b4eb4606f6d0ec0b930016a53e7e7cfcbfb64 (diff) |
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'lass/2configs/IM.nix')
-rw-r--r-- | lass/2configs/IM.nix | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/lass/2configs/IM.nix b/lass/2configs/IM.nix new file mode 100644 index 000000000..b94cb0634 --- /dev/null +++ b/lass/2configs/IM.nix @@ -0,0 +1,57 @@ +with (import <stockholm/lib>); +{ config, lib, pkgs, ... }: + +let + tmux = pkgs.writeDash "tmux" '' + exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" '' + set-option -g prefix ` + unbind-key C-b + bind ` send-prefix + + set-option -g status off + set-option -g default-terminal screen-256color + + #use session instead of windows + bind-key c new-session + bind-key p switch-client -p + bind-key n switch-client -n + bind-key C-s switch-client -l + ''} "$@" + ''; +in { + + users.extraUsers.chat = { + home = "/home/chat"; + uid = genid "chat"; + useDefaultShell = true; + createHome = true; + openssh.authorizedKeys.keys = with config.krebs.users; [ + lass.pubkey + lass-shodan.pubkey + lass-icarus.pubkey + lass-android.pubkey + ]; + }; + + # mosh + krebs.iptables.tables.filter.INPUT.rules = [ + { predicate = "-p udp --dport 60000:61000"; target = "ACCEPT";} + { predicate = "-p tcp --dport 9999"; target = "ACCEPT";} + ]; + + systemd.services.chat = { + description = "chat environment setup"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + restartIfChanged = false; + + serviceConfig = { + User = "chat"; + RemainAfterExit = true; + Type = "oneshot"; + ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat"; + ExecStop = "${tmux} kill-session -t IM"; + }; + }; +} |