61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
{ config
|
||
, pkgs
|
||
, lib
|
||
, inputs
|
||
, extraHomeModule ? null
|
||
, extraJanHomeModule ? null
|
||
, ...
|
||
}:
|
||
|
||
|
||
let
|
||
data = import ../../../data.nix;
|
||
in
|
||
{
|
||
nixpkgs.overlays = lib.mkAfter [
|
||
inputs.myneovim.overlays.default
|
||
inputs.nil.overlays.default
|
||
inputs.vnetod.overlays.default
|
||
inputs.wired.overlays.default
|
||
];
|
||
|
||
programs.zsh.enable = true;
|
||
|
||
users.users.jan = {
|
||
isNormalUser = true;
|
||
extraGroups = [
|
||
"wheel" # Enable ‘sudo’ for the user.
|
||
(lib.mkIf config.networking.networkmanager.enable "networkmanager")
|
||
(lib.mkIf config.virtualisation.docker.enable "docker")
|
||
(lib.mkIf config.services.transmission.enable "transmission")
|
||
(lib.mkIf config.services.kubo.enable config.services.kubo.group)
|
||
(lib.mkIf config.programs.adb.enable "adbusers")
|
||
(lib.mkIf config.programs.adb.enable "plugdev")
|
||
];
|
||
shell = pkgs.zsh;
|
||
hashedPasswordFile = config.age.secrets.users-jan-passfile.path;
|
||
|
||
openssh.authorizedKeys.keys = data.publicKeys.users.jan;
|
||
};
|
||
|
||
users.groups.plugdev = lib.mkIf config.programs.adb.enable { };
|
||
|
||
home-manager.users.jan = { lib, ... }: {
|
||
imports = [
|
||
inputs.wired.homeManagerModules.default
|
||
./home.nix
|
||
extraHomeModule
|
||
extraJanHomeModule
|
||
];
|
||
|
||
home.stateVersion = config.system.stateVersion;
|
||
|
||
home.packages = [
|
||
(pkgs.callPackage ../../../packages/git-crypt-rm-gpg-user { })
|
||
];
|
||
};
|
||
|
||
nix.settings.trusted-users = lib.mkAfter [ "jan" ];
|
||
|
||
age.secrets.users-jan-passfile.file = ../../../secrets/users-jan-passfile.age;
|
||
}
|