zaphyra's git: nixfiles

zaphyra's nixfiles

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 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 
139 
140 
141 
142 
143 
144 
145 
146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
157 
158 
159 
160 
161 
162 
163 
164 
165 
166 
167 
168 
169 
170 
171 
172 
173 
174 
175 
176 
177 
178 
179 
180 
{

  system = "x86_64-linux";
  nixpkgsStable = false;

  domain = "eukaryote.eu";

  #sshPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBGgd/59d8wyU9kE6iRSMvTmev8z5dq4YtjeBlEoAI4S";

  hardware = {
    cpuVendor = "intel";
    allowHibernation = true;
  };

  networking = {
    #hasDN42 = true;
    dn42Address = "fd49:7a7a:6965:c0::6cd4";
  };

  configuration =
    {
      inputs,
      ...
    }:
    {

      imports = [
        ./configuration.nix
        ./hardware-configuration.nix
        inputs.nixos-hardware.nixosModules.framework-intel-core-ultra-series1
      ];

      home-manager.sharedModules = [
        {
          wayland.windowManager.sway.config = {
            seat."*".xcursor_theme = "Adwaita 20";
            output."eDP-1".scale = "1.5";
          };
        }
      ];

      boot.initrd.systemd.emergencyAccess = true;
      boot.kernelParams = [
        "resume=/dev/eximius/swap"
      ];

      #sops.secrets."environments/networkManagerProfiles/cccdaWifi" = { };

      sops.age.keyFile = "/var/lib/sops-nix/age/keys.txt";

      modules = {

        filesystem = {
          #impermanence.system.enable = true;
          #impermanence.home.enable = true;
          rootDisk = {
            #enable = true;
            encrypt = true;
            type = "btrfs";
            path = "/dev/disk/by-id/nvme-CT1000P3PSSD8_2342444001E2";
            #reservedSpace = "3G";
            parts = {
              nix = true;
            };
            swap = {
              enable = true;
              size = "24G";
            };
          };
        };

        hardware = {
          bluetooth.enable = true;
          cpu.updateMicrocode = true;
          fprint.enable = true;
          fprint.disableOnLidClose = true;
          thunderbolt.enable = true;
          #quirks.thinkpad.enable = true;
          video.intel.enable = true;
        };

        presets = {
          base.enable = true;
          graphical.enable = true;
          graphical.type = "sway";
          void.enable = true;

          #networkManagerProfiles = {
          #  voidPhoneWifi.enable = true;
          #  voidHomeWifi.enable = true;
          #  zaphyraPhoneWifi.enable = true;
          #  zaphyraHomeWifi.enable = true;
          #  grogHomeWifi.enable = true;
          #  cccdaWifi = {
          #    enable = true;
          #    username = "zaphyra";
          #    envFile = config.sops.secrets."environments/networkManagerProfiles/cccdaWifi".path;
          #  };
          #};
        };

        services = {
          earlyoom.enable = true;
          greetd.autoLogin = {
            enable = true;
            user = "void";
          };
          systemd-oomd.enable = true;
        };

        programs = {
          #AusweisApp.enable = true;
          steam.enable = true;
          yubikey.enable = true;
        };

        users.void.enable = true;
      };

      networking = {
        useNetworkd = false;
        #hosts."127.0.0.1" = [ config.networking.fqdn ];
      };

      #      nixpkgs.overlays = [
      #        (self: super: { mesa = pkgs.callPackage inputs.self.resources.mesa {}; })
      #      ];

      programs.steam = {
        enable = true;
        remotePlay.openFirewall = true;
        localNetworkGameTransfers.openFirewall = true;
        gamescopeSession.enable = true;
        protontricks.enable = true;
      };

      services = {
        hardware.bolt.enable = true;
        resolved.enable = true;
        logind.settings.Login.HandlePowerKey = "hibernate";
        keyd = {
          enable = true;
          keyboards.builtin = {
            ids = [ "0001:0001" ];
            settings = {
              main = {
                capslock = "layer(shift)";
                leftshift = "capslock";
                rightcontrol = "layer(rightcontrol)";
              };
              rightcontrol = {
                q = "!";
                w = "@";
                e = "#";
                r = "$";
                t = "%";

                y = "^";
                u = "&";
                i = "*";
                o = "(";
                p = ")";
              };
            };
          };
        };
        printing.enable = true;
        avahi = {
          enable = true;
          nssmdns4 = true;
          publish.enable = true;
          publish.userServices = true;
        };
      };

      system.stateVersion = "25.11";
      home-manager.users.void.home.stateVersion = "25.11";
    };

}