summaryrefslogtreecommitdiff
path: root/dev/dev-shells.nix
blob: 946197078bab2d74785ad58b545d2a649a3806ee (plain)
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
{
  perSystem =
    {
      lib,
      pkgs,
      inputs',
      self',
      ...
    }:
    let
      nixos-rebuild = pkgs.nixos-rebuild.override { nix = pkgs.lix; };
      darwin-rebuild = inputs'.nix-darwin.packages.darwin-rebuild.override { nix = pkgs.lix; };
    in
    {
      devShells.default = pkgs.mkShellNoCC {
        packages =
          [
            # we want to make sure we have the same
            # nix behavior across machines
            pkgs.lix

            # format + lint
            pkgs.actionlint
            self'.formatter
            pkgs.nixfmt-rfc-style
            pkgs.nil
            pkgs.statix

            # utils
            pkgs.fzf # for just
            pkgs.just

            # terranix
            self'.packages.opentofu
          ]
          ++ lib.optional pkgs.stdenv.isDarwin darwin-rebuild # see above comment about {l,n}ix
          ++ lib.optionals pkgs.stdenv.isLinux [
            nixos-rebuild # ditto
            inputs'.agenix.packages.agenix
          ];
      };
    };
}