Update a lot of options, simplify variables, replace options with tags

This commit is contained in:
Bun 2025-06-04 16:12:08 -04:00
parent dbc0ab6dd3
commit 7667ef9a1b
147 changed files with 663 additions and 928 deletions

View file

@ -1,19 +0,0 @@
{ config, lib, pkgs, ... }:
{
users.users."freecorn" = lib.mkIf config.system.extraUsers.enable {
isNormalUser = true;
createHome = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBCADciME1/rtWOlR2BxaAkRSgIZt61SYOgjTi6hw+yS Chinook"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICtoHVAmq8Ps7EguBsV3VY4snagzkhH6aXqwbKzuGs2H Radiant"
];
extraGroups = [
"audio"
"video"
];
uid = 1001;
shell = pkgs.zsh;
};
environment.persistence."/persist".directories = [ "/home/freecorn" ];
}

View file

@ -1,6 +1,8 @@
{ lib, ... }:
{ ... }:
{
imports = [ ./main ];
options.system.extraUsers.enable = lib.mkEnableOption "Enable a shared system";
imports = [
./freecorn
./luna
./main
];
}

View file

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
let
user = "freecorn";
in {
config = lib.mkIf (builtins.elem "extra-users" config.system.nixos.tags) {
users.users.${user} = {
isNormalUser = true;
createHome = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBCADciME1/rtWOlR2BxaAkRSgIZt61SYOgjTi6hw+yS Chinook"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICtoHVAmq8Ps7EguBsV3VY4snagzkhH6aXqwbKzuGs2H Radiant"
];
shell = pkgs.zsh;
uid = 1001;
};
environment.persistence."/persist".directories = [ "/home/${user}" ];
};
}

View file

@ -1,17 +1,17 @@
{ config, lib, ... }:
{
users.users."luna" = lib.mkIf config.system.extraUsers.enable {
isNormalUser = true;
createHome = true;
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDJ3hzXkv5MVuGZy4HqfEZD0Ck7ZKiLeVmUTFzGSwZkumCpwX/zirD/tY4SNutPczhhYNn1jwkwnnyCwgkaQ7QWBs72G0opmjXDcSqxXJskSKYgjnUHoPV8uAcMwp5C5GNlwo3DFKXc1c7Sipy1s6y9ZnoKfVmjsr0AhamnC/bHEWg8vx0zuamCzvQ5vLWfpULRKwj286f0s2xaAvYaAJwGD0QMHC0ylFYZuq7Og4HVdlnUt+40BxCi+GAQqsFd4vM+RFjZKKD7ioP5DcIDfvfvxX4UpdKtCxVjeyyF+UJpFnQKytO9HvH4H+CRSAuJ+Vguiq/F3lGhvF0yIQ9M2MD3+tl3RZAj4D6n2ew30mn+QGh2fZgC7Utuzo02pMVUzkpm+mM4x8VyESpC1AuBdh0TAKBwS3ubMpegiCWCfIbNC0CQ/zgIq/5xwhXL8zhmfQrIiULBCd1xqThye0tt7knoPZlVCzOuVYoqxYnwYYGcXhzlArrmgRquyMYHdpFd+DTzJfcQIGdT4a+s0Mc2jRa0KT3A4ZrjziP0OPMQ+cpTd1tmQdEKXN6YhB87Hp9meCefFdzGvVembose82d3BOl45+rWM2ZcH93fNguWwYX0ez8+GiGW4P+gDQcfWfQCNa1daDjgoBwjmbG5rYoS6tfLxSSvYB1YOOK9U3AlPxEuTw== luna@ThinkPad-T480-Arch"
];
extraGroups = [
"audio"
"video"
];
uid = 1002;
};
let
user = "luna";
in {
config = lib.mkIf (builtins.elem "extra-users" config.system.nixos.tags) {
users.users.${user} = {
isNormalUser = true;
createHome = true;
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDJ3hzXkv5MVuGZy4HqfEZD0Ck7ZKiLeVmUTFzGSwZkumCpwX/zirD/tY4SNutPczhhYNn1jwkwnnyCwgkaQ7QWBs72G0opmjXDcSqxXJskSKYgjnUHoPV8uAcMwp5C5GNlwo3DFKXc1c7Sipy1s6y9ZnoKfVmjsr0AhamnC/bHEWg8vx0zuamCzvQ5vLWfpULRKwj286f0s2xaAvYaAJwGD0QMHC0ylFYZuq7Og4HVdlnUt+40BxCi+GAQqsFd4vM+RFjZKKD7ioP5DcIDfvfvxX4UpdKtCxVjeyyF+UJpFnQKytO9HvH4H+CRSAuJ+Vguiq/F3lGhvF0yIQ9M2MD3+tl3RZAj4D6n2ew30mn+QGh2fZgC7Utuzo02pMVUzkpm+mM4x8VyESpC1AuBdh0TAKBwS3ubMpegiCWCfIbNC0CQ/zgIq/5xwhXL8zhmfQrIiULBCd1xqThye0tt7knoPZlVCzOuVYoqxYnwYYGcXhzlArrmgRquyMYHdpFd+DTzJfcQIGdT4a+s0Mc2jRa0KT3A4ZrjziP0OPMQ+cpTd1tmQdEKXN6YhB87Hp9meCefFdzGvVembose82d3BOl45+rWM2ZcH93fNguWwYX0ez8+GiGW4P+gDQcfWfQCNa1daDjgoBwjmbG5rYoS6tfLxSSvYB1YOOK9U3AlPxEuTw== ${user}@ThinkPad-T480-Arch"
];
uid = 1002;
};
environment.persistence."/persist".directories = [ "/home/luna" ];
environment.persistence."/persist".directories = [ "/home/${user}" ];
};
}

