{ config, pkgs, inputs, lib, ... }: let palettes = import ../../assets/themes/nomarchy-palettes.nix; userPackagesFile = "${config.home.homeDirectory}/.config/home-manager/user-packages.json"; userPackages = if builtins.pathExists userPackagesFile then let pkgNames = builtins.fromJSON (builtins.readFile userPackagesFile); # Filter to only packages that exist in pkgs to prevent build failures validPkgs = builtins.filter (name: builtins.hasAttr name pkgs) pkgNames; in builtins.map (name: pkgs.${name}) validPkgs else []; in { imports = [ inputs.nix-colors.homeManagerModules.default inputs.walker.homeManagerModules.default ./options.nix ./state.nix ./theme-files.nix ./fonts.nix ./alacritty.nix ./nightlight.nix ./idle.nix ./stylix.nix ./hyprland.nix ./waybar.nix ./walker.nix ./theme-switcher.nix ./scripts.nix ./configs.nix ./swayosd.nix ]; colorScheme = lib.mkDefault (palettes.${config.nomarchy.theme} or palettes.nord); home.packages = lib.mkDefault (with pkgs; [ firefox xfce.thunar imv mpv neovim wl-clipboard grim slurp brightnessctl playerctl pamixer mise jq xmlstarlet yaru-theme bibata-cursors nerd-fonts.jetbrains-mono nerd-fonts.roboto-mono nerd-fonts.fira-code nerd-fonts.ubuntu-mono ] ++ userPackages); home.shellAliases = lib.mkDefault { sys-update = "sudo nixos-rebuild switch --flake /etc/nixos#default --impure"; env-update = "nomarchy-preflight-migration && home-manager switch --flake /etc/nixos#default --impure"; }; }