old
1{den, ...}: {
2 den.aspects.hpcesia = {
3 includes =
4 [
5 den.batteries.host-aspects
6 den.batteries.primary-user
7 ]
8 ++ (den.lib.policy.when
9 ({host, ...}: host.hasAspect den.aspects.roles.develop)
10 (with den.aspects; [
11 develop.agents.opencode
12 develop.editor.helix
13 develop.editor.helix.lang.nix
14 develop.jujutsu
15 develop.wakatime
16 develop.yazi
17 develop.zellij
18 develop.zoxide
19
20 {
21 homeManager.programs.git.settings.url = {
22 "ssh://git@github.com/HPCesia" = {
23 insteadOf = "https://github.com/HPCesia";
24 };
25 "ssh://git@codeberg.org/HPCesia" = {
26 insteadOf = "https://codeberg.org/HPCesia";
27 };
28 "ssh://git@git.net.trin.one/HPCesia" = {
29 insteadOf = "https://git.net.trin.one/HPCesia";
30 };
31 };
32 }
33 ]))
34 ++ (den.lib.policy.when
35 ({host, ...}: host.hasAspect den.aspects.roles.desktop)
36 (with den.aspects; [
37 desktop.browser.chromium
38 desktop.browser.floorp
39 desktop.browser.floorp.mkDefault
40 desktop.env.shell.noctalia
41 desktop.env.wm.niri
42 desktop.env.locale
43 desktop.flatpak
44 desktop.gnupg
45 desktop.input-method.fcitx5
46 desktop.kdeconnect
47 desktop.terminal.foot
48
49 desktop.app.kdenlive
50 desktop.app.libreoffice
51 desktop.app.mpv
52 desktop.app.obs-studio
53 desktop.app.picard
54 ]))
55 ++ (den.lib.policy.when
56 ({host, ...}: host.hasAspect den.aspects.roles.game)
57 (with den.aspects; [
58 game.heroic
59 game.hoyo
60 game.ludusavi
61 game.minecraft
62 game.steam
63 ]));
64 };
65
66 den.users.registry.hpcesia = {
67 groups = [
68 "admins"
69 ];
70 identity = {
71 displayName = "HPCesia";
72 email = "me@hpcesia.com";
73 avatar = ./avatar.png;
74 gpgKeys = [
75 ./gpg.asc
76 ];
77 sshKeys = [
78 {
79 tag = "hpcesia@kevin";
80 key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFMKaGC2I3an4AJDeWzVx5vhm63+kxi6zJNdh7yEp6CK";
81 }
82 {
83 tag = "hpcesia@yubikey";
84 needVerify = true;
85 key = "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIH6wZFUEv9pSV+MgzqZRJ08WwJvL5FRMhayp73kCnDckAAAABHNzaDo=";
86 }
87 ];
88 };
89 system = {
90 hashedPasswordAged = ./hashed-password.age;
91 themes.theme = "catppuccin";
92 settings = {
93 desktop = {
94 terminal.default = "foot";
95 flatpak = {
96 packages = [
97 "com.qq.QQ"
98 "org.mozilla.thunderbird"
99 ];
100 overrides = {
101 "org.mozilla.thunderbird".Context = {
102 sockets = [
103 "gpg-agent" # Expose GPG agent
104 "pcsc" # Expose smart cards (i.e. YubiKey)
105 ];
106 };
107 };
108 };
109 };
110 };
111 };
112 };
113}