2024-06-19 13:08:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
#############################################################
|
|
|
|
# ===========================================================
|
|
|
|
# Rehoboam - LT1
|
|
|
|
# Simple, Dev
|
|
|
|
# ===========================================================
|
|
|
|
#############################################################
|
|
|
|
|
|
|
|
{ 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
|
2024-07-17 21:58:52 +00:00
|
|
|
( configLib.relativeToRoot "systems/common/disks/jeroboam.nix")
|
2024-06-19 13:08:02 +00:00
|
|
|
{
|
|
|
|
_module.args = {
|
|
|
|
disk = "/dev/nvme0n1";
|
|
|
|
withSwap = true;
|
|
|
|
swapSize = "16";
|
|
|
|
};
|
|
|
|
}
|
|
|
|
]
|
2024-07-17 21:58:52 +00:00
|
|
|
++ (map configLib.relativeToRoot [
|
2024-06-19 13:08:02 +00:00
|
|
|
# = Required Configs ####################
|
2024-06-20 20:21:10 +00:00
|
|
|
"systems/common/core"
|
2024-06-19 13:08:02 +00:00
|
|
|
|
|
|
|
#################### Host-specific Configs ####################
|
2024-06-20 20:21:10 +00:00
|
|
|
#"systems/common/optional/services/clamav.nix" # depends on optional/msmtp.nix
|
|
|
|
#"systems/common/optional/msmtp.nix" # required for emailing clamav alerts
|
|
|
|
#"systems/common/optional/services/openssh.nix" # allow remote ssh
|
|
|
|
"systems/common/optional/pipewire.nix" # audio
|
|
|
|
"systems/common/optional/boot/systemd_boot.nix" # systemd boot on
|
|
|
|
"systems/common/optional/boot/loud_boot.nix" # for testing, otherwise quiet_boot.nix
|
|
|
|
#"systems/common/optional/boot/quiet_boot.nix" # with plymouth pretty custom load sequence
|
|
|
|
"systems/common/optional/boot/btrfs_swap.nix" # BTRFS support
|
|
|
|
"systems/common/optional/boot/initrd_luks.nix" # luks encryption with pass only
|
2024-06-19 13:08:02 +00:00
|
|
|
# Desktop
|
2024-06-20 20:21:10 +00:00
|
|
|
#"systems/common/optional/services/greetd.nix" # display manager
|
|
|
|
#"systems/common/optional/hyprland.nix" # window manager
|
2024-06-19 13:08:02 +00:00
|
|
|
#################### Users to Create ####################
|
2024-06-20 20:21:10 +00:00
|
|
|
#"systems/common/users/zhuangzi"
|
|
|
|
"systems/common/users/laozi"
|
2024-06-19 13:08:02 +00:00
|
|
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
# set custom autologin options. see greetd.nix for details
|
|
|
|
# TODO is there a better spot for this?
|
2024-07-18 09:05:50 +00:00
|
|
|
#autoLogin.enable = true;
|
|
|
|
#autoLogin.username = "laozi";
|
2024-06-19 13:08:02 +00:00
|
|
|
|
|
|
|
# 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;
|
|
|
|
|
|
|
|
networking = {
|
|
|
|
hostName = "jeroboam";
|
|
|
|
# wireless.enable = true;
|
|
|
|
networkmanager.enable = true;
|
|
|
|
enableIPv6 = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
# ================ HYPRLAND =================== #
|
|
|
|
environment.sessionVariables = {
|
|
|
|
# hack to get the cursor to become visible
|
|
|
|
WLR_NO_HARDWARE_CURSORS = "1";
|
|
|
|
# WLR_RENDERER_ALLOW_SOFTWARE = "1";
|
|
|
|
# WLR_DRM_DEVICES = "1";
|
|
|
|
|
|
|
|
# Hint electron apps to use wayland
|
|
|
|
NIXOS_OZONE_WL = "1";
|
|
|
|
};
|
|
|
|
|
|
|
|
# TODO Hyprland
|
|
|
|
#programs.hyprland = {
|
|
|
|
#enable = true;
|
|
|
|
#nvidiaPatches = false;
|
|
|
|
#xwayland.enable = true;
|
|
|
|
#};
|
|
|
|
|
|
|
|
hardware = {
|
|
|
|
# Opengl
|
|
|
|
opengl.enable = true;
|
|
|
|
|
|
|
|
# Most wayland compositors need this
|
|
|
|
nvidia.modesetting.enable = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Fix to enable VSCode to successfully remote SSH on a client to a NixOS host
|
|
|
|
# https://nixos.wiki/wiki/Visual_Studio_Code # Remote_SSH
|
|
|
|
# programs.nix-ld.enable = true;
|
|
|
|
|
|
|
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
}
|