From 5f848623dff7cbcd21911032e5fd4c77bcf7d413 Mon Sep 17 00:00:00 2001 From: seth Date: Sun, 4 Feb 2024 16:40:38 -0500 Subject: tree-wide: better separate/name some things --- dev/checks.nix | 13 -- dev/ci.nix | 28 ----- dev/default.nix | 11 -- dev/shell.nix | 34 ------ ext/default.nix | 6 + ext/openwrt/default.nix | 13 ++ ext/openwrt/turret/default.nix | 32 +++++ ext/openwrt/turret/files/etc/config/dhcp | 50 ++++++++ ext/openwrt/turret/files/etc/config/dropbear | 7 ++ ext/openwrt/turret/files/etc/config/firewall | 131 +++++++++++++++++++++ .../turret/files/etc/config/https-dns-proxy | 16 +++ ext/openwrt/turret/files/etc/config/luci | 41 +++++++ ext/openwrt/turret/files/etc/config/network | 30 +++++ ext/openwrt/turret/files/etc/config/rpcd | 10 ++ ext/openwrt/turret/files/etc/config/system | 16 +++ ext/openwrt/turret/files/etc/config/ucitrack | 56 +++++++++ ext/openwrt/turret/files/etc/config/uhttpd | 31 +++++ ext/openwrt/turret/files/etc/config/wireless | 34 ++++++ .../turret/files/etc/dropbear/authorized_keys | 1 + ext/terranix/cloud.nix | 7 ++ ext/terranix/cloudflare/default.nix | 21 ++++ ext/terranix/cloudflare/dns.nix | 64 ++++++++++ ext/terranix/cloudflare/ruleset.nix | 64 ++++++++++ ext/terranix/cloudflare/tunnels.nix | 11 ++ ext/terranix/default.nix | 20 ++++ ext/terranix/tailscale/acl.nix | 25 ++++ ext/terranix/tailscale/default.nix | 12 ++ ext/terranix/tailscale/devices.nix | 17 +++ ext/terranix/tailscale/dns.nix | 5 + ext/terranix/tailscale/tags.nix | 16 +++ ext/terranix/vars.nix | 11 ++ ext/terranix/versions.nix | 15 +++ flake.nix | 14 ++- repo/checks.nix | 13 ++ repo/ci.nix | 28 +++++ repo/default.nix | 11 ++ repo/shell.nix | 34 ++++++ systems/default.nix | 14 +-- systems/turret/default.nix | 32 ----- systems/turret/files/etc/config/dhcp | 50 -------- systems/turret/files/etc/config/dropbear | 7 -- systems/turret/files/etc/config/firewall | 131 --------------------- systems/turret/files/etc/config/https-dns-proxy | 16 --- systems/turret/files/etc/config/luci | 41 ------- systems/turret/files/etc/config/network | 30 ----- systems/turret/files/etc/config/rpcd | 10 -- systems/turret/files/etc/config/system | 16 --- systems/turret/files/etc/config/ucitrack | 56 --------- systems/turret/files/etc/config/uhttpd | 31 ----- systems/turret/files/etc/config/wireless | 34 ------ systems/turret/files/etc/dropbear/authorized_keys | 1 - terranix/cloud.nix | 7 -- terranix/cloudflare/default.nix | 21 ---- terranix/cloudflare/dns.nix | 64 ---------- terranix/cloudflare/ruleset.nix | 64 ---------- terranix/cloudflare/tunnels.nix | 11 -- terranix/default.nix | 20 ---- terranix/tailscale/acl.nix | 25 ---- terranix/tailscale/default.nix | 12 -- terranix/tailscale/devices.nix | 17 --- terranix/tailscale/dns.nix | 5 - terranix/tailscale/tags.nix | 16 --- terranix/vars.nix | 11 -- terranix/versions.nix | 15 --- 64 files changed, 858 insertions(+), 847 deletions(-) delete mode 100644 dev/checks.nix delete mode 100644 dev/ci.nix delete mode 100644 dev/default.nix delete mode 100644 dev/shell.nix create mode 100644 ext/default.nix create mode 100644 ext/openwrt/default.nix create mode 100644 ext/openwrt/turret/default.nix create mode 100644 ext/openwrt/turret/files/etc/config/dhcp create mode 100644 ext/openwrt/turret/files/etc/config/dropbear create mode 100644 ext/openwrt/turret/files/etc/config/firewall create mode 100644 ext/openwrt/turret/files/etc/config/https-dns-proxy create mode 100644 ext/openwrt/turret/files/etc/config/luci create mode 100644 ext/openwrt/turret/files/etc/config/network create mode 100644 ext/openwrt/turret/files/etc/config/rpcd create mode 100644 ext/openwrt/turret/files/etc/config/system create mode 100644 ext/openwrt/turret/files/etc/config/ucitrack create mode 100644 ext/openwrt/turret/files/etc/config/uhttpd create mode 100644 ext/openwrt/turret/files/etc/config/wireless create mode 100644 ext/openwrt/turret/files/etc/dropbear/authorized_keys create mode 100644 ext/terranix/cloud.nix create mode 100644 ext/terranix/cloudflare/default.nix create mode 100644 ext/terranix/cloudflare/dns.nix create mode 100644 ext/terranix/cloudflare/ruleset.nix create mode 100644 ext/terranix/cloudflare/tunnels.nix create mode 100644 ext/terranix/default.nix create mode 100644 ext/terranix/tailscale/acl.nix create mode 100644 ext/terranix/tailscale/default.nix create mode 100644 ext/terranix/tailscale/devices.nix create mode 100644 ext/terranix/tailscale/dns.nix create mode 100644 ext/terranix/tailscale/tags.nix create mode 100644 ext/terranix/vars.nix create mode 100644 ext/terranix/versions.nix create mode 100644 repo/checks.nix create mode 100644 repo/ci.nix create mode 100644 repo/default.nix create mode 100644 repo/shell.nix delete mode 100644 systems/turret/default.nix delete mode 100644 systems/turret/files/etc/config/dhcp delete mode 100644 systems/turret/files/etc/config/dropbear delete mode 100644 systems/turret/files/etc/config/firewall delete mode 100644 systems/turret/files/etc/config/https-dns-proxy delete mode 100644 systems/turret/files/etc/config/luci delete mode 100644 systems/turret/files/etc/config/network delete mode 100644 systems/turret/files/etc/config/rpcd delete mode 100644 systems/turret/files/etc/config/system delete mode 100644 systems/turret/files/etc/config/ucitrack delete mode 100644 systems/turret/files/etc/config/uhttpd delete mode 100644 systems/turret/files/etc/config/wireless delete mode 100644 systems/turret/files/etc/dropbear/authorized_keys delete mode 100644 terranix/cloud.nix delete mode 100644 terranix/cloudflare/default.nix delete mode 100644 terranix/cloudflare/dns.nix delete mode 100644 terranix/cloudflare/ruleset.nix delete mode 100644 terranix/cloudflare/tunnels.nix delete mode 100644 terranix/default.nix delete mode 100644 terranix/tailscale/acl.nix delete mode 100644 terranix/tailscale/default.nix delete mode 100644 terranix/tailscale/devices.nix delete mode 100644 terranix/tailscale/dns.nix delete mode 100644 terranix/tailscale/tags.nix delete mode 100644 terranix/vars.nix delete mode 100644 terranix/versions.nix diff --git a/dev/checks.nix b/dev/checks.nix deleted file mode 100644 index cf2b732..0000000 --- a/dev/checks.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - perSystem = {self', ...}: { - pre-commit = { - settings.hooks = { - actionlint.enable = true; - ${self'.formatter.pname}.enable = true; - deadnix.enable = true; - nil.enable = true; - statix.enable = true; - }; - }; - }; -} diff --git a/dev/ci.nix b/dev/ci.nix deleted file mode 100644 index e33c088..0000000 --- a/dev/ci.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - self, - ... -}: { - flake.hydraJobs = let - ciSystems = ["x86_64-linux"]; - - getOutputs = lib.getAttrs ciSystems; - - mapCfgsToDerivs = lib.mapAttrs (_: cfg: cfg.activationPackage or cfg.config.system.build.toplevel); - getCompatibleCfgs = lib.filterAttrs (_: cfg: lib.elem cfg.pkgs.system ciSystems); - in - builtins.foldl' lib.recursiveUpdate {} [ - ( - lib.genAttrs - ["nixosConfigurations" "homeConfigurations"] - ( - type: mapCfgsToDerivs (getCompatibleCfgs self."${type}") - ) - ) - ( - lib.genAttrs - ["checks" "devShells"] - (type: getOutputs self.${type}) - ) - ]; -} diff --git a/dev/default.nix b/dev/default.nix deleted file mode 100644 index d8da3fe..0000000 --- a/dev/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - imports = [ - ./checks.nix - ./ci.nix - ./shell.nix - ]; - - perSystem = {pkgs, ...}: { - formatter = pkgs.alejandra; - }; -} diff --git a/dev/shell.nix b/dev/shell.nix deleted file mode 100644 index 7442907..0000000 --- a/dev/shell.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - perSystem = { - pkgs, - config, - inputs', - self', - ... - }: { - devShells = { - default = pkgs.mkShellNoCC { - shellHook = config.pre-commit.installationScript; - packages = with pkgs; - [ - nix - - # format + lint - actionlint - self'.formatter - deadnix - nil - statix - - # utils - deploy-rs - fzf - just - config.terranix.package - ] - ++ lib.optional stdenv.isDarwin [inputs'.darwin.packages.darwin-rebuild] - ++ lib.optionals stdenv.isLinux [nixos-rebuild inputs'.agenix.packages.agenix]; - }; - }; - }; -} diff --git a/ext/default.nix b/ext/default.nix new file mode 100644 index 0000000..1001f94 --- /dev/null +++ b/ext/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./openwrt + ./terranix + ]; +} diff --git a/ext/openwrt/default.nix b/ext/openwrt/default.nix new file mode 100644 index 0000000..16f0fb9 --- /dev/null +++ b/ext/openwrt/default.nix @@ -0,0 +1,13 @@ +{ + withSystem, + inputs, + ... +}: { + flake.legacyPackages.x86_64-linux = withSystem "x86_64-linux" ({pkgs, ...}: { + openWrtImages = { + turret = pkgs.callPackage ./systems/turret { + inherit (inputs) openwrt-imagebuilder; + }; + }; + }); +} diff --git a/ext/openwrt/turret/default.nix b/ext/openwrt/turret/default.nix new file mode 100644 index 0000000..90ec750 --- /dev/null +++ b/ext/openwrt/turret/default.nix @@ -0,0 +1,32 @@ +{ + pkgs, + openwrt-imagebuilder, + ... +}: let + wrtProfiles = openwrt-imagebuilder.lib.profiles { + inherit pkgs; + release = "22.03.3"; + }; + + image = + wrtProfiles.identifyProfile "netgear_wac104" + // { + packages = ["https-dns-proxy"]; + + files = pkgs.runCommand "image-files" {} '' + mkdir -p $out/etc/uci-defaults + + cat > $out/etc/uci-defaults/99-custom < $out/etc/uci-defaults/99-custom <