diff options
| -rw-r--r-- | jeschli/2configs/IM.nix | 56 | 
1 files changed, 56 insertions, 0 deletions
diff --git a/jeschli/2configs/IM.nix b/jeschli/2configs/IM.nix new file mode 100644 index 0000000..171b782 --- /dev/null +++ b/jeschli/2configs/IM.nix @@ -0,0 +1,56 @@ +with (import <stockholm/lib>); +{ config, lib, pkgs, ... }: +let +  tmux = pkgs.writeDashBin "tmux" '' +    export TERM=xterm-256color +    exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" '' +      set-option -g default-terminal screen-256color +    ''} "$@" +  ''; +in { + +  services.bitlbee = { +    enable = true; +    portNumber = 6666; +    plugins = [ +      pkgs.bitlbee-facebook +      pkgs.bitlbee-steam +      pkgs.bitlbee-discord +    ]; +    libpurple_plugins = [ pkgs.telegram-purple ]; +  }; + +  users.extraUsers.chat = { +    home = "/home/chat"; +    uid = genid "chat"; +    useDefaultShell = true; +    createHome = true; +    openssh.authorizedKeys.keys = with config.krebs.users; [ +      jeschli.pubkey +      jeschli-bln.pubkey +      jeschli-brauerei.pubkey +    ]; +    packages = [ tmux ];  +  }; + + +  systemd.services.chat = { +    description = "chat environment setup"; +    after = [ "network.target" ]; +    wantedBy = [ "multi-user.target" ]; + +    restartIfChanged = false; + +    path = [ +      pkgs.rxvt_unicode.terminfo +    ]; + +    serviceConfig = { +      User = "chat"; +      RemainAfterExit = true; +      Type = "oneshot"; +      ExecStart = "${tmux}/bin/tmux -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat"; +      ExecStop = "${tmux}/bin/tmux kill-session -t IM"; +    }; +  }; +}  | 
