Skip to content

A reusable devenv w/ common tools needed for Kubernetes

Notifications You must be signed in to change notification settings

LCOGT/devenv-k8s

Repository files navigation

devenv-k8s

A reusable devenv w/ common tools needed for Kubernetes

Usage

For a quick one-off shell with all the tools:

nix develop github:LCOGT/devenv-k8s --impure

Import

Assuming you are using flake-parts, add the following to your flake.nix:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-parts.url = "github:hercules-ci/flake-parts";

+   devenv-k8s.url = "github:LCOGT/devenv-k8s";
  };

  outputs = inputs@{ flake-parts, ... }:
    flake-parts.lib.mkFlake { inherit inputs; } {
      imports = [
+       inputs.devenv-k8s.flakeModules.default
      ];

      systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];

      perSystem = { lib, config, ... }: {

+       config.devenv.shells.default = {
+         # ...
+       };
      };
    };
}

Next nix develop --impure, it will install the packages & scripts in this devenv in addition to any project specific ones.

Templates

For a new project you can simply use one of the provided templates to get started:

nix flake init -t github:LCOGT/devenv-k8s#app-repo

Updates

To pull in changes from upstream you need to run the following in the project that imports this:

nix flake update devenv-k8s

Cache

Some tools may require compiling. You can setup Nix to pull from a pre-built binary cache. This only needs to be done once:

nix profile install nixpkgs#cachix
cachix use lco-public

About

A reusable devenv w/ common tools needed for Kubernetes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published