feat(nixos): add owner config to manifest and users module
This commit is contained in:
parent
f670889e29
commit
aef828b713
2 changed files with 73 additions and 37 deletions
|
@ -8,45 +8,53 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
flake.manifest.hosts = {
|
||||
"nixos/test".extraCfg = testCfg;
|
||||
"nixos/nemesis" = {
|
||||
machine = {
|
||||
platform = "amd";
|
||||
gpu = "nvidia";
|
||||
root.drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
|
||||
monitors = [
|
||||
{
|
||||
id = "desc:OOO AN-270W04K";
|
||||
scale = "2";
|
||||
resolution = "3840x2160";
|
||||
refresh-rate = "60";
|
||||
}
|
||||
];
|
||||
};
|
||||
# profiles = with config.flake.profiles.nixos; [
|
||||
# graphical
|
||||
# development
|
||||
# ];
|
||||
# extraModules = with config.flakes.modules.nixos; [
|
||||
# sunshine
|
||||
# sd-webui-forge
|
||||
# comfy-ui
|
||||
# ];
|
||||
extraCfg = testCfg;
|
||||
flake.manifest = {
|
||||
owner = {
|
||||
username = "rafiq";
|
||||
email = "rafiq@rrv.sh";
|
||||
shell = "fish";
|
||||
pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n rafiq";
|
||||
};
|
||||
"nixos/apollo" = {
|
||||
machine = {
|
||||
platform = "intel";
|
||||
root.drive = "/dev/disk/by-id/nvme-eui.002538d221b47b01";
|
||||
hosts = {
|
||||
"nixos/test".extraCfg = testCfg;
|
||||
"nixos/nemesis" = {
|
||||
machine = {
|
||||
platform = "amd";
|
||||
gpu = "nvidia";
|
||||
root.drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
|
||||
monitors = [
|
||||
{
|
||||
id = "desc:OOO AN-270W04K";
|
||||
scale = "2";
|
||||
resolution = "3840x2160";
|
||||
refresh-rate = "60";
|
||||
}
|
||||
];
|
||||
};
|
||||
# profiles = with config.flake.profiles.nixos; [
|
||||
# graphical
|
||||
# development
|
||||
# ];
|
||||
# extraModules = with config.flakes.modules.nixos; [
|
||||
# sunshine
|
||||
# sd-webui-forge
|
||||
# comfy-ui
|
||||
# ];
|
||||
extraCfg = testCfg;
|
||||
};
|
||||
"nixos/apollo" = {
|
||||
machine = {
|
||||
platform = "intel";
|
||||
root.drive = "/dev/disk/by-id/nvme-eui.002538d221b47b01";
|
||||
};
|
||||
# profiles = with config.flake.profiles.nixos; [ headless ];
|
||||
# extraModules = with config.flakes.modules.nixos; [
|
||||
# librechat
|
||||
# forgejo
|
||||
# rrv-sh
|
||||
# ];
|
||||
extraCfg = testCfg;
|
||||
};
|
||||
# profiles = with config.flake.profiles.nixos; [ headless ];
|
||||
# extraModules = with config.flakes.modules.nixos; [
|
||||
# librechat
|
||||
# forgejo
|
||||
# rrv-sh
|
||||
# ];
|
||||
extraCfg = testCfg;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
28
nix/modules/nixos/users.nix
Normal file
28
nix/modules/nixos/users.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
inherit (config.flake.manifest) owner;
|
||||
in
|
||||
{
|
||||
flake.modules.nixos.default =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
#TODO: move sudo/security options elsewhere
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
nix.settings.trusted-users = [ "@wheel" ];
|
||||
#TODO: move to shell config
|
||||
programs.${owner.shell}.enable = true;
|
||||
#TODO: move ssh key settings elsewhere
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
groups.users.gid = 100;
|
||||
users.root.openssh.authorizedKeys.keys = [ owner.pubkey ];
|
||||
users.${owner.username} = {
|
||||
isNormalUser = true;
|
||||
# hashedPasswordFile
|
||||
extraGroups = [ "wheel" ];
|
||||
shell = pkgs.${owner.shell};
|
||||
openssh.authorizedKeys.keys = [ owner.pubkey ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue