{ lib, config, pkgs, inputs, hostname, username, desktop, theme, hmStateVersion, ... }: { home = { inherit username; stateVersion = hmStateVersion; homeDirectory = "/home/${username}"; sessionPath = [ "$HOME/.local/bin" ]; pointerCursor = { gtk.enable = true; package = pkgs.catppuccin-cursors.mochaLight; name = "Catppuccin-Mocha-Light-Cursors"; size = 22; }; }; imports = [ # Common app configs - Will apply to all users managed by home-manager ./common/software/cli/bash.nix ./common/software/cli/btop.nix ./common/software/cli/git.nix ./common/software/cli/kitty.nix ./common/software/cli/neofetch.nix ./common/software/cli/neovim.nix ./common/software/cli/doom-emacs.nix ./common/software/cli/ranger.nix # User configs ./users/${username} ] ++ lib.optional (builtins.isString desktop) ./common/software/gui/firefox.nix ++ lib.optional (builtins.isString desktop) ./common/software/gui/thunderbird.nix ++ lib.optional (builtins.isString desktop) ./common/software/gui/vscodium.nix ++ 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 nixpkgs = { overlays = [ # Currently in use in the Firefox config inputs.nur.overlay ]; }; }