{ lib, config, pkgs, inputs, hostname, system, username, desktop, theme, hmStateVersion, ... }: { imports = [ # Common configs ./common/software/cli/bash.nix ./common/software/cli/git.nix ./common/software/cli/nixvim-base.nix ./common/software/cli/ssh.nix ./common/software/cli/btop.nix # User configs ./users/${username} # Theming inputs.stylix.homeManagerModules.stylix ../stylix/${theme} ] ++ 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" ]; }; nixpkgs = { overlays = [ # Currently in use in the Firefox config inputs.nur.overlay ]; }; }