Move common host features to features-nixos folder
This commit is contained in:
51
features-nixos/users/julian/default.nix
Normal file
51
features-nixos/users/julian/default.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
|
||||
in {
|
||||
users.mutableUsers = false;
|
||||
users.users.julian = {
|
||||
description = "Julian";
|
||||
group = "julian";
|
||||
isNormalUser = true;
|
||||
uid = 1000;
|
||||
shell = pkgs.fish;
|
||||
extraGroups = ifTheyExist [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"audio"
|
||||
"realtime"
|
||||
"rtkit"
|
||||
"network"
|
||||
"video"
|
||||
"podman"
|
||||
"docker"
|
||||
"git"
|
||||
"gamemode"
|
||||
"dialout"
|
||||
];
|
||||
|
||||
openssh.authorizedKeys.keys = lib.splitString "\n" (
|
||||
builtins.readFile ./ssh.pub
|
||||
);
|
||||
# hashedPasswordFile = config.sops.secrets.julian-password.path;
|
||||
hashedPassword = "$y$j9T$N33kLJQbV8soUoCbDkpwA1$r/yahJDgOPo4GGOrAi6BUG5zLTzmaBrA5NQ4nno561A";
|
||||
packages = [pkgs.home-manager];
|
||||
};
|
||||
users.groups.julian = {
|
||||
gid = 1000;
|
||||
};
|
||||
|
||||
sops.secrets.julian-password = {
|
||||
sopsFile = ../../secrets.yaml;
|
||||
neededForUsers = true;
|
||||
};
|
||||
|
||||
home-manager.users.julian = import "${self}/homes/julian/${config.networking.hostName}.nix";
|
||||
|
||||
security.pam.services.swaylock = {}; # Make swaylock unlocking work
|
||||
}
|
||||
1
features-nixos/users/julian/ssh.pub
Normal file
1
features-nixos/users/julian/ssh.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFjSZYdoF/51F+ykcBAYVCzCPTF5EEigWBL1APiR0h+H
|
||||
30
features-nixos/users/wolfi/default.nix
Normal file
30
features-nixos/users/wolfi/default.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
|
||||
in {
|
||||
users.mutableUsers = false;
|
||||
users.users.wolfi = {
|
||||
description = "Wolfi";
|
||||
group = "wolfi";
|
||||
isNormalUser = true;
|
||||
shell = pkgs.fish;
|
||||
extraGroups = ifTheyExist [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"audio"
|
||||
"network"
|
||||
"video"
|
||||
"podman"
|
||||
"docker"
|
||||
"git"
|
||||
"gamemode"
|
||||
];
|
||||
|
||||
hashedPassword = "$y$j9T$ifzWjoZaRtPUOOfMYnbJ20$uFOO1EyDApL52vRUicZYgupaTA/a6sGNUj3imZ/lcb6";
|
||||
packages = [pkgs.home-manager];
|
||||
};
|
||||
users.groups.wolfi = {};
|
||||
}
|
||||
Reference in New Issue
Block a user