summaryrefslogtreecommitdiff
path: root/host/idefix.nix
blob: 017aa1db7abbb08491f85748d64648af17074a2d (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{ pkgs, ... }:

{
  imports = [
    ./hardware/idefix.nix
    ./software/desktop
  ];

  console.keyMap = pkgs.lib.mkForce "us";

  networking = {
    hostName = "idefix";
    firewall.enable = false;
    networkmanager.enable = true;
  };

  users.extraUsers.common.extraGroups  = [ "networkmanager" ];

  services = {
    upower.enable = true;
    acpid.enable  = true;
    blueman.enable = true;
  };

  powerManagement.powertop.enable = true;

  services.xserver = {
    layout = pkgs.lib.mkForce "us";
    xkbVariant = pkgs.lib.mkForce "";

    libinput.enable = true;

    displayManager.gdm.enable = true;
    desktopManager.gnome.enable = true;
  };

  environment.gnome.excludePackages = (with pkgs; [
    gnome-photos
    gnome-tour
  ]) ++ (with pkgs.gnome; [
    cheese
    gnome-music
    simple-scan
    geary
    tali
    iagno
    hitori
    atomix
  ]);

  environment.systemPackages = with pkgs.gnomeExtensions; [
    gesture-improvements
    pop-shell
  ];

  networking.wireguard.interfaces = {
    wg0 = {
      ips = [ "10.100.0.8/24" ];

      privateKeyFile = "/etc/wireguard/private";

      peers = [
        { # automatix
          publicKey  = "B0tkjq+5SfECKx1gWEP5JVWOIaRWL2JNE7iSpMmN4F0=";
          allowedIPs = [ "10.100.0.0/24" ];
          endpoint   = "kummerlaender.eu:54321";

          persistentKeepalive = 10;
        }
      ];
    };
  };

  system.stateVersion = "22.05";
}