hosts: split wifi and bluetooth pairings into the "client" role
This commit is contained in:
4
flake.lock
generated
4
flake.lock
generated
@@ -61,11 +61,11 @@
|
|||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1,
|
"lastModified": 1,
|
||||||
"narHash": "sha256-m+zWb62u+aq/x6VX82khojR2GNhWRIAo+csqaN1ixGA=",
|
"narHash": "sha256-m+zWb62u+aq/x6VX82khojR2GNhWRIAo+csqaN1ixGA=",
|
||||||
"path": "/nix/store/l3d7c7jglbgslp60cwpp3sikwd9vlr1q-source/nixpatches",
|
"path": "/nix/store/2zybrs7rz5h2mxhfnkffvdjs9apyzx5z-source/nixpatches",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"path": "/nix/store/l3d7c7jglbgslp60cwpp3sikwd9vlr1q-source/nixpatches",
|
"path": "/nix/store/2zybrs7rz5h2mxhfnkffvdjs9apyzx5z-source/nixpatches",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@@ -1,16 +0,0 @@
|
|||||||
{ lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# persist external pairings by default
|
|
||||||
sane.persist.sys.plaintext = [ "/var/lib/bluetooth" ];
|
|
||||||
|
|
||||||
sane.fs."/var/lib/bluetooth".generated.acl.mode = "0700";
|
|
||||||
sane.fs."/var/lib/bluetooth/.secrets.stamp" = {
|
|
||||||
wantedBeforeBy = [ "bluetooth.service" ];
|
|
||||||
# XXX: install-bluetooth uses sed, but that's part of the default systemd unit path, it seems
|
|
||||||
generated.script.script = builtins.readFile ../../scripts/install-bluetooth + ''
|
|
||||||
touch "/var/lib/bluetooth/.secrets.stamp"
|
|
||||||
'';
|
|
||||||
generated.script.scriptArgs = [ "/run/secrets/bt" ];
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,7 +1,6 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./bluetooth.nix
|
|
||||||
./cross.nix
|
./cross.nix
|
||||||
./feeds.nix
|
./feeds.nix
|
||||||
./fs.nix
|
./fs.nix
|
||||||
|
@@ -30,14 +30,4 @@
|
|||||||
General.RoamThreshold = "-52"; # default -70
|
General.RoamThreshold = "-52"; # default -70
|
||||||
General.RoamThreshold5G = "-52"; # default -76
|
General.RoamThreshold5G = "-52"; # default -76
|
||||||
};
|
};
|
||||||
|
|
||||||
sane.fs."/var/lib/iwd/.secrets.psk.stamp" = {
|
|
||||||
wantedBeforeBy = [ "iwd.service" ];
|
|
||||||
generated.acl.mode = "0600";
|
|
||||||
# XXX: install-iwd uses sed, but that's part of the default systemd unit path, it seems
|
|
||||||
generated.script.script = builtins.readFile ../../scripts/install-iwd + ''
|
|
||||||
touch "/var/lib/iwd/.secrets.psk.stamp"
|
|
||||||
'';
|
|
||||||
generated.script.scriptArgs = [ "/run/secrets/iwd" "/var/lib/iwd" ];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
18
hosts/modules/roles/client/bluetooth-pairings.nix
Normal file
18
hosts/modules/roles/client/bluetooth-pairings.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.sane.roles.client {
|
||||||
|
# persist external pairings by default
|
||||||
|
sane.persist.sys.plaintext = [ "/var/lib/bluetooth" ];
|
||||||
|
|
||||||
|
sane.fs."/var/lib/bluetooth".generated.acl.mode = "0700";
|
||||||
|
sane.fs."/var/lib/bluetooth/.secrets.stamp" = {
|
||||||
|
wantedBeforeBy = [ "bluetooth.service" ];
|
||||||
|
# XXX: install-bluetooth uses sed, but that's part of the default systemd unit path, it seems
|
||||||
|
generated.script.script = builtins.readFile ../../../../scripts/install-bluetooth + ''
|
||||||
|
touch "/var/lib/bluetooth/.secrets.stamp"
|
||||||
|
'';
|
||||||
|
generated.script.scriptArgs = [ "/run/secrets/bt" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -4,6 +4,11 @@ let
|
|||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf mkOption types;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./bluetooth-pairings.nix
|
||||||
|
./wifi-pairings.nix
|
||||||
|
];
|
||||||
|
|
||||||
options.sane.roles.client = mkOption {
|
options.sane.roles.client = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
15
hosts/modules/roles/client/wifi-pairings.nix
Normal file
15
hosts/modules/roles/client/wifi-pairings.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.sane.roles.client {
|
||||||
|
sane.fs."/var/lib/iwd/.secrets.psk.stamp" = {
|
||||||
|
wantedBeforeBy = [ "iwd.service" ];
|
||||||
|
generated.acl.mode = "0600";
|
||||||
|
# XXX: install-iwd uses sed, but that's part of the default systemd unit path, it seems
|
||||||
|
generated.script.script = builtins.readFile ../../../../scripts/install-iwd + ''
|
||||||
|
touch "/var/lib/iwd/.secrets.psk.stamp"
|
||||||
|
'';
|
||||||
|
generated.script.scriptArgs = [ "/run/secrets/iwd" "/var/lib/iwd" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -1,6 +1,6 @@
|
|||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./client.nix
|
./client
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user