From deeade08e04373fd631cb34ba23cc39a37c2f962 Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Wed, 16 Jul 2025 11:57:42 +0200 Subject: [PATCH 1/4] mods: use `finalAttrs` instead of `rec` --- pkgs/by-name/mo/mods/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/mo/mods/package.nix b/pkgs/by-name/mo/mods/package.nix index cbc5d2e42032..43f6c94606f8 100644 --- a/pkgs/by-name/mo/mods/package.nix +++ b/pkgs/by-name/mo/mods/package.nix @@ -8,14 +8,14 @@ mods, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "mods"; version = "1.7.0"; src = fetchFromGitHub { owner = "charmbracelet"; repo = "mods"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-wzLYkcgUWPzghJEhYRh7HH19Rqov1RJAxdgp3AGnOTY="; }; @@ -28,7 +28,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X=main.Version=${version}" + "-X=main.Version=${finalAttrs.version}" ]; # These tests require internet access. @@ -67,4 +67,4 @@ buildGoModule rec { ]; mainProgram = "mods"; }; -} +}) From c5dbbe40830117582a6013fccad0a403338e34be Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Wed, 16 Jul 2025 11:59:54 +0200 Subject: [PATCH 2/4] mods: replace rev with tag in fetchFromGitHub --- pkgs/by-name/mo/mods/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/mo/mods/package.nix b/pkgs/by-name/mo/mods/package.nix index 43f6c94606f8..ef78cb7061bf 100644 --- a/pkgs/by-name/mo/mods/package.nix +++ b/pkgs/by-name/mo/mods/package.nix @@ -15,7 +15,7 @@ buildGoModule (finalAttrs: { src = fetchFromGitHub { owner = "charmbracelet"; repo = "mods"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-wzLYkcgUWPzghJEhYRh7HH19Rqov1RJAxdgp3AGnOTY="; }; From 08745440f4328c81c001a43d030587ab5e02d671 Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Tue, 15 Jul 2025 23:53:57 +0200 Subject: [PATCH 3/4] mods: improve installation of man pages and shell completions - Introduce `installManPages` and `installShellCompletions` flags to control installation of man pages and shell completions based on platform capability. - Conditionally include `installShellFiles` in `nativeBuildInputs` only if either man pages or shell completions are enabled. - Update `postInstall` to optionally install man pages and shell completions using the new flags, improving flexibility and platform compatibility. --- pkgs/by-name/mo/mods/package.nix | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/mo/mods/package.nix b/pkgs/by-name/mo/mods/package.nix index ef78cb7061bf..68228565eb93 100644 --- a/pkgs/by-name/mo/mods/package.nix +++ b/pkgs/by-name/mo/mods/package.nix @@ -1,11 +1,14 @@ { lib, + stdenv, buildGoModule, installShellFiles, fetchFromGitHub, gitUpdater, testers, mods, + installShellCompletions ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, + installManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: buildGoModule (finalAttrs: { @@ -21,7 +24,7 @@ buildGoModule (finalAttrs: { vendorHash = "sha256-L+4vkh7u6uMm5ICMk8ke5RVY1oYeKMYWVYYq9YqpKiw="; - nativeBuildInputs = [ + nativeBuildInputs = lib.optionals (installManPages || installShellCompletions) [ installShellFiles ]; @@ -46,16 +49,20 @@ buildGoModule (finalAttrs: { }; }; - 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} - ''; + postInstall = + '' + export HOME=$(mktemp -d) + '' + + lib.optionalString installManPages '' + $out/bin/mods man > ./mods.1 + installManPage ./mods.1 + '' + + lib.optionalString installShellCompletions '' + installShellCompletion --cmd mods \ + --bash <($out/bin/mods completion bash) \ + --fish <($out/bin/mods completion fish) \ + --zsh <($out/bin/mods completion zsh) + ''; meta = { description = "AI on the command line"; From 1f4e74596ca82b14a9d37a27992a2d03e4613d84 Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Thu, 17 Jul 2025 10:50:26 +0200 Subject: [PATCH 4/4] mods: add delafthi as maintainer --- pkgs/by-name/mo/mods/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/mo/mods/package.nix b/pkgs/by-name/mo/mods/package.nix index 68228565eb93..81249486e604 100644 --- a/pkgs/by-name/mo/mods/package.nix +++ b/pkgs/by-name/mo/mods/package.nix @@ -71,6 +71,7 @@ buildGoModule (finalAttrs: { maintainers = with lib.maintainers; [ dit7ya caarlos0 + delafthi ]; mainProgram = "mods"; };