den
1{
2 inputs,
3 config,
4 ...
5}: {
6 #############################################################
7 #
8 # Pardofelis - NixOS running on a 2C4G VPS
9 # My main server hosted by Yecaoyun.
10 #
11 #############################################################
12 den.hosts.x86_64-linux.pardofelis = {
13 usage = "server";
14 pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEuT/WkeA7btTeATmWJ2O9f/A6FI0Gl/1KjPGfHbWD5C root@pardofelis";
15 hashedPasswordAged = ./hashed-password.age;
16 sshPorts = [23930];
17 authorizedKeys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFMKaGC2I3an4AJDeWzVx5vhm63+kxi6zJNdh7yEp6CK hpcesia@kevin"];
18 users.hpcesia = {};
19 instantiate = {modules}:
20 inputs.nixpkgs.lib.nixosSystem {
21 inherit modules;
22
23 # Fix vaultix error: attribute 'inputs' missing
24 # This is an anti-pattern of Dendritic Pattern
25 # I don't like this, but I don't see another way
26 specialArgs = {inherit (inputs) self;};
27 };
28 };
29
30 flake.meta.host.hosts.pardofelis = {
31 system = "x86_64-linux";
32 hostPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEuT/WkeA7btTeATmWJ2O9f/A6FI0Gl/1KjPGfHbWD5C root@pardofelis";
33 deploy = true;
34 sshPorts = [23930];
35 isServer = true;
36 };
37
38 den.aspects.pardofelis.nixos = {
39 imports = (
40 map
41 (n: config.flake.modules.nixos."${config.flake.meta.service.prefix}${n}")
42 [
43 "artalk"
44 "authelia"
45 "freshrss"
46 "gokapi"
47 "homepage"
48 "vaultwarden"
49 "wakapi"
50 ]
51 );
52 };
53}