per host nix modules by user

This commit is contained in:
ringofstorms 2024-04-07 12:54:35 -05:00
parent 8975b5cc3c
commit 5291ac3b47
26 changed files with 23 additions and 4 deletions

View file

@ -3,7 +3,7 @@ let
home-manager = builtins.fetchTarball {
url = "https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz";
# to get hash run `nix-prefetch-url --unpack "https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz"`
sha256 = "0g51f2hz13dk953i501fmc6935difhz60741nypaqwz127hy5ldk";
sha256 = "0r19x4n1wlsr9i3w4rlc4jc5azhv2yq1n3qb624p0dhhwfj3c3vl";
};
in
{
@ -19,4 +19,3 @@ in
home-manager.extraSpecialArgs = { inherit settings; inherit ylib; inherit (inputs) ragenix; inherit (config) age; };
}

View file

@ -0,0 +1,15 @@
{ pkgs, settings, ... }:
{
security.sudo.extraRules = [
{
users = [ settings.user.username ];
commands = [
{
command = "ALL";
options = [ "NOPASSWD" ];
}
];
}
];
}

View file

View file

View file

@ -13,18 +13,23 @@
enable = true;
};
imports = ylib.umport {
path = lib.fileset.maybeMissing ./by_hosts/${settings.system.hostname}/nix_modules;
recursive = true;
};
home-manager.users.${settings.user.username} = {
imports =
# Common settings all users share
[ (settings.usersDir + "/_common/home.nix") ]
# Programs
++ ylib.umport {
path = ./programs;
path = ./home_manager;
recursive = true;
}
# Programs by host
++ ylib.umport {
path = lib.fileset.maybeMissing ./by_hosts/${settings.system.hostname};
path = lib.fileset.maybeMissing ./by_hosts/${settings.system.hostname}/home_manager;
recursive = true;
};
};