summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscouckel <james.krinsky@gmail.com>2026-04-06 14:50:12 -0500
committerscouckel <james.krinsky@gmail.com>2026-04-06 14:50:12 -0500
commitec5c9c604f6ace736e4b10417c8c92b0a8625625 (patch)
treed6d428e6d7460c6c7b845ea7dbad650b000b3c35
parentf2903b6e6450fe5d9526196920835e8006ca03fd (diff)
parent7081451cc3183626af87221706ba94a697ae95db (diff)
Merge branch 'dendritic' of git.jckrinsky.net:nixosconf into dendritic
-rw-r--r--modules/hosts/vecna/hardware.nix49
-rw-r--r--modules/hosts/vecna/vecna.nix61
-rw-r--r--modules/nixosModules/desktop/tailscale.nix2
-rw-r--r--modules/packages/niri/hosts/tiamat.nix2
-rw-r--r--modules/packages/niri/hosts/vecna.nix60
-rw-r--r--modules/packages/niri/package.nix2
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 = {