Allow configuring networkd

This commit is contained in:
Manuel Thalmann 2024-12-08 01:03:06 +01:00
parent 88fc280dd5
commit 49879123a4
4 changed files with 57 additions and 0 deletions

View file

@ -70,6 +70,33 @@ in {
linux.programs = {
grub.enable = true;
systemd-networkd = {
enable = true;
networks =
let device = "enp0s31f6";
in {
${device} = {
Match = {
Name = device;
};
Network = {
Address = "2a01:4f8:10b:2644::2/64";
Gateway = [
"94.130.48.193"
"fe80::1"
];
};
Address = {
Address = "94.130.48.251";
Peer = "94.130.48.193/32";
};
};
};
};
docker = {
services = {
anki-sync.enable = true;

View file

@ -0,0 +1,13 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../../lib/software.fish"
inherit "$dir/../../../Common/Software/systemd-networkd/main.fish"
function configureSW -V dir
systemctl enable systemd-networkd
configureSWBase $argv
end
runInstaller $argv
end

View file

@ -71,6 +71,7 @@ function deploySoftware -d "Deploys a the specified software action" -a action
end
and source "$dir/../../Common/Software/bash/main.fish" $argv
and source "$dir/../Software/systemd-networkd/main.fish" $argv
and source "$dir/../Software/btrfs/main.fish" $argv
and source "$dir/../../Common/Software/nuke-usb/main.fish" $argv
and source "$dir/../Software/sudo/main.fish" $argv

View file

@ -0,0 +1,16 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../../lib/software.fish"
function configureSW -V dir
source "$dir/../../../lib/settings.fish"
set config (getProgramConfig $argv --json)
for name in (echo "$config" | jq '.networkFiles | keys[]' --raw-output0 | string split0 || true)
echo "$config" | NAME=$name jq '.networkFiles[env.NAME]' | sudo tee "/etc/systemd/network/10-$name.network" >/dev/null
end
end
runInstaller $argv
end