{ lib, inputs, hostname, username, desktop, hmStateVersion, ... }: { imports = [ # Common configs # ./common/software/cli/bash.nix ./common/software/cli/fish.nix ./common/software/cli/git.nix ./common/software/cli/nixvim/base.nix ./common/software/cli/ssh.nix ./common/software/cli/btop.nix ./common/software/cli/starship.nix ./common/software/cli/tmux.nix ./common/software/cli/atuin.nix # User configs ./users/${username} # Theming inputs.stylix.homeManagerModules.stylix ../stylix # Secrets inputs.sops-nix.homeManagerModules.sops ] ++ 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 ; news.display = "silent"; home = { inherit username; stateVersion = hmStateVersion; homeDirectory = "/home/${username}"; sessionPath = [ "$HOME/.local/bin" ]; }; nixpkgs = { overlays = [ # Currently in use in the Firefox config inputs.nur.overlay ]; }; }