summaryrefslogtreecommitdiff
path: root/nixos/systems
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-09-02 10:48:21 -0400
committertriethyl <triethylammonium@pm.me>2025-09-02 10:48:21 -0400
commit31c316d19cd974bb81a5d6de62142ff24db1c78e (patch)
treecb941422c76cb8953830a8d58c8e14dca1a10319 /nixos/systems
parent1c21018347aa277caba74e554cb8d1b1e7fc6bed (diff)
reorganized directory structure
Diffstat (limited to 'nixos/systems')
-rw-r--r--nixos/systems/ideapad-laptop/hardware.nix39
-rw-r--r--nixos/systems/ideapad-laptop/system.nix66
-rw-r--r--nixos/systems/nzxt-desktop/hardware.nix40
-rw-r--r--nixos/systems/nzxt-desktop/system.nix66
-rw-r--r--nixos/systems/prodesk-server/hardware.nix0
-rw-r--r--nixos/systems/prodesk-server/system.nix0
-rw-r--r--nixos/systems/steam-deck/system.nix71
-rw-r--r--nixos/systems/thinkpad-laptop/hardware.nix39
-rw-r--r--nixos/systems/thinkpad-laptop/system.nix71
9 files changed, 392 insertions, 0 deletions
diff --git a/nixos/systems/ideapad-laptop/hardware.nix b/nixos/systems/ideapad-laptop/hardware.nix
new file mode 100644
index 0000000..1065266
--- /dev/null
+++ b/nixos/systems/ideapad-laptop/hardware.nix
@@ -0,0 +1,39 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = [ "xhci_pci" "vmd" "ahci" "nvme" "usb_storage" "sd_mod" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/dd1662e3-37b4-440b-b3b0-35b625474fb6";
+ fsType = "ext4";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/F073-F061";
+ fsType = "vfat";
+ };
+
+ swapDevices =
+ [ { device = "/dev/disk/by-uuid/9e96739b-9983-44fe-ab97-9b59e55aa942"; }
+ ];
+
+ # 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.wlp0s20f3.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/nixos/systems/ideapad-laptop/system.nix b/nixos/systems/ideapad-laptop/system.nix
new file mode 100644
index 0000000..9067924
--- /dev/null
+++ b/nixos/systems/ideapad-laptop/system.nix
@@ -0,0 +1,66 @@
+{config, ...}: {
+ imports = [./hardware.nix];
+
+ general-settings = {
+ hostname = "ideapad-laptop";
+ locale = "en_US.UTF-8";
+ timezone = "America/New_York";
+ stateVersion = "23.11";
+ };
+
+ age.secrets.lucas-user-password.file = ../../secrets/lucas-user-password.age;
+
+ users.users."lucas" = {
+ hashedPasswordFile = config.age.secrets.lucas-user-password.path;
+ isNormalUser = true;
+ description = "lucas";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "audio"
+ "video"
+ "libvirtd"
+ ];
+ };
+
+ features = {
+ gui = {
+ apps = {
+ steam.enable = true;
+ # vmware.enable = true;
+ };
+ desktops = {
+ niri.enable = true;
+ };
+ };
+ cli = {
+ shells.nushell.enable = true;
+ utils = {
+ nh = {
+ enable = true;
+ flake = "/home/lucas/Sync/setup";
+ };
+ };
+ };
+ services = {
+ core.systemd-boot.enable = true;
+ hardware = {
+ bluetooth.enable = true;
+ iwd.enable = true;
+ pipewire.enable = true;
+ };
+ extra = {
+ plymouth.enable = true;
+ sddm.enable = true;
+ syncthing-client = {
+ enable = true;
+ username = "lucas";
+ };
+ udisks2.enable = true;
+ };
+ bundles = {
+ printing.enable = true;
+ };
+ };
+ };
+}
diff --git a/nixos/systems/nzxt-desktop/hardware.nix b/nixos/systems/nzxt-desktop/hardware.nix
new file mode 100644
index 0000000..cf6f399
--- /dev/null
+++ b/nixos/systems/nzxt-desktop/hardware.nix
@@ -0,0 +1,40 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-amd" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/e9b15ba0-8bf2-4796-bfe8-abf90ffd51a0";
+ fsType = "ext4";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/1C6B-DB4F";
+ fsType = "vfat";
+ };
+
+ swapDevices =
+ [ { device = "/dev/disk/by-uuid/b231a0d9-6bec-45ab-ac69-e14089e858c4"; }
+ ];
+
+ # 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.enp42s0.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/nixos/systems/nzxt-desktop/system.nix b/nixos/systems/nzxt-desktop/system.nix
new file mode 100644
index 0000000..db42aa1
--- /dev/null
+++ b/nixos/systems/nzxt-desktop/system.nix
@@ -0,0 +1,66 @@
+{config, ...}: {
+ imports = [./hardware.nix];
+
+ general-settings = {
+ hostname = "nzxt-desktop";
+ locale = "en_US.UTF-8";
+ timezone = "America/New_York";
+ stateVersion = "23.11";
+ };
+
+ age.secrets.culsans-user-password.file = ../../secrets/user-passwords/nzxt-desktop/culsans.age;
+
+ users.users."culsans" = {
+ hashedPasswordFile = config.age.secrets.culsans-user-password.path;
+ isNormalUser = true;
+ description = "Culsans";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "audio"
+ "video"
+ "libvirtd" # VmWare User
+ "vboxusers" # Virtualbox user
+ ];
+ };
+
+ features = {
+ gui = {
+ apps = {
+ steam.enable = true;
+ };
+ desktops = {
+ niri.enable = true;
+ };
+ };
+ cli = {
+ shells.nushell.enable = true;
+ utils = {
+ nh = {
+ enable = true;
+ flake = "/home/culsans/Sync/setup";
+ };
+ };
+ };
+ services = {
+ core.systemd-boot.enable = true;
+ hardware = {
+ bluetooth.enable = true;
+ iwd.enable = true;
+ pipewire.enable = true;
+ };
+ extra = {
+ plymouth.enable = true;
+ sddm.enable = true;
+ syncthing-client = {
+ enable = true;
+ username = "culsans";
+ };
+ udisks2.enable = true;
+ };
+ bundles = {
+ printing.enable = true;
+ };
+ };
+ };
+}
diff --git a/nixos/systems/prodesk-server/hardware.nix b/nixos/systems/prodesk-server/hardware.nix
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nixos/systems/prodesk-server/hardware.nix
diff --git a/nixos/systems/prodesk-server/system.nix b/nixos/systems/prodesk-server/system.nix
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nixos/systems/prodesk-server/system.nix
diff --git a/nixos/systems/steam-deck/system.nix b/nixos/systems/steam-deck/system.nix
new file mode 100644
index 0000000..515e0f2
--- /dev/null
+++ b/nixos/systems/steam-deck/system.nix
@@ -0,0 +1,71 @@
+{
+ config,
+ inputs,
+ ...
+}: {
+ imports = [./hardware.nix inputs.jovian.nixosModules.jovian];
+
+ general-settings = {
+ hostname = "steam-deck";
+ locale = "en_US.UTF-8";
+ timezone = "America/New_York";
+ stateVersion = "25.05";
+ };
+
+ # age.secrets.culsans-user-password.file = ../../secrets/culsans-user-password.age;
+
+ users.users."culsans" = {
+ # hashedPasswordFile = config.age.secrets.culsans-user-password.path;
+ password = "hello";
+ isNormalUser = true;
+ description = "Culsans";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "audio"
+ "video"
+ "libvirtd"
+ ];
+ };
+
+ features = {
+ gui = {
+ apps = {};
+ desktops = {
+ niri.enable = true;
+ };
+ };
+ cli = {
+ shells.nushell.enable = true;
+ utils = {};
+ };
+ services = {
+ core.systemd-boot.enable = true;
+ hardware = {
+ bluetooth.enable = true;
+ networkmanager.enable = true;
+ pipewire.enable = true;
+ };
+ extra = {
+ syncthing-client = {
+ enable = true;
+ username = "culsans";
+ };
+ udisks2.enable = true;
+ };
+ bundles = {
+ printing.enable = true;
+ };
+ };
+ };
+
+ jovian = {
+ devices.steamdeck.enable = true;
+ steam = {
+ enable = true;
+ autoStart = true;
+ defaultSession = "niri";
+ user = "culsans";
+ };
+ };
+}
diff --git a/nixos/systems/thinkpad-laptop/hardware.nix b/nixos/systems/thinkpad-laptop/hardware.nix
new file mode 100644
index 0000000..b0470aa
--- /dev/null
+++ b/nixos/systems/thinkpad-laptop/hardware.nix
@@ -0,0 +1,39 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ config, lib, pkgs, modulesPath, ... }:
+
+{
+ imports =
+ [ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/56d54c43-c0bd-4cdc-b2e7-2e1abd16b904";
+ fsType = "ext4";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/3016-9300";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
+
+ swapDevices = [ ];
+
+ # 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.enp0s31f6.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/nixos/systems/thinkpad-laptop/system.nix b/nixos/systems/thinkpad-laptop/system.nix
new file mode 100644
index 0000000..f1d227f
--- /dev/null
+++ b/nixos/systems/thinkpad-laptop/system.nix
@@ -0,0 +1,71 @@
+{config, ...}: {
+ imports = [./hardware.nix];
+
+ general-settings = {
+ hostname = "thinkpad-laptop";
+ locale = "en_US.UTF-8";
+ timezone = "America/New_York";
+ stateVersion = "24.11";
+ };
+
+ age.secrets.user-passwords_thinkpad-laptop_lucas.file = ../../secrets/user-passwords/thinkpad-laptop/lucas.age;
+
+ users.users."lucas" = {
+ hashedPasswordFile = config.age.secrets.user-passwords_thinkpad-laptop_lucas.path;
+ isNormalUser = true;
+ description = "lucas";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "audio"
+ "video"
+ "libvirtd"
+ ];
+ };
+
+ features = {
+ gui = {
+ apps = {
+ steam.enable = true;
+ # vmware.enable = true;
+ };
+ desktops = {
+ niri.enable = true;
+ };
+ };
+ cli = {
+ shells.nushell.enable = true;
+ utils = {
+ nh = {
+ enable = true;
+ flake = "/home/lucas/Sync/setup";
+ };
+ };
+ };
+ services = {
+ core.systemd-boot.enable = true;
+ hardware = {
+ bluetooth.enable = true;
+ iwd.enable = true;
+ pipewire.enable = true;
+ };
+ extra = {
+ plymouth.enable = true;
+ sddm.enable = true;
+ syncthing-client = {
+ enable = true;
+ username = "lucas";
+ };
+ udisks2.enable = true;
+ };
+ bundles = {
+ printing.enable = true;
+ };
+ };
+ };
+ hardware.trackpoint = {
+ enable = true;
+ speed = 40;
+ sensitivity = 80;
+ };
+}