{ lib, inputs, hostname, username, desktop, hmStateVersion, ... }: { imports = [ # Common configs ./common/software/cli # User configs ./users/${username} # Theming inputs.stylix.homeManagerModules.stylix ../stylix ] ++ lib.optional (builtins.isString desktop) ./common/software/gui # GUI packages ++ lib.optional (builtins.isString desktop) ./common/desktops/${desktop} # Machine-agnostic desktop configs ++ lib.optional (builtins.isString desktop) ./hosts/${hostname}/desktops/${desktop} # Machine-specific desktop configs ; home = { inherit username; stateVersion = hmStateVersion; homeDirectory = "/home/${username}"; sessionPath = [ "$HOME/.local/bin" ]; news.display = "silent"; nix.gc = { automatic = true; frequency = "daily"; options = "--delete-older-than 30d"; }; }; nixpkgs = { overlays = [ # Currently in use in the Firefox config inputs.nur.overlay ]; }; }