74 lines
1.6 KiB
Nix
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
|
|
];
|
|
};
|
|
}
|