A shepherd for your Appimages.
0

Configure Feed

Select the types of activity you want to include in your feed.

handle versions

Aly Raffauf (Jun 18, 2026, 12:11 AM EDT) 8def2de0 a9a3987c

+18 -11
+6 -4
cmd/appherder/cli.go
··· 12 12 func newRootCommand(a appherder.App, stdout io.Writer, stderr io.Writer) *cobra.Command { 13 13 cmd := &cobra.Command{ 14 14 Use: "appherder", 15 - Short: "A herder for your AppImages", 16 - Long: "appherder installs AppImages so they show up in your application menu with their\n" + 17 - "real name and icon, instead of sitting in a folder doing nothing. Drop AppImages in\n" + 18 - "~/AppImages and appherder keeps everything in sync.", 15 + Short: "A shepherd for your AppImages", 16 + Long: "appherder manages your AppImages for you. Drop them in ~/AppImages and they show\n" + 17 + "up in your menu like any other app, with their real name and icon. New versions\n" + 18 + "replace the old ones. Add or remove AppImages and appherder sorts it out,\n" + 19 + "optionally on its own.", 20 + Version: version, 19 21 SilenceUsage: true, 20 22 SilenceErrors: true, 21 23 }
+2
cmd/appherder/main.go
··· 7 7 "github.com/alyraffauf/appherder/internal/appherder" 8 8 ) 9 9 10 + var version = "dev" 11 + 10 12 func main() { 11 13 cmd := newRootCommand(appherder.NewApp(), os.Stdout, os.Stderr) 12 14 cmd.SetArgs(os.Args[1:])
+10 -7
package.nix
··· 1 1 { 2 2 buildGoModule, 3 3 lib, 4 - }: 5 - buildGoModule { 6 - pname = "appherder"; 4 + }: let 7 5 version = "dev"; 8 - src = ./.; 9 - vendorHash = "sha256-cnxgWLpc8l/dvJHgj1PkJrSYmsH88pCTISM+pf7Ulg4="; 10 - subPackages = ["cmd/appherder"]; 11 - } 6 + in 7 + buildGoModule { 8 + pname = "appherder"; 9 + inherit version; 10 + src = ./.; 11 + vendorHash = "sha256-cnxgWLpc8l/dvJHgj1PkJrSYmsH88pCTISM+pf7Ulg4="; 12 + subPackages = ["cmd/appherder"]; 13 + ldflags = ["-X main.version=${version}"]; 14 + }