summaryrefslogtreecommitdiff
path: root/users/gkleen/default.nix
blob: 26f7a1d48d0d865eb92fcb23d094c64afa2230f8 (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
44
45
46
47
{ flake, userName, pkgs, customUtils, lib, ... }:
{
  imports = with flake.nixosModules.userProfiles.${userName}; [
    zsh tmux utils
  ];
  
  users.users.${userName} = {
    description = "Gregor Kleen";
    extraGroups = [ "wheel" "networkmanager" "lp" "dialout" "audio" "video" "xmpp" "mail" "ssh" "vboxusers" "libvirtd" "wireshark" "games"];
    group = "users";
    uid = 1000;
    createHome = true;
    home = "/home/${userName}";
    shell = "${pkgs.zsh}/bin/zsh";
    isNormalUser = true;
    openssh.authorizedKeys.keyFiles = lib.attrValues (customUtils.recImport rec { dir = ./authorized-keys; _import = name: _base: dir + "/${name}"; });
    hashedPassword = "$6$rounds=500000$dOMgCU7DAk$yQFYGOURTEt12387LIYBnFKSWmtwXMUk1LJWnV0m7OFt.y2TnxQn2abdGA5dhwG9EmMB5wZGXf4J5F71c746C/";
  };

  home-manager.users.${userName} = {
    programs = {
      git = {
        enable = true;
        userEmail = "gkleen@yggdrasil.li";
        userName = "Gregor Kleen";
        delta.enable = true;
        extraConfig = {
          pull.rebase = false;
        };
      };

      ssh = {
        enable = true;
        controlMaster = "auto";
        controlPersist = "30m";
        serverAliveInterval = 6;
        hashKnownHosts = true;
        extraConfig = ''
          IdentitiesOnly true
          ServerAliveCountMax 10
        '';
      };

      gpg.enable = true;
    };
  };
}