-
Notifications
You must be signed in to change notification settings - Fork 2
/
flake.nix
90 lines (78 loc) · 2.44 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
description = "Atlas Nix configuration";
# Nixpkgs / NixOS version to use.
# inputs.nixpkgs.url = "nixpkgs/nixos-24.11";
# TODO: nixos-24.11 is not currently available, and required to build some
# flake, so we will use this one too too avoid using two different
# nixpkgs versions and increasing the space usage.
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs =
{ nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in
rec {
packages = {
kubevault = pkgs.rustPlatform.buildRustPackage {
pname = "kubevault";
version = "1.1.0";
src = pkgs.fetchFromGitHub {
owner = "chezmoi-sh";
repo = "kubevault";
rev = "1.1.0";
hash = "sha256-PLQusY/hiqy6GsEYsV2tQjUHckV/04o5mEaw6NLrZV8=";
};
cargoHash = "sha256-N85XU02MtkCm7zbvSA1Tv5VkKciJQM1Fwwb3F0vIOiU=";
};
};
devShells.default = pkgs.mkShell {
packages = [
packages.kubevault
# - Kubernetes and container tools
pkgs.dive
pkgs.docker-client
pkgs.helm-docs
pkgs.k3d
pkgs.k9s
pkgs.kubectl
pkgs.kubernetes-helm
pkgs.tilt
# - Development tools
pkgs.devcontainer
pkgs.just
pkgs.runme
# - Security and encryption tools
pkgs.age
pkgs.sops
# - Quality assurance tools
pkgs.bats
pkgs.commitlint
pkgs.lefthook
pkgs.nil
pkgs.nixfmt-rfc-style
pkgs.trunk-io
# - Shell miscellaneous utilities
pkgs.bashInteractive
pkgs.delta
pkgs.fzf
pkgs.lazygit
pkgs.nix-output-monitor
pkgs.yq-go
# Miscellaneous tools
pkgs.d2
];
env = {
BATS_ROOT = "${pkgs.bats}";
BATS_LIB_PATH = "${pkgs.bats.libraries.bats-assert}/share/bats:${pkgs.bats.libraries.bats-support}/share/bats:${pkgs.bats.libraries.bats-file}/share/bats";
};
installPhase = "";
};
}
);
}