#+TITLE: NixOS Modules #+AUTHOR: spacefrogg #+EMAIL: git@spacefrogg.net #+startup: showall * Modules ** tinydns A replacement for the upstream tinydns module. This module extends the service in an incompatible way. You instantiate a service by adding an attribute == under =services.tinydns=. This flake comes with an extended =lib= attribute, which you must use in your nixos configuration (e.g. in the call to =nixpkgs#lib.nixosSystem=) to have special functions under =lib.tinydns= available that create tinydns records from functions and arguments. See the module documentation for currently available functions. * Development This comes with a self-contained redo toolchain to help in working with the flake. It basically deploys any input flake into the =tmp= directory for easier access. redo targets under =tmp/= come in three kinds: - =clean= :: will remove all build products under =tmp/= - == :: will make sure a store path to == exists and puts an indirect root into =tmp/=. - =.rw= :: will make sure a store path to == exists and will copy its contents to =tmp/..rw= and will link to it from =tmp/.rw=. (Rationale: On Linux, directories cannot denote reliable targets due to their non-trivial relation to modification time.)