2020-08-29 17:47:21 +04:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
with config.deviceSpecific; {
|
2022-02-11 21:09:58 +03:00
|
|
|
security.apparmor.enable = !isContainer;
|
2019-08-27 23:41:02 +04:00
|
|
|
programs.firejail.enable = true;
|
|
|
|
users.mutableUsers = false;
|
2022-12-10 22:34:39 +03:00
|
|
|
users.users.${config.mainuser} = {
|
2019-08-27 23:41:02 +04:00
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [
|
2022-07-02 19:30:20 +03:00
|
|
|
"adbusers"
|
2019-08-27 23:41:02 +04:00
|
|
|
"audio"
|
2022-07-02 19:30:20 +03:00
|
|
|
"cdrom"
|
|
|
|
"corectrl"
|
|
|
|
"dialout"
|
|
|
|
"disk"
|
2019-08-27 23:41:02 +04:00
|
|
|
"docker"
|
|
|
|
"input"
|
2021-02-07 02:38:11 +03:00
|
|
|
"kvm"
|
2022-07-02 19:30:20 +03:00
|
|
|
"libvirtd"
|
2021-02-07 02:38:11 +03:00
|
|
|
"lp"
|
2022-07-02 19:30:20 +03:00
|
|
|
"lxd"
|
|
|
|
"networkmanager"
|
2022-12-07 22:13:34 +03:00
|
|
|
"podman"
|
|
|
|
"qemu-libvirtd"
|
2022-07-02 19:30:20 +03:00
|
|
|
"scanner"
|
2022-12-14 23:51:59 +03:00
|
|
|
"systemd-journal"
|
2022-07-02 19:30:20 +03:00
|
|
|
"smbuser"
|
2021-09-16 01:03:52 +03:00
|
|
|
"video"
|
2022-12-07 22:13:34 +03:00
|
|
|
# "wheel" # remove?
|
2019-08-27 23:41:02 +04:00
|
|
|
];
|
2022-12-07 22:05:00 +03:00
|
|
|
description = "AtaraxiaDev";
|
2019-08-27 23:41:02 +04:00
|
|
|
uid = 1000;
|
2022-12-14 23:51:59 +03:00
|
|
|
hashedPassword = "$y$j9T$ZC44T3XYOPapB26cyPsA4.$8wlYEbwXFszC9nrg0vafqBZFLMPabXdhnzlT3DhUit6";
|
|
|
|
|
2019-08-27 23:41:02 +04:00
|
|
|
shell = pkgs.zsh;
|
|
|
|
};
|
2022-12-07 22:13:34 +03:00
|
|
|
# Safe, because we using doas
|
|
|
|
users.allowNoPasswordLogin = true;
|
|
|
|
# FIXME
|
2019-09-14 22:12:56 +04:00
|
|
|
security.sudo = {
|
|
|
|
enable = true;
|
2022-12-07 22:13:34 +03:00
|
|
|
extraRules = [{
|
2022-12-10 22:34:39 +03:00
|
|
|
users = [ config.mainuser ];
|
2022-12-07 22:13:34 +03:00
|
|
|
commands = [{
|
|
|
|
command = "/run/current-system/sw/bin/nixos-rebuild";
|
|
|
|
options = [ "SETENV" "NOPASSWD" ];
|
|
|
|
} {
|
|
|
|
command = "/run/current-system/sw/bin/nix";
|
|
|
|
options = [ "SETENV" "NOPASSWD" ];
|
|
|
|
} {
|
|
|
|
command = "/run/current-system/sw/bin/nix-shell";
|
|
|
|
options = [ "SETENV" "NOPASSWD" ];
|
|
|
|
}];
|
|
|
|
}];
|
|
|
|
# extraConfig = lib.concatStrings [''
|
2022-12-10 22:34:39 +03:00
|
|
|
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/btrfs fi usage /
|
2022-12-07 22:13:34 +03:00
|
|
|
# ''
|
|
|
|
# (if (isLaptop) then ''
|
2022-12-10 22:34:39 +03:00
|
|
|
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp-stat
|
|
|
|
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp ac
|
|
|
|
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp bat
|
2022-12-07 22:13:34 +03:00
|
|
|
# '' else "")
|
|
|
|
# ];
|
2019-09-14 22:12:56 +04:00
|
|
|
};
|
2022-12-07 22:13:34 +03:00
|
|
|
security.doas = {
|
|
|
|
enable = true;
|
|
|
|
extraRules = [{
|
2022-12-10 22:34:39 +03:00
|
|
|
users = [ config.mainuser ];
|
2022-12-07 22:13:34 +03:00
|
|
|
keepEnv = true;
|
|
|
|
persist = true;
|
|
|
|
} {
|
2022-12-10 22:34:39 +03:00
|
|
|
users = [ config.mainuser ];
|
2022-12-07 22:13:34 +03:00
|
|
|
noPass = true;
|
|
|
|
keepEnv = true;
|
|
|
|
cmd = "/run/current-system/sw/bin/btrfs";
|
|
|
|
args = [ "fi" "usage" "/" ];
|
|
|
|
}] ++ lib.optionals isLaptop [{
|
2022-12-10 22:34:39 +03:00
|
|
|
users = [ config.mainuser ];
|
2022-12-07 22:13:34 +03:00
|
|
|
noPass = true;
|
|
|
|
keepEnv = true;
|
|
|
|
cmd = "/run/current-system/sw/bin/tlp";
|
|
|
|
} {
|
2022-12-10 22:34:39 +03:00
|
|
|
users = [ config.mainuser ];
|
2022-12-07 22:13:34 +03:00
|
|
|
noPass = true;
|
|
|
|
keepEnv = true;
|
|
|
|
cmd = "/run/current-system/sw/bin/tlp-stat";
|
|
|
|
}];
|
2021-09-16 01:03:52 +03:00
|
|
|
};
|
2020-08-07 23:27:49 +04:00
|
|
|
systemd.services."user@" = { serviceConfig = { Restart = "always"; }; };
|
2022-12-10 22:34:39 +03:00
|
|
|
services.getty.autologinUser = config.mainuser;
|
2019-08-27 23:41:02 +04:00
|
|
|
}
|