diff --git a/systems/rehoboam/default.nix b/systems/rehoboam/default.nix index dbfc4d8..f999918 100644 --- a/systems/rehoboam/default.nix +++ b/systems/rehoboam/default.nix @@ -1,44 +1,57 @@ ############################################################# -# -# Grief - Dev Lab -# NixOS running on VirtualBox VM -# -############################################################### +# =========================================================== +# Rehoboam - DT1 +# Graphical, Dev, Tooling +# =========================================================== +############################################################# { inputs, configLib, ... }: { imports = [ + #################### Every Host Needs This #################### + ./hardware-configuration.nix + #################### Hardware Modules #################### inputs.hardware.nixosModules.common-cpu-amd inputs.hardware.nixosModules.common-gpu-amd inputs.hardware.nixosModules.common-pc-ssd + #################### Disk Layout #################### + inputs.disko.nixosModules.disko + (configLib.relativeToRoot "hosts/common/disks/rehoboam.nix") + { + _module.args = { + disk = "/dev/vda"; + withSwap = false; + }; + } + ] + ++ (map configLib.relativeToRoot [ #################### Required Configs #################### - ./hardware-configuration.nix (configLib.relativeToRoot "hosts/common/core") #################### Host-specific Optional Configs #################### - (configLib.relativeToRoot "hosts/common/optional/yubikey") - (configLib.relativeToRoot "hosts/common/optional/services/clamav.nix") # depends on optional/msmtp.nix - (configLib.relativeToRoot "hosts/common/optional/msmtp.nix") # required for emailing clamav alerts - (configLib.relativeToRoot "hosts/common/optional/services/openssh.nix") + "hosts/common/optional/services/clamav.nix" # depends on optional/msmtp.nix + "hosts/common/optional/msmtp.nix" # required for emailing clamav alerts + "hosts/common/optional/services/openssh.nix" # Desktop - (configLib.relativeToRoot "hosts/common/optional/services/greetd.nix") # display manager - (configLib.relativeToRoot "hosts/common/optional/hyprland.nix") # window manager + "hosts/common/optional/services/greetd.nix" # display manager + "hosts/common/optional/hyprland.nix" # window manager #################### Users to Create #################### - (configLib.relativeToRoot "hosts/common/users/sunzi") - (configLib.relativeToRoot "hosts/common/users/laozi") + "hosts/common/users/sunzi" + "hosts/common/users/laozi" + + ]); - ]; # set custom autologin options. see greetd.nix for details # TODO is there a better spot for this? autoLogin.enable = true; - autoLogin.username = "sunzi"; + autoLogin.username = "laozi"; - services.gnome.gnome-keyring.enable = true; + # services.gnome.gnome-keyring.enable = true; # TODO enable and move to greetd area? may need authentication dir or something? # services.pam.services.greetd.enableGnomeKeyring = true; @@ -54,8 +67,17 @@ efi.canTouchEfiVariables = true; timeout = 3; }; + initrd = { + systemd.enable = true; # tpm2 unlock requires systemd initrd + luks.devices."cryptroot" = { + allowDiscards = true; + bypassWorkqueues = true; + device = "/dev/nvme0n1p2"; + crypttabExtraOpts = [ "tpm2-device=auto" ]; # tpm2 unlock + }; + }; }; - + # ================ HYPRLAND =================== # environment.sessionVariables = { # hack to get the cursor to become visible