dns-records/flake.nix
2025-05-02 21:14:30 +02:00

55 lines
1.3 KiB
Nix

{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = {
nixpkgs,
self,
}: let
pkgs = nixpkgs;
lib = pkgs.lib;
mkAllSystems = lib.genAttrs [
"aarch64-darwin"
"aarch64-linux"
"i686-linux"
"x86_64-darwin"
"x86_64-linux"
];
in {
formatter = mkAllSystems (system: pkgs.legacyPackages.${system}.alejandra);
devShells = mkAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
default = pkgs.mkShell {
nativeBuildInputs = [pkgs.dnscontrol];
shellHook =
# Auth Token
''
echo "Bitte einen deSEC-Auth-Token eingeben:"
read -rs DESEC_AUTH_TOKEN
export DESEC_AUTH_TOKEN
''
# Mini-Anleitung
+ ''
echo ""
echo "Prüfen: dnscontrol preview"
echo "Ausrollen: dnscontrol push"
echo "Zone-Dateien generieren: generate-zone-file [domain]"
echo ""
''
# Zonen-Datei generieren
+ ''
generate-zone-file () {
if [[ "$1" != "" ]]; then
dnscontrol get-zone --format=zone --out $1.zone' desec - $1
else
echo "Bitte eine valide Domain eingeben"
fi
};
'';
};
});
};
}