diff options
| author | scouckel <james.krinsky@gmail.com> | 2026-04-06 14:50:12 -0500 |
|---|---|---|
| committer | scouckel <james.krinsky@gmail.com> | 2026-04-06 14:50:12 -0500 |
| commit | ec5c9c604f6ace736e4b10417c8c92b0a8625625 (patch) | |
| tree | d6d428e6d7460c6c7b845ea7dbad650b000b3c35 | |
| parent | f2903b6e6450fe5d9526196920835e8006ca03fd (diff) | |
| parent | 7081451cc3183626af87221706ba94a697ae95db (diff) | |
Merge branch 'dendritic' of git.jckrinsky.net:nixosconf into dendritic
| -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 | ||||
| -rw-r--r-- | modules/packages/niri/hosts/tiamat.nix | 2 | ||||
| -rw-r--r-- | modules/packages/niri/hosts/vecna.nix | 60 | ||||
| -rw-r--r-- | modules/packages/niri/package.nix | 2 |
6 files changed, 173 insertions, 3 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..7deaf08 --- /dev/null +++ b/modules/hosts/vecna/vecna.nix @@ -0,0 +1,61 @@ +{ + inputs, + self, + ... +}: { + imports = [ + inputs.home-manager.flakeModules.home-manager + ]; + + flake.nixosConfigurations.vecna = inputs.nixpkgs.lib.nixosSystem { + modules = [ + self.nixosModules.vecna + self.nixosModules.vecnaHardware + + self.nixosModules.createHost + self.nixosModules.hostOptions + + self.nixosModules.vecnaNiri + 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 = { diff --git a/modules/packages/niri/hosts/tiamat.nix b/modules/packages/niri/hosts/tiamat.nix index 3fdf6aa..39113db 100644 --- a/modules/packages/niri/hosts/tiamat.nix +++ b/modules/packages/niri/hosts/tiamat.nix @@ -11,7 +11,7 @@ }: { programs.niri = { enable = true; - package = self.packages."x86_64-linux".tiamatNiri; + package = self.packages.${pkgs.stdenv.hostPlatform.system}.tiamatNiri; }; xdg.portal = { diff --git a/modules/packages/niri/hosts/vecna.nix b/modules/packages/niri/hosts/vecna.nix new file mode 100644 index 0000000..f90f53e --- /dev/null +++ b/modules/packages/niri/hosts/vecna.nix @@ -0,0 +1,60 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.vecnaNiri = { + pkgs, + lib, + config, + ... + }: { + programs.niri = { + enable = true; + package = self.packages.${pkgs.stdenv.hostPlatform.system}.vecnaNiri; + }; + + xdg.portal = { + enable = true; + extraPortals = [pkgs.xdg-desktop-portal-gtk]; + }; + + environment.systemPackages = [pkgs.wlr-randr]; + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.tuigreet}/bin/tuigreet --time --remember --asterisks --cmd niri"; + user = "jck"; + }; + }; + }; + }; + + perSystem = { + pkgs, + lib, + ... + }: { + packages.vecnaNiri = inputs.wrapper-modules.wrappers.niri.wrap { + inherit pkgs; + imports = [ + self.wrapperModules.niri + { + config.settings.extraConfig = '' + output "DP-3" { + mode "2660x1440@170.07100" + scale 1 + } + output "HDMI-A-1" { + mode "1920x1080@74.97300" + scale 1 + position x=-1920 y=150 + } + ''; + } + ]; + }; + }; +} diff --git a/modules/packages/niri/package.nix b/modules/packages/niri/package.nix index ad1144e..729d997 100644 --- a/modules/packages/niri/package.nix +++ b/modules/packages/niri/package.nix @@ -11,7 +11,7 @@ }: { programs.niri = { enable = true; - package = self.packages.${config.pkgs.stdenv.hostPlatform.system}.niri; + package = self.packages.${pkgs.stdenv.hostPlatform.system}.niri; }; xdg.portal = { |
