Files
lux/modules/hosts/orion/default.nix
T

74 lines
1.6 KiB
Nix

{
inputs,
config,
...
}:
let
nixosModules = config.flake.modules.nixos;
homeModules = config.flake.modules.homeManager;
metaLib = config.meta.lib;
in
{
flake.modules.nixos.orion-admin =
{
config,
lib,
pkgs,
...
}:
let
terminal = metaLib.resolveUserTerminal {
inherit pkgs;
user = config.meta.host.users.kiri;
};
in
{
assertions = metaLib.mkTerminalAssertions {
inherit terminal;
user = config.meta.host.users.kiri;
requireTerminfo = true;
};
users.users.kiri = {
linger = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAU2LydkXRTtNFY7oyX8JQURwXLVhB71DeK8XzrXeFX1 openpgp:0xA490D93A"
];
};
environment.systemPackages = [
]
++ lib.optional terminal.hasTerminfo (lib.getOutput "terminfo" terminal.package);
};
flake.modules.nixos.orion = metaLib.mkHost {
name = "orion";
users = {
kiri = metaLib.mkHostUser {
account = metaLib.users.kiri;
homeImports = [
homeModules.shell
homeModules.git
homeModules.syncthing
];
};
};
imports = [
nixosModules.host-base
nixosModules.sops-host-ssh-key
nixosModules.openssh
nixosModules.caddy
nixosModules.server-firewall
nixosModules.ssh-agent-auth
nixosModules.orion-admin
nixosModules.vaultwarden
nixosModules.radicale
nixosModules.actual
nixosModules.gitea
./_hardware.nix
./_disk.nix
];
};
}