nixos/parts/modules/base/user.nix

35 lines
746 B
Nix
Raw Normal View History

2025-01-31 15:13:22 +01:00
{
config,
lib,
options,
...
}:
with lib; let
cfg = config.user;
in {
options.user = {
username = mkOption {
type = types.str;
description = "The username of the user";
};
home-manager = mkOption {
type = options.home-manager.users.type.functor.wrapped;
};
};
config = {
users.users.${cfg.username} = {
isNormalUser = true;
extraGroups = ["wheel"];
2025-02-03 07:55:17 +01:00
hashedPasswordFile = config.age.secrets.hashed-user-password.path;
2025-01-31 15:13:22 +01:00
};
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
};
home-manager.users.${cfg.username} = mkAliasDefinitions options.user.home-manager;
user.home-manager.home.stateVersion = config.system.stateVersion;
};
}