From d6c48612c4b4944e64499f70c5770235be3806d5 Mon Sep 17 00:00:00 2001 From: Julia Mertz Date: Wed, 27 Aug 2025 15:31:13 +0200 Subject: [PATCH] feat: LETS GOOO STEIGER! --- flake.lock | 90 ++++++++++++++++++++++++++++++++++++++++++ flake.nix | 15 +++++-- modules/kubernetes.nix | 16 +------- 3 files changed, 103 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 6df8376..19ac996 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,20 @@ { "nodes": { + "crane": { + "locked": { + "lastModified": 1755537552, + "narHash": "sha256-Tg+P8kFIneqnQLT8E0QqlCrldtdLo1n1y619/mxRD44=", + "owner": "ipetkov", + "repo": "crane", + "rev": "3c40c97e1881fff381e4615e82557b333edf65c4", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1746663147, @@ -16,12 +31,87 @@ "type": "github" } }, + "nixpkgs-ocitools": { + "locked": { + "lastModified": 1749738911, + "narHash": "sha256-XKXtCm32NTGJ4AZRcX9hz8tjcF5bwGiK/9Z3C3OEANs=", + "owner": "msanft", + "repo": "nixpkgs", + "rev": "3a858b3070e928d6eb79e0fcf21d0c16337edbb5", + "type": "github" + }, + "original": { + "owner": "msanft", + "ref": "msanft/oci/refactor", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1755577059, + "narHash": "sha256-5hYhxIpco8xR+IpP3uU56+4+Bw7mf7EMyxS/HqUYHQY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "97eb7ee0da337d385ab015a23e15022c865be75c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "nixpkgs": "nixpkgs", + "steiger": "steiger", "systems": "systems" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "steiger", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1755657401, + "narHash": "sha256-rPHuWPAcwW63wH1SUtDCqAnf2+60pi/pGMCIhVobzXc=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "292ca754b0f679b842fbfc4734f017c351f0e9eb", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "steiger": { + "inputs": { + "crane": "crane", + "nixpkgs": "nixpkgs_2", + "nixpkgs-ocitools": "nixpkgs-ocitools", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1756297232, + "narHash": "sha256-hHC8dcueW7MNLXioBIBW+6y5xaErupTGpfEkzLunRnc=", + "owner": "brainhivenl", + "repo": "steiger", + "rev": "9336051583e96188ff656b1bb92484153e016844", + "type": "github" + }, + "original": { + "owner": "brainhivenl", + "repo": "steiger", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1689347925, diff --git a/flake.nix b/flake.nix index 692c717..42117a6 100644 --- a/flake.nix +++ b/flake.nix @@ -2,12 +2,14 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; systems.url = "github:nix-systems/default-darwin"; + steiger.url = "github:brainhivenl/steiger"; }; outputs = { self, nixpkgs, systems, + steiger, }: { lib = with nixpkgs.lib; { eachSystem = genAttrs (import systems); @@ -21,7 +23,12 @@ eachSystemPkgs = self.lib.eachSystemOverlayedPkgs [self.overlays.default]; }; - packages = self.lib.eachSystemPkgs ({callPackage, ...}: { + packages = self.lib.eachSystemPkgs ({ + system, + callPackage, + ... + }: { + steiger = steiger.packages.${system}.default; bazelisk = callPackage ./pkgs/bazelisk.nix {}; apple-sdk = callPackage ./pkgs/apple-sdk.nix {}; thalassa-cloud-cli = callPackage ./pkgs/thalassa-cloud-cli.nix {}; @@ -32,17 +39,19 @@ overlays = { default = final: prev: let - packages = self.packages.${prev.system}; + inherit (prev) system; + packages = self.packages.${system}; in { brain = { - inherit (prev) aptakube; inherit (packages) + steiger bazelisk apple-sdk thalassa-cloud-cli protobuf-language-server ; + mkSdkShell = prev.callPackage ./pkgs/sdk-shell.nix {inherit (packages) apple-sdk;}; }; }; diff --git a/modules/kubernetes.nix b/modules/kubernetes.nix index 1f70c41..74cb28c 100644 --- a/modules/kubernetes.nix +++ b/modules/kubernetes.nix @@ -7,7 +7,6 @@ cfg = config.kubernetes; useK3d = cfg.clusterName != null; - useSkaffold = cfg.defaultRepo != null; in { options.kubernetes = with lib; { enable = mkEnableOption "Whether to enable local Kubernetes integrations"; @@ -18,12 +17,6 @@ in { default = null; }; - namespace = mkOption { - type = types.nullOr types.str; - description = "Default kubernetes namespace to execute skaffold in"; - default = null; - }; - defaultRepo = mkOption { type = types.nullOr types.str; description = "Path to default registry skaffold should use"; @@ -42,23 +35,16 @@ in { kubectl kubie k3d - skaffold + steiger kubernetes-helm ]; - env = { - SKAFFOLD_DEFAULT_REPO = lib.optionalString useSkaffold cfg.defaultRepo; - }; - process.managers.process-compose.tui.enable = lib.mkDefault false; processes = { k3d = lib.mkIf useK3d { exec = "k3d cluster start ${cfg.clusterName}"; }; - skaffold = lib.mkIf (useSkaffold && useK3d) { - exec = "kubie exec k3d-${cfg.clusterName} ${cfg.namespace} skaffold ${cfg.skaffoldCommand} --cleanup=false"; - }; }; }; }