| { |
| description = "dodo dev shell"; |
| inputs = { |
| nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; |
| systems.url = "github:nix-systems/default"; |
| flake-utils = { |
| url = "github:numtide/flake-utils"; |
| inputs.systems.follows = "systems"; |
| }; |
| # v1.33.1 |
| nixpkgs-kubectl.url = "github:NixOS/nixpkgs/076e8c6678d8c54204abcb4b1b14c366835a58bb"; |
| # v2.8.8 |
| nixpkgs-fluxcd.url = "github:NixOS/nixpkgs/e1ea2e5ee3decc21eaf91862bd3de37701e57595"; |
| }; |
| |
| outputs = |
| { nixpkgs, flake-utils, nixpkgs-kubectl, nixpkgs-fluxcd, ... }: |
| flake-utils.lib.eachDefaultSystem ( |
| system: |
| let |
| pkgs = nixpkgs.legacyPackages.${system}; |
| pkgs-kubectl = import nixpkgs-kubectl { inherit system; }; |
| pkgs-fluxcd = import nixpkgs-fluxcd { inherit system; }; |
| kubectl = pkgs-kubectl.kubectl; |
| fluxcd = pkgs-fluxcd.fluxcd; |
| alias-kubectl = pkgs.writeShellScriptBin "k" '' |
| exec ${kubectl}/bin/kubectl "$@" |
| ''; |
| in |
| { |
| devShells.default = pkgs.mkShell { |
| packages = [ |
| pkgs.bashInteractive |
| kubectl |
| fluxcd |
| pkgs.k9s |
| alias-kubectl |
| ]; |
| }; |
| } |
| ); |
| } |