2024-03-12 18:28:24 +00:00
|
|
|
{ pkgs
|
|
|
|
, stdenv
|
|
|
|
, home-manager
|
|
|
|
, mkHomeRole
|
|
|
|
, ...
|
|
|
|
}:
|
2021-10-13 13:29:07 +01:00
|
|
|
|
|
|
|
{
|
2021-11-25 11:42:32 +00:00
|
|
|
mkUser = { name, roles ? [ ] }:
|
|
|
|
let
|
2023-02-14 20:14:30 +00:00
|
|
|
roles_mod = (map (r: mkHomeRole r) roles);
|
2023-02-11 02:29:48 +00:00
|
|
|
in
|
|
|
|
{
|
2021-11-25 11:42:32 +00:00
|
|
|
fileSystems."/home/${name}/Downloads" = {
|
|
|
|
device = "tmpfs";
|
|
|
|
fsType = "tmpfs";
|
|
|
|
options = [ "size=3G" ];
|
|
|
|
};
|
2021-10-13 13:29:07 +01:00
|
|
|
|
2023-05-28 21:45:49 +01:00
|
|
|
users = {
|
|
|
|
users.${name} = {
|
|
|
|
isNormalUser = name != "root";
|
|
|
|
extraGroups = [ "wheel" "plugdev" ];
|
2023-09-23 18:33:18 +01:00
|
|
|
shell = pkgs.zsh;
|
2023-05-28 21:45:49 +01:00
|
|
|
};
|
2021-11-25 11:42:32 +00:00
|
|
|
};
|
2022-10-13 23:41:18 +01:00
|
|
|
|
2023-09-23 18:33:18 +01:00
|
|
|
programs.zsh.enable = true;
|
2023-05-28 21:45:49 +01:00
|
|
|
|
|
|
|
home-manager.users.${name}.imports = [
|
|
|
|
(mkHomeRole "common")
|
2023-09-23 18:33:18 +01:00
|
|
|
(mkHomeRole "zsh")
|
2024-05-27 13:39:39 +01:00
|
|
|
(mkHomeRole "aichat")
|
2023-05-28 21:45:49 +01:00
|
|
|
] ++ roles_mod;
|
2022-10-13 23:41:18 +01:00
|
|
|
};
|
|
|
|
|
2023-02-14 20:14:30 +00:00
|
|
|
mkHMUser = { name, roles ? [ ] }:
|
2022-10-13 23:41:18 +01:00
|
|
|
let
|
2023-02-14 20:14:30 +00:00
|
|
|
roles_mod = (map (r: mkHomeRole r) roles);
|
2023-02-11 02:29:48 +00:00
|
|
|
in
|
|
|
|
home-manager.lib.homeManagerConfiguration {
|
2022-10-13 23:41:18 +01:00
|
|
|
inherit pkgs;
|
|
|
|
modules = [
|
|
|
|
{
|
|
|
|
home = {
|
|
|
|
username = name;
|
|
|
|
homeDirectory =
|
2023-12-02 17:41:15 +00:00
|
|
|
if stdenv.isLinux then "/home/${name}" else "/Users/${name}";
|
2022-10-13 23:41:18 +01:00
|
|
|
};
|
|
|
|
}
|
2023-02-14 20:14:30 +00:00
|
|
|
(mkHomeRole "common")
|
2024-05-27 14:24:24 +01:00
|
|
|
(mkHomeRole "aichat")
|
2022-10-13 23:41:18 +01:00
|
|
|
] ++ roles_mod;
|
2021-11-25 11:42:32 +00:00
|
|
|
};
|
2021-10-13 13:29:07 +01:00
|
|
|
}
|