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
# 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,6 +67,15 @@
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 =================== #