|
3 | 3 |
|
4 | 4 | inputs = {
|
5 | 5 | nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
| 6 | + nixpkgs-pinned.url = "github:nixos/nixpkgs/5deee6281831847857720668867729617629ef1f"; |
6 | 7 | flake-utils.url = "github:numtide/flake-utils";
|
7 |
| - pnpm2nix.url = "github:nzbr/pnpm2nix-nzbr"; |
8 |
| - drpc.url = "github:storj/drpc/v0.0.33"; |
| 8 | + pnpm2nix = { |
| 9 | + url = "github:nzbr/pnpm2nix-nzbr"; |
| 10 | + inputs.nixpkgs.follows = "nixpkgs"; |
| 11 | + inputs.flake-utils.follows = "flake-utils"; |
| 12 | + }; |
| 13 | + drpc = { |
| 14 | + url = "github:storj/drpc/v0.0.34"; |
| 15 | + inputs.nixpkgs.follows = "nixpkgs"; |
| 16 | + inputs.flake-utils.follows = "flake-utils"; |
| 17 | + }; |
9 | 18 | };
|
10 | 19 |
|
11 |
| - outputs = { self, nixpkgs, flake-utils, drpc, pnpm2nix }: |
| 20 | + outputs = { self, nixpkgs, nixpkgs-pinned, flake-utils, drpc, pnpm2nix }: |
12 | 21 | flake-utils.lib.eachDefaultSystem (system:
|
13 | 22 | let
|
14 |
| - # Workaround for: terraform has an unfree license (‘bsl11’), refusing to evaluate. |
15 |
| - pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; |
| 23 | + pkgs = import nixpkgs { |
| 24 | + inherit system; |
| 25 | + # Workaround for: terraform has an unfree license (‘bsl11’), refusing to evaluate. |
| 26 | + config.allowUnfree = true; |
| 27 | + }; |
| 28 | + |
| 29 | + # pinnedPkgs is used to pin packages that need to stay in sync with CI. |
| 30 | + # Everything else uses unstable. |
| 31 | + pinnedPkgs = import nixpkgs-pinned { |
| 32 | + inherit system; |
| 33 | + }; |
| 34 | + |
16 | 35 | nodejs = pkgs.nodejs-18_x;
|
17 | 36 | # Check in https://search.nixos.org/packages to find new packages.
|
18 | 37 | # Use `nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update`
|
|
41 | 60 | gnused
|
42 | 61 | go_1_22
|
43 | 62 | go-migrate
|
44 |
| - golangci-lint |
| 63 | + (pinnedPkgs.golangci-lint) |
45 | 64 | gopls
|
46 | 65 | gotestsum
|
47 | 66 | jq
|
|
52 | 71 | mockgen
|
53 | 72 | nfpm
|
54 | 73 | nodejs
|
55 |
| - nodejs.pkgs.pnpm |
| 74 | + pnpm |
56 | 75 | openssh
|
57 | 76 | openssl
|
58 | 77 | pango
|
|
63 | 82 | protobuf
|
64 | 83 | protoc-gen-go
|
65 | 84 | ripgrep
|
66 |
| - sapling |
| 85 | + # This doesn't build on latest nixpkgs (July 10 2024) |
| 86 | + (pinnedPkgs.sapling) |
67 | 87 | shellcheck
|
68 |
| - shfmt |
| 88 | + (pinnedPkgs.shfmt) |
69 | 89 | sqlc
|
70 | 90 | terraform
|
71 | 91 | typos
|
|
0 commit comments