generated from onedr0p/cluster-template
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathflake.nix
62 lines (59 loc) · 2.23 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{
description = "A flake to install k8s-homelab environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
devshell.url = "github:numtide/devshell";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, devshell, flake-utils, nixpkgs }:
flake-utils.lib.eachDefaultSystem (system: {
devShells.default =
let
pkgs = import nixpkgs {
inherit system;
overlays = [
devshell.overlays.default
(final: prev: {
ansible = prev.python311.pkgs.ansible;
ansible-lint = (prev.ansible-lint.override {
python3 = prev.python311;
});
})
];
config = {
allowUnfree = true;
};
};
in
pkgs.devshell.mkShell {
name = "k8s-devshell";
# imports = [];
# a list of packages to add to the shell environment
packages = with pkgs; [
ansible # Radically simple IT automation
ansible-lint # Best practices checker for Ansible
bws # Bitwarden Secrets Manager
docker # Pack, ship and run any application as a lightweight container
fluxcd # flux CLI for gitops
hadolint # Dockerfile Linter JavaScript API
# helm # A package manager for kubernetes
# kopia # Cross-platform backup tool
krew # Package manager for kubectl plugins
kubectl # Kubernetes CLI
kubecolor # colorize kubectl output
kubernetes-helm # helm CLI
kustomize # Customization of kubernetes YAML configurations
minio-client # CLI for minio, An S3-compatible object storage server
# nerdctl # A Docker-compatible CLI for containerd
# openlens # Kubernetes IDE # NOTE: currently broken
restic # A backup program that is fast, efficient and secure
# velero # Kubernetes disaster recovery
#--- containers ---
# podman
colima
qemu
];
# imports = [ (devshell.importTOML ./devshell.toml) ];
};
});
}