summaryrefslogtreecommitdiff
path: root/profiles/core/configuration.nix
blob: 3d000f1a3869120fa9c707d14b208fe23e51ea1a (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
48
49
50
51
52
53
54
55
56
{
  machine,
  config,
  pkgs,
  lib,
  ...
}: with lib; {
  imports = [ (mkAliasOptionModule [ "my" ] [ "users" "users" my.username ]) ];

  services = {
    resolved.fallbackDns = [
      "1.1.1.1#one.one.one.one"
      "1.0.0.1#one.one.one.one"
      "2606:4700:4700::1111#one.one.one.one"
      "2606:4700:4700::1001#one.one.one.one"
    ];
  };
  security = {
    sudo = {
      wheelNeedsPassword = false;
      extraConfig = ''
        Defaults env_keep+="EDITOR"
        Defaults env_keep+="SSH_CONNECTION SSH_CLIENT SSH_TTY"
        Defaults env_keep+="http_proxy https_proxy"
      '';
    };
  };

  time.timeZone = "Europe/Amsterdam";
  users.users = {
      ${my.username} = {
        uid = mkIf (!machine.isDarwin) 1000;
        description = my.realName;
        openssh.authorizedKeys.keys = my.sshKeys;
        extraGroups = ["wheel" "networkmanager" "docker" "transmission" "dialout" "test" "libvirtd"];
        isNormalUser = true;
      };
      root = {
        openssh.authorizedKeys.keys = config.my.openssh.authorizedKeys.keys;
      };
  };

  nix.package = pkgs.nixVersions.latest;
  nix.extraOptions = ''
    experimental-features = nix-command flakes configurable-impure-env
  '';

  hm.xdg.configFile."gtk-2.0/gtkrc".text = ''
    gtk-key-theme-name = "Emacs"
  '';

  hm.xdg.configFile."gtk-3.0/settings.ini".text = ''
    [Settings]
    gtk-key-theme-name = Emacs
  '';
}