View file

@ -1,56 +1,48 @@
{ config, lib, pkgs, ... }:
{
options.sysusers = lib.mkOption {
type = lib.types.attrs;
users.users."${config.vars.mainUser}" = {
isNormalUser = true;
createHome = true;
linger = true;
hashedPassword = config.secrets.accPass.main;
openssh.authorizedKeys.keyFiles = [
../../../../hosts/tower/id_ed25519.pub
../../../../hosts/detritus/id_ed25519.pub
../../../../hosts/intuos/id_ed25519.pub
../../../../hosts/jupiter/id_ed25519.pub
../../../../hosts/midas/id_ed25519.pub
../../../../hosts/kitty/id_ed25519.pub
../../../../hosts/prophet/id_ed25519.pub
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN3B9Uf3h5JiD2HjF/vQ5Zx9pibMgRrlf7ZoBktev9eB Warden"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahAoF74BY6GCTsFkt1ADKaraFgJJozW1Y1aBTLK0j9 Pixel9"
];
extraGroups = [
"wheel"
"audio"
"input"
"render"
"video"
"dialout"
"disk"
"rtkit"
"kvm"
"libvirtd"
"qemu-libvirtd"
"minecraft"
"nfsShare"
"nginx"
];
shell = pkgs.zsh;
uid = 1000;
};
config = {
sysusers.main = "bun";
users.users."${config.sysusers.main}" = {
isNormalUser = true;
createHome = true;
linger = true;
hashedPassword = config.secrets.accPass.main;
openssh.authorizedKeys.keyFiles = [
../../../../hosts/tower/id_ed25519.pub
../../../../hosts/detritus/id_ed25519.pub
../../../../hosts/intuos/id_ed25519.pub
../../../../hosts/jupiter/id_ed25519.pub
../../../../hosts/midas/id_ed25519.pub
../../../../hosts/kitty/id_ed25519.pub
../../../../hosts/prophet/id_ed25519.pub
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN3B9Uf3h5JiD2HjF/vQ5Zx9pibMgRrlf7ZoBktev9eB Warden"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahAoF74BY6GCTsFkt1ADKaraFgJJozW1Y1aBTLK0j9 Pixel9"
];
extraGroups = [
"wheel"
"audio"
"input"
"render"
"video"
"dialout"
"disk"
"rtkit"
"kvm"
"libvirtd"
"qemu-libvirtd"
"minecraft"
"nfsShare"
"nginx"
];
uid = 1000;
shell = pkgs.zsh;
};
home-manager.users."${config.sysusers.main}" = import ../../../home;
};
home-manager.users."${config.vars.mainUser}" = import ../../../home;
}