Token导航 LogoToken导航TokenDH.com
开发规范执行命令github未标认证来源可访问clear审计异常

nix-packaging-best-practicesnix 包装最佳实践

Agent Skill

nix-packaging-best-practices 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

318

周安装

13

GitHub Stars

2

下载量

102
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:nix-packaging-best-practices(nix 包装最佳实践)
来源仓库:https://github.com/lihaoze123/my-skills
仓库路径:skills/nix-packaging-best-practices
安装命令:
npx skills add https://github.com/lihaoze123/my-skills --skill nix-packaging-best-practices
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/lihaoze123/my-skills --skill nix-packaging-best-practices

简介

nix-packaging-best-practices 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中整理仓库状态与协作事项。

  • 适用于围绕代码变更、项目进度或团队协作进行信息梳理的场景。
  • 通过 npx skills add 命令从 GitHub 仓库安装,需确认权限与维护状态。
  • 使用前应核实是否会触发联网、命令执行或文件读写操作。
  • 建议结合原始 README 和仓库路径进一步了解具体功能与限制。

SKILL.md

Packaging Binary Distributions for Nix

Extract and patch binary packages within Nix builds for reproducibility.

Core Principle

Source from original archive directly, never from pre-extracted directories.

When to Use

  • Converting binary packages (.deb,.rpm,.tar.gz,.zip) to Nix derivations
  • Packaging proprietary/closed-source software distributed as binaries
  • Electron/GUI apps show "library not found" errors
  • User provides pre-extracted binary contents
  • Binary distributions need library path fixes

Don't use for:

  • Software available in nixpkgs
  • Source-based packages (use standard derivation)
  • AppImages (use appimage-run or extract and patch)

Quick Reference

TopicRule File
Core pattern for.deb packagesessential-pattern
.rpm,.tar.gz,.zip extractionarchive-formats
nativeBuildInputs vs buildInputsdependencies
Local vs remote source filessource-files
Common pitfalls and fixescommon-mistakes
Finding missing libraries with lddfinding-libraries
Quick testing with steam-runquick-testing
Troubleshooting autoPatchelf errorstroubleshooting-autoPatchelf
Version variable in filenameversion-management
Electron app dependencieselectron-apps
FHS env for resistant binariesadvanced-fhs-env
Build phases and hooksbuild-phases
Wrapper scripts with makeWrapperwrapper-programs

Essential Pattern (.deb)

{ pkgs }:

pkgs.stdenv.mkDerivation rec {
  pname = "appname";
  version = "1.0.0";

  src = ./AppName-${version}-linux-amd64.deb;

  nativeBuildInputs = with pkgs; [
    autoPatchelfHook  # Fixes library paths
    dpkg              # Extracts .deb
  ];

  buildInputs = with pkgs; [
    stdenv.cc.cc.lib
    glib
    gtk3
  ];

  unpackPhase = ''
    ar x $src
    tar xf data.tar.xz
  '';

  installPhase = ''
    mkdir -p $out
    cp -r opt/AppName/* $out/
  '';
}

Common Tasks

TaskSolution
Local archivesrc =./package-${version}.tar.gz
Remote archivesrc = fetchurl {url = "..."; hash = "sha256-...";}
Extract.debar x $src && tar xf data.tar.xz + dpkg
Extract.rpm`rpm2cpio $src \cpio -idmv` + rpm, cpio
Extract.tar.gzAuto-detected by stdenv
Extract.zipAdd unzip to nativeBuildInputs
Fix librariesAdd autoPatchelfHook to nativeBuildInputs
Find missing libsRun ldd result/bin/app for "not found"
Quick test binarynix-shell -p steam-run; steam-run./binary
Debug autoPatchelfnix log /nix/store/...-drv
Search librariesnix-locate libX11.so.6
Wrapper scriptsAdd makeWrapper to nativeBuildInputs
Version syncUse src =./app-${version}.tar.gz

Dependency Categories

nativeBuildInputs: Build-time tools (dpkg, autoPatchelfHook, makeWrapper) buildInputs: Runtime libraries (gtk3, glib, libpulseaudio) propagatedBuildInputs: Rarely needed for binary packaging

Common Library Mappings

Missing LibraryNix Package
libgtk-3.so.0gtk3
libglib-2.0.so.0glib
libpulse.so.0libpulseaudio
libGL.so.1mesa or libglvnd
libxkbcommon.so.0libxkbcommon (NOT xorg.libxkbcommon)
libstdc++.so.6stdenv.cc.cc.lib

Red Flags - STOP

  • "User already extracted it, use that directory" → NO, source from original archive
  • "Absolute path works for me locally" → Breaks for others, use relative
  • "Just add more libraries until it works" → Find actual dependencies with ldd

How to Use

Read individual rule files for detailed explanations and code examples:

rules/essential-pattern.md
rules/archive-formats.md
rules/_sections.md

Each rule file contains:

  • Brief explanation of why it matters
  • Incorrect code example with explanation
  • Correct code example with explanation
  • Additional context and references

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenCode

25.71%
按下载量换算26

Claude Code

22.01%
按下载量换算22

windsurf

18.59%
按下载量换算19

trae

12.65%
按下载量换算13

Cursor

6.97%
按下载量换算7

Codex

3.29%
按下载量换算3

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/lihaoze123/my-skills --skill nix-packaging-best-practices;npx skills add lihaoze123/my-skills --skill "nix-packaging-best-practices" 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills