summary refs log tree commit diff stats
path: root/system/prefect.nix
blob: ce72a4fb589963c9bd51e2d8c44f21a95f80f6c4 (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{ config, pkgs, ... }:

{ imports = [
    <nixos-hardware/common/pc/ssd>
    <nixos-hardware/common/cpu/amd>

    ./settings/satoshipay.nix
    ./settings/base.nix
    ./settings/configuration/berlin.nix
    ./settings/configuration/british-english.nix
    ./settings/configuration/nix.nix
    ./settings/configuration/user.nix
    ./settings/hardware/audio.nix
    ./settings/hardware/bare-metal.nix
    ./settings/hardware/personal-computer.nix
    ./settings/hardware/bluetooth.nix
    ./settings/hardware/nvme-root.nix
    ./settings/hardware/connman.nix
    ./settings/hardware/iwd.nix
    ./settings/hardware/mouse.nix
    ./settings/hardware/grub2.nix
    ./settings/hardware/nvidia-gpu.nix
    ./settings/hardware/keyboard.nix
    ./settings/hardware/keyboardio-model01.nix
    ./settings/hardware/trackball.nix
    ./settings/hardware/trezor.nix
    ./settings/services/samba.nix
    ./settings/services/syncthing.nix
    ./settings/services/zeroconf.nix
    ./settings/user-interface.nix
    ./settings/programs/base.nix
    ./settings/programs/gnupg.nix
    ./settings/programs/kde.nix
    ./settings/programs/shell.nix
    ./settings/gaming.nix
    ./settings/programs/tor.nix
    ./settings/programs/barrier.nix
  ];

  services.xserver.screenSection = ''
    Option "MetaModes" "2560x1440_120 +0+0 { }"
  '';
  boot.loader.grub.useOSProber = false;
  boot.loader.grub.extraEntries = ''
    menuentry "Windows" {
      chainloader ($drive1)//EFI/Microsoft/Boot/bootmgfw.efi
    }
  '';

  boot.kernelPackages = pkgs.linuxPackages_zen;
  boot.extraModulePackages = with config.boot.kernelPackages; [
    zenpower
  ];

  boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
  boot.initrd.kernelModules = [ ];
  boot.kernelModules = [ "kvm-amd" ];

  fileSystems = {
    "/" = {
      device = "/dev/disk/by-uuid/05d67a65-56ad-4c55-98dc-93cec95e34ae";
      fsType = "f2fs";
      options = [ "atgc" "gc_merge" "lazytime" ];
    };

    "/boot" = {
      device = "/dev/disk/by-uuid/7034-6991";
      fsType = "vfat";
    };

    "/home" = {
      device = "/dev/disk/by-uuid/0128f7e2-8247-435a-bc30-904574d7bf8c";
      fsType = "f2fs";
      options = [ "atgc" "gc_merge" "lazytime" ];
    };

    "/mnt/data" = {
      device = "/dev/disk/by-uuid/52E422C5E422AAE5";
      fsType = "ntfs3";
      options = [ "uid=1000" "gid=100" "x-systemd-automount" "nofail" ];
    };

    "/mnt/games" = {
      device = "/dev/disk/by-partlabel/games";
      fsType = "ntfs3";
      options = [ "uid=1000" "gid=100" "x-systemd-automount" "nofail" ];
    };

    "/mnt/windows" = {
      device = "/dev/disk/by-partlabel/windows";
      fsType = "ntfs3";
      options = [ "x-systemd-automount" "nofail" ];
    };
  };

  swapDevices = [ { label = "swap"; discardPolicy = "once"; } ];

  services.xserver = {
    xautolock.enable = pkgs.lib.mkForce false;
  };
  services.postgresql = {
    enableTCPIP = true;
    authentication = ''
      # TYPE  DATABASE        USER            ADDRESS                 METHOD
      host    all             all             samenet                 md5
    '';
  };

  services.openssh = {
    enable = true;
    openFirewall = false;
    startWhenNeeded = true;
  };
  networking.firewall.extraCommands = ''
    iptables  -A nixos-fw -p udp --source 172.30.42.0/24       -j nixos-fw-accept
    iptables  -A nixos-fw -p tcp --source 172.30.42.0/24       -j nixos-fw-accept
  '';

  hardware.firmware = with pkgs; [
    linux-firmware # for iwlwifi
  ];
  networking = {
    hostName = "prefect";
  };

  system.stateVersion = "22.05";
}