############################################################# # =========================================================== # 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 ( configLib.relativeToRoot "systems/common/disks/jeroboam.nix") { _module.args = { disk = "/dev/nvme0n1"; withSwap = true; swapSize = "16"; }; } ] ++ (map configLib.relativeToRoot [ # = Required Configs #################### "systems/common/core" #################### Host-specific Configs #################### #"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 # Desktop #"systems/common/optional/services/greetd.nix" # display manager #"systems/common/optional/hyprland.nix" # window manager #################### Users to Create #################### #"systems/common/users/zhuangzi" "systems/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 = "laozi"; # 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"; }