1{
2 description = "matcha — a beautiful and functional email client for the terminal";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
6 flake-utils.url = "github:numtide/flake-utils";
7 };
8
9 outputs = { self, nixpkgs, flake-utils }:
10 flake-utils.lib.eachDefaultSystem (system:
11 let
12 pkgs = nixpkgs.legacyPackages.${system};
13 in
14 {
15 packages = rec {
16 matcha = pkgs.buildGoModule.override { go = pkgs.go_1_26; } {
17 pname = "matcha";
18 version = self.shortRev or "dev";
19
20 src = ./.;
21
22 vendorHash = "sha256-fZnAZwwQH2WNewS4pEkl7Bko4smdgo5omkdtA1voXkY=";
23
24 env.CGO_ENABLED = 0;
25
26 ldflags = [
27 "-s"
28 "-w"
29 "-X main.version=${self.shortRev or "dev"}"
30 "-X main.commit=${self.rev or "dirty"}"
31 "-X main.date=1970-01-01T00:00:00Z"
32 ];
33
34 meta = {
35 description = "A beautiful and functional email client for the terminal";
36 homepage = "https://github.com/floatpane/matcha";
37 license = pkgs.lib.licenses.mit;
38 mainProgram = "matcha";
39 };
40 };
41 default = matcha;
42 };
43
44 devShells.default = pkgs.mkShell {
45 buildInputs = with pkgs; [
46 go_1_26
47 gopls
48 gotools
49 ];
50 };
51 }
52 ) // {
53 overlays.default = final: _prev: {
54 matcha = self.packages.${final.system}.matcha;
55 };
56 };
57}