{ description = "PVV-DNS"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; # Broken, wait for https://github.com/nix-community/dns.nix/pull/52 #dns.url = "github:nix-community/dns.nix"; dns.url = "github:felixalbrigtsen/dns.nix"; dns.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { nixpkgs, dns, ... }@inputs: let inherit (nixpkgs) lib; systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; forAllSystems = f: lib.genAttrs systems f; in { packages = forAllSystems ( system: let pkgs = nixpkgs.legacyPackages.${system}; in rec { zoneFiles = pkgs.callPackage ./zoneConfig.nix { inherit dns; }; nsdConfig = pkgs.callPackage ./nsd.conf.nix { inherit pkgs; }; default = pkgs.runCommand "pvv-dns" { } '' mkdir -p $out/zones mkdir -p $out/etc/nsd cp -r ${zoneFiles}/* $out/zones/ cp -r ${nsdConfig} $out/etc/nsd/nsd.conf ''; } ); }; }