{ inputs, self, ... }: { flake.nixosModules.user = { pkgs, ... }: { imports = [ inputs.home-manager.nixosModules.home-manager ]; users.users."lucy" = { shell = pkgs.zsh; isNormalUser = true; description = "lucy"; extraGroups = [ "networkmanager" "wheel" ]; }; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.lucy = { config, lib, ... }: { home.username = "lucy"; home.homeDirectory = "/home/lucy"; home.stateVersion = "25.11"; home.activation.reloadQuickshell = lib.hm.dag.entryAfter [ "writeBoundary" ] '' qs=${lib.getExe' config.programs.quickshell.package "qs"} runtime_dir="''${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" if run --silence env XDG_RUNTIME_DIR="$runtime_dir" "$qs" ipc show; then run --silence env XDG_RUNTIME_DIR="$runtime_dir" "$qs" ipc call config reload || warnEcho "Quickshell is running, but 'qs ipc call config reload' failed" fi ''; }; home-manager.sharedModules = with self.homeModules; [ btop nixcord ghostty hermes niri emacs git stylix fuzzel quickshell spotify syncthing ]; }; }