update examples so they build again

This commit is contained in:
Daniel Barlow 2023-08-28 16:08:46 +01:00
parent 00c8ea66ea
commit 23ccfec5fb
2 changed files with 22 additions and 30 deletions

View file

@ -13,14 +13,12 @@
secrets = import ./extneder-secrets.nix; secrets = import ./extneder-secrets.nix;
inherit inherit
(pkgs.liminix.networking) (pkgs.liminix.networking)
address
udhcpc
interface
route route
; ;
inherit (pkgs.liminix.services) oneshot longrun bundle target; inherit (pkgs.liminix.services) oneshot longrun bundle target;
inherit (pkgs.pseudofile) dir symlink; inherit (pkgs.pseudofile) dir symlink;
inherit (pkgs) writeText dropbear ifwait serviceFns; inherit (pkgs) writeText dropbear ifwait serviceFns;
svc = config.system.service;
in rec { in rec {
boot = { boot = {
tftp = { tftp = {
@ -32,6 +30,7 @@ in rec {
imports = [ imports = [
../modules/standard.nix ../modules/standard.nix
../modules/wlan.nix ../modules/wlan.nix
../modules/network
]; ];
hostname = "arhcive"; hostname = "arhcive";
@ -63,9 +62,10 @@ in rec {
services.dhcpc = services.dhcpc =
let iface = config.hardware.networkInterfaces.lan; let iface = config.hardware.networkInterfaces.lan;
in (udhcpc iface { in svc.network.dhcp.client.build {
interface = iface;
dependencies = [ config.services.hostname ]; dependencies = [ config.services.hostname ];
}) // { inherit (iface) device; }; };
services.sshd = longrun { services.sshd = longrun {
name = "sshd"; name = "sshd";

View file

@ -14,15 +14,13 @@
inherit inherit
(pkgs.liminix.networking) (pkgs.liminix.networking)
address address
udhcpc
hostapd
interface interface
route route
; ;
inherit (pkgs.liminix.services) oneshot longrun bundle target; inherit (pkgs.liminix.services) oneshot longrun bundle target;
inherit (pkgs.pseudofile) dir symlink; inherit (pkgs.pseudofile) dir symlink;
inherit (pkgs) dropbear ifwait serviceFns inherit (pkgs) dropbear ifwait serviceFns;
; svc = config.system.service;
in rec { in rec {
boot = { boot = {
tftp = { tftp = {
@ -33,6 +31,9 @@ in rec {
imports = [ imports = [
../modules/wlan.nix ../modules/wlan.nix
../modules/network
../modules/hostapd
../modules/bridge
../modules/standard.nix ../modules/standard.nix
]; ];
@ -71,7 +72,8 @@ in rec {
}; };
}; };
services.hostap = hostapd (config.hardware.networkInterfaces.wlan) { services.hostap = svc.hostapd.build {
interface = config.hardware.networkInterfaces.wlan;
params = { params = {
country_code = "GB"; country_code = "GB";
hw_mode = "g"; hw_mode = "g";
@ -91,24 +93,14 @@ in rec {
device = "int"; device = "int";
}; };
services.dhcpc = (udhcpc services.int { services.dhcpc = svc.network.dhcp.client.build {
interface = services.int;
dependencies = [ config.services.hostname ]; dependencies = [ config.services.hostname ];
}) // { device = "int"; };
services.bridge = let
primary = services.int;
addif = dev:
oneshot {
name = "add-${dev.device}-to-bridge";
up = "${ifwait}/bin/ifwait -v ${dev.device} running && ip link set dev ${dev.device} master ${primary.device}";
down = "ip link set dev ${dev} nomaster";
dependencies = [primary dev];
}; };
in
bundle { services.bridge = svc.bridge.members.build {
name = "bridge-members"; primary = services.int;
contents = with config.hardware.networkInterfaces; members = with config.hardware.networkInterfaces; [
map addif [
lan lan
wlan wlan
]; ];