nixos/modules/system/core/user.nix
2026-10-26 10:48:34 +01:00

47 lines
1.3 KiB
Nix

{ 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
];
};
}