den
 1{
 2  inputs,
 3  config,
 4  ...
 5}: {
 6  #############################################################
 7  #
 8  #  Kevin - NixOS running on ThinkBook 16P G5 IRX
 9  #  My main computer, with I7-14650HX + RTX4060 Laptop GPU + 48GB memory, for daily use.
10  #
11  #############################################################
12  den.hosts.x86_64-linux.kevin = {
13    usage = "laptop";
14    pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOO9CyAqGo/WbJkncrt1a9jxS1E+hd550SC4A08I/l0/ root@kevin";
15    hashedPasswordAged = ./hashed-password.age;
16    users.hpcesia.classes = ["homeManager"];
17    instantiate = {modules}:
18      inputs.nixpkgs.lib.nixosSystem {
19        inherit modules;
20
21        # Fix vaultix error: attribute 'inputs' missing
22        # This is an anti-pattern of Dendritic Pattern
23        # I don't like this, but I don't see another way
24        specialArgs = {inherit (inputs) self;};
25      };
26  };
27
28  den.aspects.kevin.nixos = {
29    imports = [
30      config.flake.modules.nixos."hosts/kevin"
31    ];
32  };
33
34  flake.meta.host.hosts.kevin = {
35    system = "x86_64-linux";
36    hostPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOO9CyAqGo/WbJkncrt1a9jxS1E+hd550SC4A08I/l0/ root@kevin";
37    isDesktop = true;
38    isLaptop = true;
39  };
40  flake.modules.nixos."hosts/kevin" = _: {
41    imports =
42      (with config.flake.modules.nixos; [
43        core
44        desktop
45        dev
46        game
47        ssh-host-pardofelis
48      ])
49      ++ (
50        map
51        (n: config.flake.modules.nixos."${config.flake.meta.service.prefix}${n}")
52        [
53          "mihomo"
54        ]
55      )
56      ++ [
57        {
58          home-manager.users.hpcesia = {
59            imports =
60              (with config.flake.modules.homeManager; [
61                core
62                desktop
63                dev
64                game
65              ])
66              ++ [config.flake.modules.homeManager."hosts/kevin"];
67          };
68        }
69      ];
70  };
71}