aboutsummaryrefslogtreecommitdiffstats
path: root/sys/users
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-08-26 23:42:21 +0200
committerSoispha <soispha@vhack.eu>2023-08-26 23:42:21 +0200
commit3f600ab07dbad3b6dd7655587ddea158b19aea71 (patch)
tree7164ccd965e1d14ade970aeb8eb188b1442a6c91 /sys/users
parentStyle(treewide): Format all lua-files makes lua ➛ nix easier (diff)
downloadnixos-config-3f600ab07dbad3b6dd7655587ddea158b19aea71.zip
Refactor(treewide): Abbreviate path names
Diffstat (limited to 'sys/users')
-rw-r--r--sys/users/default.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/sys/users/default.nix b/sys/users/default.nix
new file mode 100644
index 00000000..365ffd41
--- /dev/null
+++ b/sys/users/default.nix
@@ -0,0 +1,44 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}: let
+ cfg = config.soispha.users;
+in {
+ options.soispha.users = {
+ # enable = lib.mkEnableOption (lib.mdDoc "users");
+ hashedPassword = lib.mkOption {
+ type = lib.types.str;
+ example = lib.literalExpression "$y$jFT$ONrCqZIJKB7engmfA4orD/$0GO58/wV5wrYWj0cyONhyujZPjFmbT0XKtx2AvXLG0B";
+ default = "$y$jFT$ONrCqZIJKB7engmfA4orD/$0GO58/wV5wrYWj0cyONhyujZPjFmbT0XKtx2AvXLG0B";
+ description = lib.mdDoc "Hashed password for the user";
+ };
+ };
+ config = {
+ # I was told, that this solves some nasty problems:
+ programs.zsh.enable = true;
+
+ users = {
+ groups = {
+ plugdev.members = ["soispha"];
+ };
+ mutableUsers = false;
+ users.soispha = {
+ isNormalUser = true;
+ home = "/home/soispha";
+ createHome = true;
+ shell = pkgs.zsh;
+ initialHashedPassword = cfg.hashedPassword;
+ extraGroups = [
+ "plugdev" # although deprecated, this helps with old udev rules, that still use this group. TODO: check for an open issue
+ "wheel"
+ ];
+ uid = 1000;
+ openssh.authorizedKeys.keys = [
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGBFuTNNn71Rhfnop2cdz3r/RhWWlCePnSBOhTBbu2ME soispha"
+ ];
+ };
+ };
+ };
+}