liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

service.nix (419B)


      1 {
      2   liminix,
      3   lib,
      4 }:
      5 {
      6   ifname,
      7   primary,
      8   vid,
      9 }:
     10 let
     11   inherit (liminix.services) oneshot;
     12 in
     13 oneshot rec {
     14   name = "${ifname}.link";
     15   up = ''
     16     ip link add link $(output ${primary} ifname) name ${ifname} type vlan id ${vid}
     17     ${liminix.networking.ifup name ifname}
     18     (in_outputs ${name}
     19      echo ${ifname} > ifname
     20     )
     21   '';
     22   down = "ip link set down dev ${ifname}";
     23   dependencies = [ primary ];
     24 }