System, dynamic users for host, removes user.name

adds a new specialArg to hosts: usernameList, which is a list of users
determined through user/user.nix in the host/hostname dir.

This touches syncthing, tuigreet, jibril, shells, and system

removes the user.name field, and converts user.timezone to
system.timezone. This is to move user content off of the host.

This old system is replaced with dynamic user creation based on the
usernameList variable

Because this removes the users.users.defaultUser shells now use the
(more appropriate) users.defaultUserShell
This commit is contained in:
Julia Lange 2024-11-26 08:42:01 -08:00
parent 6124a298eb
commit d994e11918
Signed by: Julia
SSH key fingerprint: SHA256:KI8YxpkPRbnDRkXPgCuQCVz181++Vy7NAvmQj8alOhM
8 changed files with 71 additions and 55 deletions

View file

@ -9,7 +9,7 @@
config = lib.mkIf config.fish.enable {
programs.fish.enable = true;
users.users.defaultUser.shell = lib.mkIf config.fish.setDefault pkgs.fish;
users.defaultUserShell = lib.mkIf config.fish.setDefault pkgs.fish;
environment.shells = with pkgs; [ fish ];
};
}

View file

@ -9,7 +9,7 @@
config = lib.mkIf config.xonsh.enable {
programs.xonsh.enable = true;
users.users.defaultUser.shell = lib.mkIf config.xonsh.setDefault pkgs.xonsh;
users.defaultUserShell = lib.mkIf config.xonsh.setDefault pkgs.xonsh;
environment.shells = with pkgs; [ xonsh ];
};
}

View file

@ -14,7 +14,7 @@
histFile = "$HOME/.config/zsh/history";
histSize = 2000;
};
users.users.defaultUser.shell = lib.mkIf config.zsh.setDefault pkgs.zsh;
users.defaultUserShell = lib.mkIf config.zsh.setDefault pkgs.zsh;
environment.shells = with pkgs; [ zsh ];
};
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ config, lib, ... }:
{
options = {
@ -8,18 +8,18 @@
config = lib.mkIf config.syncthing.enable {
services.syncthing = {
enable = true;
user = config.user.name;
dataDir = "/home/" + config.user.name + "/dox/Sync";
configDir = "/home/" + config.user.name + "/.config/syncthing";
overrideFolders = true;
overrideDevices = true;
settings = {
gui = {
user = config.user.name;
password = "password";
};
};
# user = config.user.name;
# dataDir = "/home/" + config.user.name + "/dox/Sync";
# configDir = "/home/" + config.user.name + "/.config/syncthing";
# overrideFolders = true;
# overrideDevices = true;
#
# settings = {
# gui = {
# user = config.user.name;
# password = "password";
# };
# };
};
};
}