summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorseth <[email protected]>2024-05-05 11:35:18 -0400
committerGitHub <[email protected]>2024-05-05 11:35:18 -0400
commit34a7a042a36b63eb6b900932b1e420e4b6014a57 (patch)
tree40dace9b4bb7b6e99c5d54165d8eb203963f5306 /ext
parent9380483bdf038149fc308698e9f115b1474a0c85 (diff)
simplify some things (#353)
* flake: drop flake-parts * flake: add back flake-parts * flake: use flake module again for configurations
Diffstat (limited to 'ext')
-rw-r--r--ext/openwrt.nix82
-rw-r--r--ext/terranix/default.nix29
2 files changed, 65 insertions, 46 deletions
diff --git a/ext/openwrt.nix b/ext/openwrt.nix
index d0e8d08..f02f8ef 100644
--- a/ext/openwrt.nix
+++ b/ext/openwrt.nix
@@ -1,42 +1,54 @@
-{withSystem, ...}: let
- mkScript = script:
- withSystem "x86_64-linux" (
- {pkgs, ...}:
- pkgs.runCommand "image-files" {} script
- );
+{
+ lib,
+ inputs,
+ withSystem,
+ ...
+}: let
+ pkgs = withSystem "x86_64-linux" ({pkgs, ...}: pkgs);
+
+ profileFromRelease = release:
+ (inputs.openwrt-imagebuilder.lib.profiles {
+ inherit pkgs release;
+ })
+ .identifyProfile;
- setDefaults = opts:
- mkScript ''
- mkdir -p $out/etc/uci-defaults
+ mkImage = {profile, ...} @ args:
+ inputs.openwrt-imagebuilder.lib.build (
+ profileFromRelease args.release profile
+ // builtins.removeAttrs args ["profile" "release"]
+ );
- cat > $out/etc/uci-defaults/99-custom << EOF
- uci -q batch << EOI
- ${opts}
- commit
- EOI
- EOF
- '';
+ mapImages = lib.mapAttrs (lib.const mkImage);
in {
- openWrtImages = {
- turret = {
- release = "23.05.0";
- profile = "netgear_wac104";
+ flake.legacyPackages.x86_64-linux = {
+ openWrtImages = mapImages {
+ turret = {
+ release = "23.05.0";
+ profile = "netgear_wac104";
+
+ files = pkgs.runCommand "image-files" {} ''
+ mkdir -p $out/etc/uci-defaults
- files = setDefaults ''
- set system.@system[0].hostname="turret"
- del_list network.@device[0].ports="lan4"
- set network.wan="interface"
- set network.wan.device="lan4"
- set network.wan.proto="dhcp"
- set wireless.default_radio0.ssid="Box-2.4G"
- set wireless.default_radio0.encryption="psk2"
- set wireless.default_radio0.key="CorrectHorseBatteryStaple"
- set wireless.default_radio1.ssid="Box-5G"
- set wireless.default_radio1.encryption="psk2"
- set wireless.default_radio1.key="CorrectHorseBatteryStaple"
- add_list dhcp.@dnsmasq[0].server="1.1.1.1"
- add_list dhcp.@dnsmasq[0].server="1.0.0.1"
- '';
+ cat > $out/etc/uci-defaults/99-custom << EOF
+ uci -q batch << EOI
+ set system.@system[0].hostname="turret"
+ del_list network.@device[0].ports="lan4"
+ set network.wan="interface"
+ set network.wan.device="lan4"
+ set network.wan.proto="dhcp"
+ set wireless.default_radio0.ssid="Box-2.4G"
+ set wireless.default_radio0.encryption="psk2"
+ set wireless.default_radio0.key="CorrectHorseBatteryStaple"
+ set wireless.default_radio1.ssid="Box-5G"
+ set wireless.default_radio1.encryption="psk2"
+ set wireless.default_radio1.key="CorrectHorseBatteryStaple"
+ add_list dhcp.@dnsmasq[0].server="1.1.1.1"
+ add_list dhcp.@dnsmasq[0].server="1.0.0.1"
+ commit
+ EOI
+ EOF
+ '';
+ };
};
};
}
diff --git a/ext/terranix/default.nix b/ext/terranix/default.nix
index 93e73a6..c70d4d8 100644
--- a/ext/terranix/default.nix
+++ b/ext/terranix/default.nix
@@ -1,18 +1,25 @@
-{
- perSystem = {pkgs, ...}: {
- terranix = {
- package = pkgs.opentofu.withPlugins (plugins: [
+{inputs, ...}: {
+ perSystem = {
+ pkgs,
+ system,
+ ...
+ }: {
+ packages = {
+ opentofu = pkgs.opentofu.withPlugins (plugins: [
plugins.cloudflare
plugins.tailscale
]);
- modules = [
- ./cloudflare
- ./tailscale
- ./cloud.nix
- ./vars.nix
- ./versions.nix
- ];
+ terranix = inputs.terranix.lib.terranixConfiguration {
+ inherit system;
+ modules = [
+ ./cloudflare
+ ./tailscale
+ ./cloud.nix
+ ./vars.nix
+ ./versions.nix
+ ];
+ };
};
};
}