summaryrefslogtreecommitdiff
path: root/chaski/services/chat.nix
blob: 0771e19712c16349f1afeaac59647667b4fea74b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{ config, lib, pkgs, inputs, ... }:

# this defines an extra user, so i can run weechat in tmux
# (and not deal with having an irc relay)
{

  imports = [ inputs.home-manager.nixosModule ];

  programs.mosh.enable = true;
  users.users.chat = {
    isNormalUser = true;
    home = "/home/chat";
    shell = pkgs.fish;
    packages = with pkgs; [
      fish tmux weechat
    ];
  };
  home-manager.users.chat = _: {
    programs.tmux = {
      enable = true;
      terminal = "screen-256color";
    };
    home.stateVersion = "22.11";
  };
  services.openssh = {
    extraConfig = ''
      Match user chat
        ForceCommand ${pkgs.writeScript "logon-weechat" ''
          #!${pkgs.fish}/bin/fish
          if test -n "$SSH_ORIGINAL_COMMAND"
            # allow mosh to start its server
            exec fish -c "$SSH_ORIGINAL_COMMAND"
          else
            tmux attach || tmux -c weechat
          end
        ''}
    '';
  };
  users.users.chat.openssh.authorizedKeys.keys = [
    "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCTeuG1alKNNqoT2d5nUAlH0Otsk0NHM7nmkYC5Yfk8qcLsgY4v2dXlyrMzieajYgDjndEApgO3/S/V0EQGhvHc0UugC6LU84jHPwsgYVABRmFS74v/ww8NigaNIAevwWl+DxlnK4nnWdB1lo4xS69ooQdvoAjbubk16dP04LsAbH8Z+3cPB5WKAaayNx62DUwObzDSpztqCagCZzlqpwKG1UGJngrqEhk7B5Q0v9iCk91gqVkLSPllsB00+bqIimgkMVIZnoLLh7pcEgOvbG0yP2EG3ttDNN3jPpqE6mu+znfLq+ua/MwJy5hjmY5R54yPlcvFdsIU34jrdMCDvWqpV49VrLwVvkFN3lRZln/9eifkXXJciP4Ber3xEl8JltysV1PE5iJunWfbcOy0fwsYvBChDeyR5G3CLG2c25jKL9f1Iq95QBBMVYgIxq/dpGy0tjB+24w1JzsorvElsmz5etXLXCydLP07ic9PfSu1Wmwu7F0tweIk52x97sra6ePhtY+TTRffjjDz0DEho1bWDfrPV0xfPPAWXWTKYisVO4VVmMQsJbtXrfxUJbappM5vIXcJ+2JpT2Oh7Kiy3rjm+pd7rukgoCp7yN5z8v+2vuOfHqBuKUwlaRg/XNMyPrbnGGzVR1xzUuhwdOnjAyMmAr95Ne9hRBPwfVo2NR/ZZw=="
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEpWMKJrYaI9BRFCeVimQfHkg0THZJwLqh+z2fFxLU7q stuebinm@pixelimn"
  ];
}