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 { home-manager = builtins.fetchTarball {
url = "https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz"; 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"` # 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 in
{ {
@ -19,4 +19,3 @@ in
home-manager.extraSpecialArgs = { inherit settings; inherit ylib; inherit (inputs) ragenix; inherit (config) age; }; 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; enable = true;
}; };
imports = ylib.umport {
path = lib.fileset.maybeMissing ./by_hosts/${settings.system.hostname}/nix_modules;
recursive = true;
};
home-manager.users.${settings.user.username} = { home-manager.users.${settings.user.username} = {
imports = imports =
# Common settings all users share # Common settings all users share
[ (settings.usersDir + "/_common/home.nix") ] [ (settings.usersDir + "/_common/home.nix") ]
# Programs # Programs
++ ylib.umport { ++ ylib.umport {
path = ./programs; path = ./home_manager;
recursive = true; recursive = true;
} }
# Programs by host # Programs by host
++ ylib.umport { ++ ylib.umport {
path = lib.fileset.maybeMissing ./by_hosts/${settings.system.hostname}; path = lib.fileset.maybeMissing ./by_hosts/${settings.system.hostname}/home_manager;
recursive = true; recursive = true;
}; };
}; };