From 71a601cfc5a2faa3124f1001af18494619fc63ee Mon Sep 17 00:00:00 2001 From: atagen Date: Sun, 21 Jun 2026 14:03:31 +1000 Subject: [PATCH 1/2] tack: init at 1.0.0 (cherry picked from commit de643f257ba6e37fd9b58e742c4f7155a0a8a446) --- pkgs/by-name/ta/tack/package.nix | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ta/tack/package.nix diff --git a/pkgs/by-name/ta/tack/package.nix b/pkgs/by-name/ta/tack/package.nix new file mode 100644 index 000000000000..6b4d448cb70b --- /dev/null +++ b/pkgs/by-name/ta/tack/package.nix @@ -0,0 +1,43 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "tack"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "manic-systems"; + repo = "tack"; + tag = "v${finalAttrs.version}"; + hash = "sha256-KhJb0NWLhj8AkD8uWEbXt179YlFLemk0OgOltw4jEk8="; + }; + + __structuredAttrs = true; + strictDeps = true; + + cargoHash = "sha256-3vDMM5uTsmRso6McH/b3+RpjeKjhgQm9V1piBrnSRjk="; + + prePatch = '' + rm .cargo/config.toml + ''; + + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + homepage = "https://github.com/manic-systems/tack"; + description = "flake-like toml nix pins, lazily fetched and transformed"; + mainProgram = "tack"; + license = [ lib.licenses.eupl12 ]; + maintainers = with lib.maintainers; [ + amaanq + atagen + faukah + max + NotAShelf + ]; + }; +}) From f7b759a80e65adc0eb12935d7700bab66a4e4ff5 Mon Sep 17 00:00:00 2001 From: atagen Date: Sun, 21 Jun 2026 14:13:51 +1000 Subject: [PATCH 2/2] nixos/tack: init (cherry picked from commit 74b9979f50c299d1ebe22fbc40bef117c301502a) --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/tack.nix | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 nixos/modules/programs/tack.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 6134fee6a1ab..05183e91e7b5 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -327,6 +327,7 @@ ./programs/sysdig.nix ./programs/system-config-printer.nix ./programs/systemtap.nix + ./programs/tack.nix ./programs/tcpdump.nix ./programs/television.nix ./programs/throne.nix diff --git a/nixos/modules/programs/tack.nix b/nixos/modules/programs/tack.nix new file mode 100644 index 000000000000..6b39c72bda4e --- /dev/null +++ b/nixos/modules/programs/tack.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.programs.tack; +in +{ + options.programs.tack = { + enable = lib.mkEnableOption "tack, flake-like toml nix pins"; + + package = lib.mkPackageOption pkgs "tack" { }; + + nixConfTokens = lib.mkEnableOption "tack reading access tokens from nix.conf (significantly improves comparison speed)"; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + environment.sessionVariables = lib.mkIf cfg.nixConfTokens { + TACK_NIX_CONF_TOKENS = "1"; + }; + }; +}