# SPDX-FileCopyrightText: 2024 Ryan Lahfa # # SPDX-License-Identifier: EUPL-1.2 { config, pkgs, ... }: let inherit (pkgs.liminix.services) oneshot; inherit (pkgs.pseudofile) dir symlink; inherit (pkgs) serviceFns; in { # TODO: support dynamic reconfiguration once we are in the target VLAN? services.resolvconf = oneshot rec { name = "resolvconf"; up = '' . ${serviceFns} ( in_outputs ${name} for i in $(output ${config.services.dhcpv4} dns); do echo "nameserver $i" >> resolv.conf done ) ''; dependencies = [ config.services.dhcpv4 ]; }; filesystem = dir { etc = dir { "resolv.conf" = symlink "${config.services.resolvconf}/.outputs/resolv.conf"; }; }; }