{
  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
            pkgs.k3sup
            pkgs.git
            pkgs.go
            pkgs.gnumake
            pkgs.nodejs
            pkgs.kubernetes-helm
            pkgs.procps
            pkgs.playwright
            pkgs.playwright.browsers
            alias-kubectl
          ];

          PLAYWRIGHT_NODEJS_PATH = "${pkgs.nodejs}/bin/node";
          PLAYWRIGHT_CLI_PATH = "${pkgs.playwright}/cli.js";
          PLAYWRIGHT_BROWSERS_PATH = "${pkgs.playwright.browsers}";

          PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
          PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS = "true";

          GOPROXY = "https://goproxy.v1.dodo.cloud";
          GONOPROXY = "none";
        };
      }
    );
}
