my system configurations ^-^
1{
2 inputs,
3 pkgs,
4 config,
5 ...
6}: let
7 inherit (inputs) self;
8 inherit (config.settings.system) user;
9
10 sshDir = user.home + "/.ssh";
11
12 # https://github.com/isabelroses/dotfiles/blob/0827bb1893b8072b65c66a6919f8abbe6df9a55a/modules/flake/lib/secrets.nix
13 mkSecret = {
14 file,
15 mode ? "400",
16 ...
17 }: {
18 inherit mode;
19 inherit (user) group;
20 owner = user.name;
21 file = "${self}/secrets/${file}.age";
22 };
23in {
24 imports = [
25 inputs.agenix.nixosModules.default
26 ];
27
28 environment.systemPackages = [
29 inputs.agenix.packages."${pkgs.system}".default
30 ];
31
32 age = {
33 identityPaths =
34 [
35 "/etc/ssh/ssh_host_ed25519_key"
36 ]
37 ++ (
38 if sshDir != null
39 then ["${sshDir}/id_ed25519"]
40 else []
41 );
42
43 secrets = {
44 gh = mkSecret {
45 file = "gh";
46 };
47 ghPub = mkSecret {
48 file = "gh-pub";
49 };
50 lastfm = mkSecret {
51 file = "lastfm";
52 };
53 restic = mkSecret {
54 file = "restic";
55 };
56 samba = mkSecret {
57 file = "samba";
58 };
59 wifi = mkSecret {
60 file = "wifi";
61 };
62 };
63 };
64}