rss email digests over ssh because you're a cool kid herald.dunkirk.sh
go rss rss-reader ssh charm
at main 1.8 kB view raw
1{ 2 description = "Herald - RSS feed aggregator"; 3 4 inputs = { 5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 }; 7 8 outputs = 9 { self, nixpkgs }: 10 let 11 allSystems = [ 12 "x86_64-linux" # 64-bit Intel/AMD Linux 13 "aarch64-linux" # 64-bit ARM Linux 14 "x86_64-darwin" # 64-bit Intel macOS 15 "aarch64-darwin" # 64-bit ARM macOS 16 ]; 17 forAllSystems = 18 f: 19 nixpkgs.lib.genAttrs allSystems ( 20 system: 21 f { 22 pkgs = import nixpkgs { inherit system; }; 23 } 24 ); 25 in 26 { 27 packages = forAllSystems ( 28 { pkgs }: 29 { 30 default = pkgs.buildGoModule { 31 pname = "herald"; 32 version = "0.1.1"; 33 subPackages = [ "." ]; 34 src = self; 35 vendorHash = "sha256-IE7JMJ4DehwYxrkh5YCgw7yWdybxtCCxWQO7M/u6bno="; 36 ldflags = [ 37 "-X main.commitHash=${self.rev or self.dirtyRev or "dev"}" 38 "-X main.version=0.1.1" 39 ]; 40 }; 41 } 42 ); 43 44 devShells = forAllSystems ( 45 { pkgs }: 46 { 47 default = pkgs.mkShell { 48 buildInputs = with pkgs; [ 49 go_1_24 50 gopls 51 gotools 52 go-tools 53 golangci-lint 54 delve 55 goreleaser 56 ]; 57 58 shellHook = '' 59 echo "Herald development environment" 60 echo "Go version: $(go version)" 61 echo "golangci-lint version: $(golangci-lint version)" 62 ''; 63 }; 64 } 65 ); 66 67 apps = forAllSystems ( 68 { pkgs }: 69 { 70 default = { 71 type = "app"; 72 program = "${self.packages.${pkgs.system}.default}/bin/herald"; 73 }; 74 } 75 ); 76 }; 77}