{ 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 = { 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 ]; }; }