Rewrite Rehoboam

This commit is contained in:
Matthieu Morin 2024-06-09 01:23:26 +00:00
parent cadb82328e
commit 5dba3da29f
1 changed files with 40 additions and 18 deletions

View File

@ -1,44 +1,57 @@
############################################################# #############################################################
# # ===========================================================
# Grief - Dev Lab # Rehoboam - DT1
# NixOS running on VirtualBox VM # Graphical, Dev, Tooling
# # ===========================================================
############################################################### #############################################################
{ inputs, configLib, ... }: { { inputs, configLib, ... }: {
imports = [ imports = [
#################### Every Host Needs This ####################
./hardware-configuration.nix
#################### Hardware Modules #################### #################### Hardware Modules ####################
inputs.hardware.nixosModules.common-cpu-amd inputs.hardware.nixosModules.common-cpu-amd
inputs.hardware.nixosModules.common-gpu-amd inputs.hardware.nixosModules.common-gpu-amd
inputs.hardware.nixosModules.common-pc-ssd 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 #################### #################### Required Configs ####################
./hardware-configuration.nix
(configLib.relativeToRoot "hosts/common/core") (configLib.relativeToRoot "hosts/common/core")
#################### Host-specific Optional Configs #################### #################### Host-specific Optional Configs ####################
(configLib.relativeToRoot "hosts/common/optional/yubikey") "hosts/common/optional/services/clamav.nix" # depends on optional/msmtp.nix
(configLib.relativeToRoot "hosts/common/optional/services/clamav.nix") # depends on optional/msmtp.nix "hosts/common/optional/msmtp.nix" # required for emailing clamav alerts
(configLib.relativeToRoot "hosts/common/optional/msmtp.nix") # required for emailing clamav alerts "hosts/common/optional/services/openssh.nix"
(configLib.relativeToRoot "hosts/common/optional/services/openssh.nix")
# Desktop # Desktop
(configLib.relativeToRoot "hosts/common/optional/services/greetd.nix") # display manager "hosts/common/optional/services/greetd.nix" # display manager
(configLib.relativeToRoot "hosts/common/optional/hyprland.nix") # window manager "hosts/common/optional/hyprland.nix" # window manager
#################### Users to Create #################### #################### Users to Create ####################
(configLib.relativeToRoot "hosts/common/users/sunzi") "hosts/common/users/sunzi"
(configLib.relativeToRoot "hosts/common/users/laozi") "hosts/common/users/laozi"
]);
];
# set custom autologin options. see greetd.nix for details # set custom autologin options. see greetd.nix for details
# TODO is there a better spot for this? # TODO is there a better spot for this?
autoLogin.enable = true; 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? # TODO enable and move to greetd area? may need authentication dir or something?
# services.pam.services.greetd.enableGnomeKeyring = true; # services.pam.services.greetd.enableGnomeKeyring = true;
@ -54,6 +67,15 @@
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
timeout = 3; 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 =================== # # ================ HYPRLAND =================== #