2configs
clan_modules
machines
tools
age-detect
astronvim
pass
···
1
1
{
2
2
-
config,
3
2
lib,
4
3
pkgs,
5
4
...
···
32
32
priority = lib.mkDefault 10;
33
33
# TODO add user space network support to clan-cli
34
34
technology = "tor";
35
35
-
peers = lib.mapAttrs (name: machine: {
35
35
+
peers = lib.mapAttrs (name: _machine: {
36
36
host.var = {
37
37
machine = name;
38
38
generator = "tor-ssh";
···
21
21
22
22
krebs.sync-containers3.inContainer = {
23
23
enable = true;
24
24
-
pubkey = builtins.readFile ./facts/radio.sync.pub;
24
24
+
pubkey = config.clan.core.vars.generators.radio-sync.files."radio.sync.pub".value;
25
25
};
26
26
27
27
-
clanCore.facts.services.radio-container = {
28
28
-
secret."radio.sync.key" = { };
29
29
-
public."radio.sync.pub" = { };
30
30
-
generator.path = with pkgs; [
27
27
+
clan.core.vars.generators.radio-sync = {
28
28
+
files."radio.sync.key" = { };
29
29
+
files."radio.sync.pub".secret = false;
30
30
+
migrateFact = "radio-container";
31
31
+
runtimeInputs = with pkgs; [
31
32
coreutils
32
33
openssh
33
34
];
34
34
-
generator.script = ''
35
35
-
ssh-keygen -t ed25519 -N "" -f "$secrets"/radio.sync.key
36
36
-
mv "$secrets"/radio.sync.key "$facts"/radio.sync.pub
35
35
+
script = ''
36
36
+
ssh-keygen -t ed25519 -N "" -f "$out"/radio.sync.key
37
37
+
mv "$out"/radio.sync.key.pub "$out"/radio.sync.pub
37
38
'';
38
39
};
39
40
}
···
1
1
{ config, pkgs, ... }:
2
2
let
3
3
-
gpd-fan = config.boot.kernelPackages.callPackage ({ stdenv, kernel, }: stdenv.mkDerivation {
4
4
-
pname = "gpd-fan-driver";
5
5
-
version = "git";
3
3
+
gpd-fan = config.boot.kernelPackages.callPackage (
4
4
+
{ stdenv, kernel }:
5
5
+
stdenv.mkDerivation {
6
6
+
pname = "gpd-fan-driver";
7
7
+
version = "git";
6
8
7
7
-
src = pkgs.fetchFromGitHub {
8
8
-
owner = "Cryolitia";
9
9
-
repo = "gpd-fan-driver";
10
10
-
rev = "a400c7d2d7b0bd150f0f7148a10eea816d16314e";
11
11
-
hash = "sha256-W+1OCiDxFHHAC9pPq1t6u4bLubj/4nNl2cep/HYYAgs=";
12
12
-
};
9
9
+
src = pkgs.fetchFromGitHub {
10
10
+
owner = "Cryolitia";
11
11
+
repo = "gpd-fan-driver";
12
12
+
rev = "a400c7d2d7b0bd150f0f7148a10eea816d16314e";
13
13
+
hash = "sha256-W+1OCiDxFHHAC9pPq1t6u4bLubj/4nNl2cep/HYYAgs=";
14
14
+
};
13
15
14
14
-
hardeningDisable = [ "pic" ];
16
16
+
hardeningDisable = [ "pic" ];
15
17
16
16
-
nativeBuildInputs = kernel.moduleBuildDependencies;
18
18
+
nativeBuildInputs = kernel.moduleBuildDependencies;
17
19
18
18
-
makeFlags = [
19
19
-
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
20
20
-
];
20
20
+
makeFlags = [
21
21
+
"KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
22
22
+
];
21
23
22
22
-
installPhase = ''
23
23
-
runHook preInstall
24
24
-
install *.ko -Dm444 -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpdfan
25
25
-
runHook postInstall
26
26
-
'';
27
27
-
}) {};
28
28
-
in {
24
24
+
installPhase = ''
25
25
+
runHook preInstall
26
26
+
install *.ko -Dm444 -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpdfan
27
27
+
runHook postInstall
28
28
+
'';
29
29
+
}
30
30
+
) { };
31
31
+
in
32
32
+
{
29
33
boot.extraModulePackages = [ gpd-fan ];
30
34
boot.kernelModules = [ "gpd_fan" ];
31
35
}
···
5
5
{
6
6
packages.age-detect = pkgs.writeShellApplication {
7
7
name = "age-detect";
8
8
-
runtimeInputs = with pkgs; [
9
9
-
age
10
10
-
age-plugin-yubikey
11
11
-
age-plugin-fido2-hmac
12
12
-
yubikey-manager
13
13
-
libfido2
14
14
-
] ++ (pkgs.lib.optionals pkgs.stdenv.isDarwin [
15
15
-
pkgs.age-plugin-se
16
16
-
]);
8
8
+
runtimeInputs =
9
9
+
with pkgs;
10
10
+
[
11
11
+
age
12
12
+
age-plugin-yubikey
13
13
+
age-plugin-fido2-hmac
14
14
+
yubikey-manager
15
15
+
libfido2
16
16
+
]
17
17
+
++ (pkgs.lib.optionals pkgs.stdenv.isDarwin [
18
18
+
pkgs.age-plugin-se
19
19
+
]);
17
20
text = builtins.readFile ./age-detect;
18
21
};
19
22
};
···
2
2
{
3
3
perSystem =
4
4
{
5
5
-
system,
6
5
lib,
7
6
pkgs,
8
7
...
···
15
15
pkgs.age-plugin-yubikey
16
16
self.packages.${system}.pass-otp
17
17
self.packages.${system}.age-detect
18
18
-
] ++ (pkgs.lib.optionals pkgs.stdenv.isDarwin [
18
18
+
]
19
19
+
++ (pkgs.lib.optionals pkgs.stdenv.isDarwin [
19
20
pkgs.age-plugin-se
20
21
]);
21
22
aliases = [ "pass" ];