diff --git a/container/aorus/default.nix b/container/aorus/default.nix new file mode 100644 index 0000000..6bf7f4e --- /dev/null +++ b/container/aorus/default.nix @@ -0,0 +1,17 @@ +{inputs, ...}: { + # ═══════════════════════════════════════════════════════════ + # IMPORTS LIST + # This returns a list of modules to be loaded for this host + # ═══════════════════════════════════════════════════════════ + imports = [ + inputs.nixos-hardware.nixosModules.common-cpu-amd + inputs.nixos-hardware.nixosModules.common-pc-ssd + ./hardware-configuration.nix + ./disko.nix + ]; + + # ═══════════════════════════════════════════════════════════ + # HOST-SPECIFIC CONFIGURATION + # Overrides and unique settings + # ═══════════════════════════════════════════════════════════ +} diff --git a/container/aorus/disko.nix b/container/aorus/disko.nix new file mode 100644 index 0000000..d013d7f --- /dev/null +++ b/container/aorus/disko.nix @@ -0,0 +1,75 @@ +{inputs, ...}: { + imports = [inputs.disko.nixosModules.disko]; + + # ═══════════════════════════════════════════════════════════ + # DISK LAYOUT VIA DISKO + # Creates: EFI partition → LUKS → Btrfs subvolumes (/@, /persist, /swap) + # Root (/) is tmpfs for impermanence + # ═══════════════════════════════════════════════════════════ + disko.devices = { + # Main Physical Disk + disk.main = { + content = { + partitions = { + # EFI System Partition + ESP = { + content = { + format = "vfat"; + mountOptions = ["umask=0077"]; + mountpoint = "/boot"; + type = "filesystem"; + }; + size = "512M"; + type = "EF00"; + }; + + # LUKS Encrypted Btrfs Container + luks = { + content = { + content = { + extraArgs = ["-f"]; # Force creation on existing data + subvolumes = { + # Nix Store (Rebuilt every install) + "@nix" = { + mountOptions = ["compress=zstd" "noatime"]; + mountpoint = "/nix"; + }; + + # Persistent User Data (Survives Reboots) + "@persist" = { + mountOptions = ["compress=zstd" "noatime"]; + mountpoint = "/persist"; + }; + + # Swap File (Inside Btrfs) + "@swap" = { + mountpoint = "/.swapvol"; + swap.swapfile.size = "16G"; + }; + }; + type = "btrfs"; + }; + name = "cryptroot"; + settings.allowDiscards = true; # SSD optimization + type = "luks"; + }; + size = "100%"; # Use remaining disk space + }; + }; + type = "gpt"; + }; + device = "/dev/nvme0n1"; + type = "disk"; + }; + + # Impermanent Root Filesystem (Tmpfs) + nodev."/" = { + fsType = "tmpfs"; + mountOptions = [ + "defaults" + "size=2G" + "mode=755" + ]; + }; + }; +} diff --git a/container/aorus/hardware-configuration.nix b/container/aorus/hardware-configuration.nix new file mode 100644 index 0000000..9b99b6e --- /dev/null +++ b/container/aorus/hardware-configuration.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + modulesPath, + ... +}: { + # Import base hardware scanning module + imports = [(modulesPath + "/installer/scan/not-detected.nix")]; + boot = { + extraModulePackages = []; + initrd = { + availableKernelModules = [ + "xhci_pci" + "ahci" + "nvme" + "usbhid" + "usb_storage" + "sr_mod" + ]; + kernelModules = []; + }; + kernelModules = ["kvm-amd"]; + }; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/container/aorus/theme.yaml b/container/aorus/theme.yaml new file mode 100644 index 0000000..16810e3 --- /dev/null +++ b/container/aorus/theme.yaml @@ -0,0 +1,21 @@ +system: "base16" +name: "Hardhacker" +author: "fe2-Nyxar, based on the https://github.com/hardhackerlabs" +variant: "dark" +palette: + base00: "#211e2a" + base01: "#2c2737" + base02: "#3f3951" + base03: "#6e6780" + base04: "#8a829e" + base05: "#e4dee9" + base06: "#f2e8f0" + base07: "#ffffff" + base08: "#e965a5" + base09: "#f4b870" + base0A: "#ebde76" + base0B: "#b1f2a7" + base0C: "#b3f4f3" + base0D: "#95a6f4" + base0E: "#ff79c6" + base0F: "#bd93f9" diff --git a/home/dev/repos.json b/home/dev/repos.json index 32322fe..0c1ae8c 100644 --- a/home/dev/repos.json +++ b/home/dev/repos.json @@ -23,6 +23,12 @@ "remotes": { "origin": "git@github.com:Ender-Development/Catalyx-Template.git" } + }, + { + "local": "java/endermodpacktweaks", + "remotes": { + "origin": "git@github.com:Ender-Development/EnderModpackTweaks.git" + } } ] }