This commit is contained in:
2025-12-10 11:08:12 +07:00
parent 3b2b4ff2a4
commit b3d61ef94e
5 changed files with 91 additions and 64 deletions

View File

@@ -30,9 +30,11 @@
'';
};
networking.wireless = let
networking.wireless =
let
credentials = config.clan.core.vars.generators.wireless-credentials.files;
in {
in
{
enable = true;
secretsFile = credentials.psk.path;
networks.${credentials.essid.value}.pskRaw = "ext:psk";
@@ -40,10 +42,12 @@
networking.interfaces.wlp1s0 = {
useDHCP = false;
ipv4.addresses = [{
ipv4.addresses = [
{
address = "10.0.0.9";
prefixLength = 24;
}];
}
];
};
services.yggdrasil.settings.Peers = lib.mkForce [

View File

@@ -19,7 +19,12 @@
default = [ ];
};
disks = lib.mkOption {
type = with lib.types; attrsOf (submodule ({name, ... }: {
type =
with lib.types;
attrsOf (
submodule (
{ name, ... }:
{
options = {
name = lib.mkOption {
type = str;
@@ -33,7 +38,9 @@
default = [ ];
};
};
}));
}
)
);
default = { };
description = "disks comprising library";
};
@@ -46,7 +53,12 @@
}:
{
nixosModule =
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
{
services.pulseaudio.enable = true;
@@ -61,23 +73,31 @@
"d ${settings.baseDir} 0755 root root"
];
fileSystems = let
fileSystems =
let
disk2fs =
{ name, uuid, mountOptions, ... }:
{
name,
uuid,
mountOptions,
...
}:
lib.nameValuePair "${settings.baseDir}/${name}" {
device = "/dev/disk/by-uuid/${uuid}";
fsType = "auto";
options = ["noauto" "nofail"] ++ mountOptions;
options = [
"noauto"
"nofail"
]
++ mountOptions;
};
in lib.listToAttrs
(lib.mapAttrsToList (_: disk2fs) settings.disks);
in
lib.listToAttrs (lib.mapAttrsToList (_: disk2fs) settings.disks);
services.udev.extraRules = let
translate-prefix = path:
(lib.removePrefix "-"
(lib.replaceStrings ["/"] ["-"] path));
mount-name = name:
"${translate-prefix settings.baseDir}-${name}.mount";
services.udev.extraRules =
let
translate-prefix = path: (lib.removePrefix "-" (lib.replaceStrings [ "/" ] [ "-" ] path));
mount-name = name: "${translate-prefix settings.baseDir}-${name}.mount";
disk2rule =
{ name, uuid, ... }:
lib.concatStringsSep ", " [
@@ -86,8 +106,8 @@
''ENV{DEVLINKS}=="*/dev/disk/by-uuid/${uuid}*"''
''ENV{SYSTEMD_WANTS}="${mount-name name}"''
];
in lib.concatMapStringsSep "\n" disk2rule
(lib.attrValues settings.disks);
in
lib.concatMapStringsSep "\n" disk2rule (lib.attrValues settings.disks);
services.mpd = {
enable = true;
@@ -102,8 +122,9 @@
'';
};
networking.firewall.interfaces = lib.genAttrs settings.binds
(_: { allowedTCPPorts = [config.services.mpd.network.port]; });
networking.firewall.interfaces = lib.genAttrs settings.binds (_: {
allowedTCPPorts = [ config.services.mpd.network.port ];
});
environment.systemPackages = [ pkgs.mpc ];
};

View File

@@ -325,7 +325,10 @@
requires = [ "asterisk.service" ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ inotify-tools asterisk ];
path = with pkgs; [
inotify-tools
asterisk
];
script = ''
inotifywait -m -e move /etc/asterisk |
while read path action file; do

View File

@@ -30,8 +30,7 @@
systemWide = true;
tcp = {
enable = true;
anonymousClients.allowedIpRanges =
settings.client-ip-ranges;
anonymousClients.allowedIpRanges = settings.client-ip-ranges;
anonymousClients.allowAll = true;
};
zeroconf.publish.enable = true;