rss email digests over ssh because you're a cool kid herald.dunkirk.sh
go rss rss-reader ssh charm

feat: add package

dunkirk.sh 5e952a22 cf8e46b9

verified
Changed files
+64 -58
-34
flake.lock
··· 1 1 { 2 2 "nodes": { 3 - "flake-utils": { 4 - "inputs": { 5 - "systems": "systems" 6 - }, 7 - "locked": { 8 - "lastModified": 1731533236, 9 - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 10 - "owner": "numtide", 11 - "repo": "flake-utils", 12 - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 13 - "type": "github" 14 - }, 15 - "original": { 16 - "owner": "numtide", 17 - "repo": "flake-utils", 18 - "type": "github" 19 - } 20 - }, 21 3 "nixpkgs": { 22 4 "locked": { 23 5 "lastModified": 1767892417, ··· 36 18 }, 37 19 "root": { 38 20 "inputs": { 39 - "flake-utils": "flake-utils", 40 21 "nixpkgs": "nixpkgs" 41 - } 42 - }, 43 - "systems": { 44 - "locked": { 45 - "lastModified": 1681028828, 46 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 47 - "owner": "nix-systems", 48 - "repo": "default", 49 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 50 - "type": "github" 51 - }, 52 - "original": { 53 - "owner": "nix-systems", 54 - "repo": "default", 55 - "type": "github" 56 22 } 57 23 } 58 24 },
+64 -24
flake.nix
··· 3 3 4 4 inputs = { 5 5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 - flake-utils.url = "github:numtide/flake-utils"; 7 6 }; 8 7 9 - outputs = { self, nixpkgs, flake-utils }: 10 - flake-utils.lib.eachDefaultSystem (system: 11 - let 12 - pkgs = nixpkgs.legacyPackages.${system}; 13 - in 14 - { 15 - devShells.default = pkgs.mkShell { 16 - buildInputs = with pkgs; [ 17 - go_1_24 18 - golangci-lint 19 - gotools 20 - gopls 21 - delve 22 - goreleaser 23 - ]; 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.0"; 33 + subPackages = [ "." ]; 34 + src = self; 35 + vendorHash = "sha256-IE7JMJ4DehwYxrkh5YCgw7yWdybxtCCxWQO7M/u6bno="; 36 + }; 37 + } 38 + ); 24 39 25 - shellHook = '' 26 - echo "Herald development environment" 27 - echo "Go version: $(go version)" 28 - echo "golangci-lint version: $(golangci-lint version)" 29 - ''; 30 - }; 31 - } 32 - ); 40 + devShells = forAllSystems ( 41 + { pkgs }: 42 + { 43 + default = pkgs.mkShell { 44 + buildInputs = with pkgs; [ 45 + go_1_24 46 + gopls 47 + gotools 48 + go-tools 49 + golangci-lint 50 + delve 51 + goreleaser 52 + ]; 53 + 54 + shellHook = '' 55 + echo "Herald development environment" 56 + echo "Go version: $(go version)" 57 + echo "golangci-lint version: $(golangci-lint version)" 58 + ''; 59 + }; 60 + } 61 + ); 62 + 63 + apps = forAllSystems ( 64 + { pkgs }: 65 + { 66 + default = { 67 + type = "app"; 68 + program = "${self.packages.${pkgs.system}.default}/bin/herald"; 69 + }; 70 + } 71 + ); 72 + }; 33 73 }