diff options
| author | scouckel <james.krinsky@gmail.com> | 2026-04-05 20:07:31 -0500 |
|---|---|---|
| committer | scouckel <james.krinsky@gmail.com> | 2026-04-05 20:07:31 -0500 |
| commit | 0dbc9e586a8ff65373a8998a4f2bdae3b8e836e5 (patch) | |
| tree | 1182a8820f59693031d6362754dffb9115cf8df8 /modules | |
| parent | dd42457fd66328d1ac850498bba865c721db6075 (diff) | |
vecna
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/hosts/vecna/hardware.nix | 49 | ||||
| -rw-r--r-- | modules/hosts/vecna/vecna.nix | 61 | ||||
| -rw-r--r-- | modules/nixosModules/desktop/tailscale.nix | 2 |
3 files changed, 111 insertions, 1 deletions
diff --git a/modules/hosts/vecna/hardware.nix b/modules/hosts/vecna/hardware.nix new file mode 100644 index 0000000..79018ec --- /dev/null +++ b/modules/hosts/vecna/hardware.nix @@ -0,0 +1,49 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.vecnaHardware = { + config, + lib, + pkgs, + modulesPath, + ... + }: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/a87c306e-d9dd-4c49-895b-b4245c4b13b8"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/3784-AD60"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; + + swapDevices = [ + {device = "/dev/disk/by-uuid/079d90c1-cf47-4684-9d73-20fa7c3bfb80";} + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.eno1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp11s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + }; +} diff --git a/modules/hosts/vecna/vecna.nix b/modules/hosts/vecna/vecna.nix new file mode 100644 index 0000000..939be5d --- /dev/null +++ b/modules/hosts/vecna/vecna.nix @@ -0,0 +1,61 @@ +{ + inputs, + self, + ... +}: { + imports = [ + inputs.home-manager.flakeModules.home-manager + ]; + + flake.nixosConfigurations.tiamat = inputs.nixpkgs.lib.nixosSystem { + modules = [ + self.nixosModules.vecna + self.nixosModules.vecnaHardware + + self.nixosModules.createHost + self.nixosModules.hostOptions + + self.nixosModules.niri + self.nixosModules.desktop + self.nixosModules.nasClient + ]; + }; + + flake.nixosModules.vecna = {pkgs, ...}: { + hostOptions = { + host.name = "vecna"; + user.name = "jck"; + user.email = "jckrinsky@gmail.com"; + }; + + boot.kernelParams = ["quiet"]; + + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = with pkgs; [ + rocmPackages.clr.icd + libva + ]; + }; + + boot.initrd.kernelModules = ["amdgpu"]; + hardware.amdgpu.overdrive.enable = true; + environment.systemPackages = with pkgs; [lact]; + systemd.packages = with pkgs; [lact]; + systemd.services.lactd.wantedBy = ["multi-user.target"]; + services.xserver.videoDrivers = ["amdgpu"]; + + hardware.cpu.amd.updateMicrocode = true; + zramSwap = { + enable = true; + priority = 100; + algorithm = "lz4"; + memoryPercent = 32; + }; + + networking.nameservers = ["1.1.1.1" "9.9.9.9"]; + + time.timeZone = "US/Central"; + }; +} diff --git a/modules/nixosModules/desktop/tailscale.nix b/modules/nixosModules/desktop/tailscale.nix index a9d2968..b070ffa 100644 --- a/modules/nixosModules/desktop/tailscale.nix +++ b/modules/nixosModules/desktop/tailscale.nix @@ -4,7 +4,7 @@ enable = true; useRoutingFeatures = "client"; openFirewall = true; - extraUpFlags = [ "--accept-dns=false" ]; + extraUpFlags = ["--accept-dns=false"]; }; networking.firewall = { |
