sneeuwvlok/lib/user.nix

35 lines
967 B
Nix

{ lib, ... }: let
inherit (builtins) baseNameOf;
inherit (lib.attrsets) filterAttrs;
inherit (lib.strings) removeSuffix;
inherit (lib.my) mapModulesRec';
in rec
{
mkSysUser = path: let
user = {
full_name = "TODO";
is_trusted = true;
};
name = removeSuffix ".nix" (baseNameOf path);
in
{
inherit name;
description = user.full_name;
extraGroups = (user.groups or []) ++ (if user.is_trusted then [ "wheel" ] else []);
isNormalUser = true;
initialPassword = "kaas";
home = "/home/${name}";
group = "users";
};
mkHmUser = path: args@{stateVersion, ...}: let
name = removeSuffix ".nix" (baseNameOf path);
in
{
# imports = (mapModulesRec' ../modules/home (file: import file (args // { user = name; })));
home = {
inherit stateVersion;
sessionPath = [ "$SNEEUWVLOK_BIN" "$XDG_BIN_HOME" "$PATH" ]; # Pretty sure I don't need this.
};
};
}