-
Notifications
You must be signed in to change notification settings - Fork 101
Expand file tree
/
Copy pathflake.nix
More file actions
51 lines (48 loc) · 1.39 KB
/
flake.nix
File metadata and controls
51 lines (48 loc) · 1.39 KB
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
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs =
{ nixpkgs, ... }:
let
forAllSystems =
fn:
nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ] (
system: fn nixpkgs.legacyPackages.${system}
);
# Pin Go 1.25.9 until nixpkgs-unstable catches up from staging
goPinned = pkgs: pkgs.go_1_25.overrideAttrs (old: rec {
version = "1.25.9";
src = pkgs.fetchurl {
url = "https://go.dev/dl/go${version}.src.tar.gz";
hash = "sha256-DsnvjrzqCXqsN97K6fCachi0Uc2Wvn1u1RPY5Lz5Cc8=";
};
});
in
{
packages = forAllSystems (pkgs: {
default = (pkgs.buildGoModule.override { go = goPinned pkgs; }) {
pname = "msgvault";
version = "0.13.1";
src = ./.;
vendorHash = "sha256-TfrbpW6x2g/dcE9VSAy3ktT3knalC0QQgI3q77RCqQc=";
proxyVendor = true;
subPackages = [ "cmd/msgvault" ];
tags = [ "fts5" ];
ldflags = [
"-X github.com/wesm/msgvault/cmd/msgvault/cmd.Version=nix-dev"
];
};
});
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell {
packages = [
(goPinned pkgs)
pkgs.golangci-lint
pkgs.gcc
pkgs.prek
];
};
});
};
}