nix-config/systems/jeroboam/default.nix

110 lines
3.6 KiB
Nix
Raw Normal View History

2024-06-19 13:08:02 +00:00
#############################################################
# ===========================================================
# Rehoboam - LT1
# Simple, Dev
# ===========================================================
#############################################################
{ inputs, configLib, ... }:
{
imports = [
# ================= Every Host Needs This ==================== #
2024-06-19 13:08:02 +00:00
./hardware-configuration.nix
# ==================== Hardware Modules ====================== #
2024-06-19 13:08:02 +00:00
inputs.hardware.nixosModules.common-cpu-amd
inputs.hardware.nixosModules.common-gpu-amd
inputs.hardware.nixosModules.common-pc-ssd
# ====================== Disk Layout ========================= #
2024-06-19 13:08:02 +00:00
inputs.disko.nixosModules.disko
( configLib.relativeToRoot "systems/common/disks/jeroboam.nix")
2024-06-19 13:08:02 +00:00
{
_module.args = {
disk = "/dev/nvme0n1";
withSwap = true;
swapSize = "16";
};
}
# ======================= Themeing ========================== #
inputs.stylix.nixosModules.stylix
2024-06-19 13:08:02 +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/initrd_luks.nix" # luks encryption with pass only
# ------------------------ Desktop --------------------------- #
2024-06-20 20:21:10 +00:00
#"systems/common/optional/services/greetd.nix" # display manager
#"systems/common/optional/hyprland.nix" # window manager
# ---------------------- 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
# ---------------------- Themeing ----------------------------- #
"systems/common/optional/stylix.nix"
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";
}