diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/mo/mods/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/mo/mods/package.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/mo/mods/package.nix b/nixpkgs/pkgs/by-name/mo/mods/package.nix new file mode 100644 index 000000000000..abad5bc7b678 --- /dev/null +++ b/nixpkgs/pkgs/by-name/mo/mods/package.nix @@ -0,0 +1,67 @@ +{ + lib, + buildGoModule, + installShellFiles, + fetchFromGitHub, + gitUpdater, + testers, + mods, +}: + +buildGoModule rec { + pname = "mods"; + version = "1.4.1"; + + src = fetchFromGitHub { + owner = "charmbracelet"; + repo = "mods"; + rev = "v${version}"; + hash = "sha256-s2yzrOfZievm7t9NzHojVDNpHkQdZsqdq7zJNO7/SM8="; + }; + + vendorHash = "sha256-Q+lpf35tAIZSHV8FBmYrgKbg5RTJzS33Zv8AH9bVxLY="; + + nativeBuildInputs = [ + installShellFiles + ]; + + ldflags = [ + "-s" + "-w" + "-X=main.Version=${version}" + ]; + + # These tests require internet access. + checkFlags = [ "-skip=^TestLoad/http_url$|^TestLoad/https_url$" ]; + + passthru = { + updateScript = gitUpdater { + rev-prefix = "v"; + ignoredVersions = ".(rc|beta).*"; + }; + + tests.version = testers.testVersion { + package = mods; + command = "HOME=$(mktemp -d) mods -v"; + }; + }; + + postInstall = '' + export HOME=$(mktemp -d) + $out/bin/mods man > mods.1 + $out/bin/mods completion bash > mods.bash + $out/bin/mods completion fish > mods.fish + $out/bin/mods completion zsh > mods.zsh + + installManPage mods.1 + installShellCompletion mods.{bash,fish,zsh} + ''; + + meta = with lib; { + description = "AI on the command line"; + homepage = "https://github.com/charmbracelet/mods"; + license = licenses.mit; + maintainers = with maintainers; [ dit7ya caarlos0 ]; + mainProgram = "mods"; + }; +} |