-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
67 lines (61 loc) · 1.96 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
{
inputs = {
# Candidate channels
# - https://github.com/kachick/anylang-template/issues/17
# - https://discourse.nixos.org/t/differences-between-nix-channels/13998
# How to update the revision
# - `nix flake update --commit-lock-file` # https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-update.html
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
edge-nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{
self,
nixpkgs,
edge-nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
edge-pkgs = edge-nixpkgs.legacyPackages.${system};
in
rec {
formatter = edge-pkgs.nixfmt-rfc-style;
devShells.default =
with pkgs;
mkShell {
buildInputs = [
# https://github.com/NixOS/nix/issues/730#issuecomment-162323824
bashInteractive
nil
edge-pkgs.nixfmt-rfc-style
edge-pkgs.go_1_22
edge-pkgs.dprint
edge-pkgs.goreleaser
edge-pkgs.typos
go-task
];
};
packages.selfup = edge-pkgs.buildGo122Module rec {
pname = "selfup";
src = pkgs.lib.cleanSource self;
version = "v1.1.2";
ldflags = [
"-X main.version=${version}"
"-X main.commit=${if (self ? rev) then self.rev else "0000000000000000000000000000000000000000"}"
];
# When updating go.mod or go.sum, update this sha together as following
vendorHash = "sha256-wZb6U2CSYZvFyT7rT1FWMZpKpuAXjINZrfV0breLguI=";
};
packages.default = packages.selfup;
# `nix run`
apps.default = {
type = "app";
program = "${packages.selfup}/bin/selfup";
};
}
);
}