DRY loopback interface, it's the same everywhere
This commit is contained in:
parent
0436025e91
commit
fec77a44b5
6 changed files with 30 additions and 73 deletions
30
extneder.nix
30
extneder.nix
|
@ -24,28 +24,6 @@
|
|||
inherit (pkgs) dropbear ifwait serviceFns
|
||||
;
|
||||
in rec {
|
||||
services.loopback = let
|
||||
iface = interface {
|
||||
type = "loopback";
|
||||
device = "lo";
|
||||
};
|
||||
in
|
||||
bundle {
|
||||
name = "loopback";
|
||||
contents = [
|
||||
(address iface {
|
||||
family = "inet4";
|
||||
address = "127.0.0.1";
|
||||
prefixLength = 8;
|
||||
})
|
||||
(address iface {
|
||||
family = "inet6";
|
||||
address = "::1";
|
||||
prefixLength = 128;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
boot = {
|
||||
tftp = {
|
||||
enable = true;
|
||||
|
@ -177,10 +155,10 @@ in rec {
|
|||
|
||||
services.default = target {
|
||||
name = "default";
|
||||
contents = with services; [
|
||||
loopback
|
||||
config.hardware.networkInterfaces.eth
|
||||
config.hardware.networkInterfaces.wlan
|
||||
contents =
|
||||
let links = config.hardware.networkInterfaces;
|
||||
in with services; [
|
||||
links.lo links.eth links.wlan
|
||||
int
|
||||
bridge
|
||||
hostap
|
||||
|
|
|
@ -3,6 +3,8 @@ let
|
|||
inherit (lib) mkEnableOption mkOption types isDerivation hasAttr ;
|
||||
inherit (pkgs.pseudofile) dir symlink;
|
||||
inherit (pkgs) busybox;
|
||||
inherit (pkgs.liminix.networking) address interface;
|
||||
inherit (pkgs.liminix.services) bundle;
|
||||
|
||||
type_service = types.package // {
|
||||
name = "service";
|
||||
|
@ -46,6 +48,18 @@ in {
|
|||
defaultProfile.packages = with pkgs;
|
||||
[ s6 s6-init-bin busybox execline s6-linux-init s6-rc ];
|
||||
|
||||
hardware.networkInterfaces = {
|
||||
lo =
|
||||
let iface = interface { type = "loopback"; device = "lo";};
|
||||
in bundle {
|
||||
name = "loopback";
|
||||
contents = [
|
||||
(address iface { family = "inet4"; address ="127.0.0.1"; prefixLength = 8;})
|
||||
(address iface { family = "inet6"; address ="::1"; prefixLength = 128;})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
kernel = rec {
|
||||
config = {
|
||||
IKCONFIG = "y";
|
||||
|
|
12
rotuer.nix
12
rotuer.nix
|
@ -22,16 +22,6 @@ let
|
|||
ifwait
|
||||
serviceFns;
|
||||
in rec {
|
||||
services.loopback =
|
||||
let iface = interface { type = "loopback"; device = "lo";};
|
||||
in bundle {
|
||||
name = "loopback";
|
||||
contents = [
|
||||
(address iface { family = "inet4"; address ="127.0.0.1"; prefixLength = 8;})
|
||||
(address iface { family = "inet6"; address ="::1"; prefixLength = 128;})
|
||||
];
|
||||
};
|
||||
|
||||
boot = {
|
||||
tftp = {
|
||||
enable = true;
|
||||
|
@ -221,7 +211,7 @@ in rec {
|
|||
services.default = target {
|
||||
name = "default";
|
||||
contents = with services; [
|
||||
loopback
|
||||
config.hardware.networkInterfaces.lo
|
||||
config.hardware.networkInterfaces.lan
|
||||
int
|
||||
bridge
|
||||
|
|
|
@ -3,16 +3,6 @@ let
|
|||
inherit (pkgs.liminix.networking) interface address pppoe route dnsmasq;
|
||||
inherit (pkgs.liminix.services) oneshot longrun bundle target output;
|
||||
in rec {
|
||||
services.loopback =
|
||||
let iface = interface { type = "loopback"; device = "lo";};
|
||||
in bundle {
|
||||
name = "loopback";
|
||||
contents = [
|
||||
(address iface { family = "inet4"; address ="127.0.0.1"; prefixLength = 8;})
|
||||
(address iface { family = "inet6"; address ="::1"; prefixLength = 128;})
|
||||
];
|
||||
};
|
||||
|
||||
services.lan4 =
|
||||
let iface = interface { type = "hardware"; device = "eth1";};
|
||||
in address iface { family = "inet4"; address ="192.168.19.1"; prefixLength = 24;};
|
||||
|
@ -75,7 +65,7 @@ in rec {
|
|||
services.default = target {
|
||||
name = "default";
|
||||
contents = with services; [
|
||||
loopback
|
||||
config.hardware.networkInterfaces.lo
|
||||
defaultroute4
|
||||
packet_forwarding
|
||||
dns
|
||||
|
|
|
@ -3,15 +3,7 @@ let
|
|||
inherit (pkgs.liminix.networking) interface address hostapd route dnsmasq;
|
||||
inherit (pkgs.liminix.services) oneshot longrun bundle target;
|
||||
in rec {
|
||||
services.loopback =
|
||||
let iface = interface { type = "loopback"; device = "lo";};
|
||||
in bundle {
|
||||
name = "loopback";
|
||||
contents = [
|
||||
(address iface { family = "inet4"; address ="127.0.0.1"; prefixLength = 8;})
|
||||
(address iface { family = "inet6"; address ="::1"; prefixLength = 128;})
|
||||
];
|
||||
};
|
||||
services.loopback = config.hardware.networkInterfaces.lo;
|
||||
|
||||
imports = [ ../../modules/wlan.nix ];
|
||||
|
||||
|
|
|
@ -7,15 +7,8 @@ in rec {
|
|||
./modules/tftpboot.nix
|
||||
./modules/wlan.nix
|
||||
];
|
||||
services.loopback =
|
||||
let iface = interface { type = "loopback"; device = "lo";};
|
||||
in bundle {
|
||||
name = "loopback";
|
||||
contents = [
|
||||
(address iface { family = "inet4"; address ="127.0.0.1"; prefixLength = 8;})
|
||||
(address iface { family = "inet6"; address ="::1"; prefixLength = 128;})
|
||||
];
|
||||
};
|
||||
services.loopback = config.hardware.networkInterfaces.lo;
|
||||
|
||||
services.dhcpv4 =
|
||||
let iface = interface { type = "hardware"; device = "eth0"; };
|
||||
in udhcpc iface {};
|
||||
|
|
Loading…
Reference in a new issue