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