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}