summaryrefslogtreecommitdiff
path: root/systems
diff options
context:
space:
mode:
Diffstat (limited to 'systems')
-rw-r--r--systems/ideapad-laptop/hardware.nix39
-rw-r--r--systems/ideapad-laptop/system.nix66
-rw-r--r--systems/nzxt-desktop/hardware.nix40
-rw-r--r--systems/nzxt-desktop/system.nix66
-rw-r--r--systems/prodesk-server/hardware.nix0
-rw-r--r--systems/prodesk-server/system.nix0
-rw-r--r--systems/steam-deck/system.nix71
7 files changed, 282 insertions, 0 deletions
diff --git a/systems/ideapad-laptop/hardware.nix b/systems/ideapad-laptop/hardware.nix
new file mode 100644
index 0000000..1065266
--- /dev/null
+++ b/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/systems/ideapad-laptop/system.nix b/systems/ideapad-laptop/system.nix
new file mode 100644
index 0000000..9067924
--- /dev/null
+++ b/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/systems/nzxt-desktop/hardware.nix b/systems/nzxt-desktop/hardware.nix
new file mode 100644
index 0000000..cf6f399
--- /dev/null
+++ b/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/systems/nzxt-desktop/system.nix b/systems/nzxt-desktop/system.nix
new file mode 100644
index 0000000..396eab6
--- /dev/null
+++ b/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/culsans-user-password.age;
+
+ users.users."culsans" = {
+ hashedPasswordFile = config.age.secrets.culsans-user-password.path;
+ isNormalUser = true;
+ description = "Culsans";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "audio"
+ "video"
+ "libvirtd"
+ ];
+ };
+
+ features = {
+ gui = {
+ apps = {
+ steam.enable = true;
+ vmware.enable = false;
+ };
+ 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/systems/prodesk-server/hardware.nix b/systems/prodesk-server/hardware.nix
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systems/prodesk-server/hardware.nix
diff --git a/systems/prodesk-server/system.nix b/systems/prodesk-server/system.nix
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systems/prodesk-server/system.nix
diff --git a/systems/steam-deck/system.nix b/systems/steam-deck/system.nix
new file mode 100644
index 0000000..515e0f2
--- /dev/null
+++ b/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";
+ };
+ };
+}