57 lines
1.2 KiB
Nix
57 lines
1.2 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = config.eboskma.users.erwin;
|
|
in
|
|
{
|
|
options.eboskma.users.erwin = {
|
|
enable = mkEnableOption "user account for Erwin";
|
|
|
|
home = mkEnableOption "home profile";
|
|
work = mkEnableOption "work profile";
|
|
server = mkEnableOption "server profile";
|
|
terminal = mkOption {
|
|
type = types.str;
|
|
default = "foot";
|
|
description = "Terminal emulator to use. Specify the .desktop filename, e.g. 'foot' or 'Alacritty'";
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
./home.nix
|
|
./server.nix
|
|
./work.nix
|
|
];
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
users.users.erwin = {
|
|
isNormalUser = true;
|
|
home = "/home/erwin";
|
|
extraGroups = [
|
|
"wheel"
|
|
"adm"
|
|
"audio"
|
|
"video"
|
|
"dialout"
|
|
"input"
|
|
] ++ (optional config.hardware.i2c.enable config.hardware.i2c.group);
|
|
shell = config.home-manager.users.erwin.programs.fish.package;
|
|
openssh.authorizedKeys.keyFiles = [
|
|
(pkgs.fetchurl {
|
|
url = "https://github.com/eboskma.keys";
|
|
sha256 = "5pkayHiDL5JfXqAmTGtaYpbrjIjHFHyJWOLnM4yqgK0=";
|
|
})
|
|
];
|
|
};
|
|
|
|
programs.fish.enable = true;
|
|
|
|
nix.settings.allowed-users = [ "erwin" ];
|
|
};
|
|
}
|