current
 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 + 32GB 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    tailscaleIpv4 = "100.64.0.1";
20    tailscaleIpv6 = "fd7a:115c:a1e0::1";
21    users.hpcesia.classes = ["homeManager"];
22    instantiate = {modules}:
23      inputs.nixpkgs.lib.nixosSystem {
24        inherit modules;
25
26        # Fix vaultix error: attribute 'inputs' missing
27        # This is an anti-pattern of Dendritic Pattern
28        # I don't like this, but I don't see another way
29        specialArgs = {inherit (inputs) self;};
30      };
31  };
32
33  den.aspects.kevin.includes = [
34    <desktop/fonts>
35    <desktop/kmscon>
36  ];
37
38  den.aspects.kevin.provides.to-users.includes = [
39    <desktop/de/custom>
40    <desktop/de/custom/wm/niri>
41    <desktop/de/custom/shell/noctalia>
42    <desktop/dm/sddm>
43  ];
44
45  flake.meta.host.hosts.kevin = {
46    system = "x86_64-linux";
47    hostPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOO9CyAqGo/WbJkncrt1a9jxS1E+hd550SC4A08I/l0/ root@kevin";
48    isDesktop = true;
49    isLaptop = true;
50  };
51
52  den.aspects.kevin.nixos = {
53    imports =
54      (with config.flake.modules.nixos; [
55        desktop
56      ])
57      ++ [
58        {
59          home-manager.users.hpcesia = {
60            imports = with config.flake.modules.homeManager; [
61              desktop
62            ];
63          };
64        }
65      ];
66  };
67}