Last active
May 6, 2026 21:25
-
-
Save samestep/2365535dc9afd10458b918919d7c2383 to your computer and use it in GitHub Desktop.
All one-byte program names in Nixpkgs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "$": { | |
| "undollar": "Eat the dollar sign in the command you just pasted into your terminal" | |
| }, | |
| ",": { | |
| "comma": "Runs programs without installing them" | |
| }, | |
| "9": { | |
| "plan9port": "Plan 9 from User Space", | |
| "plan9port-wayland": "Plan 9 from User Space (fork with wayland support)" | |
| }, | |
| "B": { | |
| "deadpixi-sam-unstable": "Updated version of the sam text editor", | |
| "ma": "Minimalistic variant of the Acme editor" | |
| }, | |
| "R": { | |
| "R": "Free software environment for statistical computing and graphics", | |
| "rWrapper": "Free software environment for statistical computing and graphics" | |
| }, | |
| "X": { | |
| "xorg-server": "X server implementation by X.org", | |
| "xquartz": "" | |
| }, | |
| "[": { | |
| "busybox": "Tiny versions of common UNIX utilities in a single small executable", | |
| "coreutils": "GNU Core Utilities", | |
| "coreutils-full": "GNU Core Utilities", | |
| "darwin.shell_cmds": "Darwin shell commands and the Almquist shell", | |
| "gash-utils": "Core POSIX utilities written in Guile Scheme", | |
| "minimal-bootstrap.coreutils-musl": "The GNU Core Utilities", | |
| "minimal-bootstrap.coreutils-static": "The GNU Core Utilities", | |
| "toybox": "Lightweight implementation of some Unix command line utilities", | |
| "uutils-coreutils-noprefix": "Cross-platform Rust rewrite of the GNU coreutils" | |
| }, | |
| "b": { | |
| "build2": "Build2 build system", | |
| "build2-bootstrap": "Bootstrap for the 'build2' package, you most likely want to use that one" | |
| }, | |
| "e": { | |
| "emacsclient-commands": "Collection of small shell utilities that connect to a local Emacs server" | |
| }, | |
| "g": { | |
| "g-ls": "Powerful ls alternative written in Go" | |
| }, | |
| "h": { | |
| "h": "Faster shell navigation of projects", | |
| "myrddin": "Systems language that is both powerful and fun to use" | |
| }, | |
| "k": { | |
| "kona": "Interpreter of K, APL-like programming language", | |
| "ngn-k": "Simple fast vector programming language" | |
| }, | |
| "m": { | |
| "m-cli": "Swiss Army Knife for macOS" | |
| }, | |
| "o": { | |
| "orbiton": "Config-free text editor and IDE limited to VT100" | |
| }, | |
| "q": { | |
| "q": "Tiny and feature-rich command line DNS client with support for UDP, TCP, DoT, DoH, DoQ, and ODoH", | |
| "q-text-as-data": "Run SQL directly on CSV or TSV files" | |
| }, | |
| "s": { | |
| "s-search": "Web search from the terminal" | |
| }, | |
| "t": { | |
| "t": "Command-line power tool for Twitter", | |
| "timetrap": "Simple command line time tracker written in ruby" | |
| }, | |
| "v": { | |
| "vlang": "Simple, fast, safe, compiled language for developing maintainable software" | |
| }, | |
| "w": { | |
| "busybox": "Tiny versions of common UNIX utilities in a single small executable", | |
| "darwin.shell_cmds": "Darwin shell commands and the Almquist shell", | |
| "procps": "Utilities that give information about processes using the /proc filesystem", | |
| "toybox": "Lightweight implementation of some Unix command line utilities", | |
| "uutils-procps": "Rust reimplementation of the procps project" | |
| }, | |
| "y": { | |
| "yakut": "Simple CLI tool for diagnostics and debugging of Cyphal networks" | |
| }, | |
| "z": { | |
| "z-lua": "New cd command that helps you navigate faster by learning your habits" | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import json, os, subprocess as s | |
| os.mkdir("d") | |
| os.symlink(os.environ["NIX_INDEX"], "d/files") | |
| r = {} | |
| for c in map(chr, range(32, 127)): | |
| p = s.check_output( | |
| [ | |
| "nix-locate", | |
| "--db", | |
| "d", | |
| "--minimal", | |
| "--at-root", | |
| "--whole-name", | |
| f"/bin/{c}", | |
| ], | |
| text=True, | |
| ).split() | |
| if p: | |
| r[c] = p | |
| json.dump(r, open(os.environ["out"], "w"), indent=2, sort_keys=True) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| inputs = { | |
| nix-index-database.url = "github:nix-community/nix-index-database/bc13aeaed568be76eab84df88ff39261bb52ff70"; | |
| nixpkgs.follows = "nix-index-database/nixpkgs"; | |
| }; | |
| outputs = | |
| { nix-index-database, nixpkgs, ... }: | |
| let | |
| s = [ | |
| "x86_64-linux" | |
| "aarch64-linux" | |
| "aarch64-darwin" | |
| ]; | |
| p = | |
| system: | |
| let | |
| pkgs = import nixpkgs { inherit system; }; | |
| l = pkgs.lib; | |
| m = builtins.fromJSON (builtins.readFile (builtins.derivation { | |
| name = "m"; | |
| inherit system; | |
| builder = "${pkgs.python3}/bin/python3"; | |
| NIX_INDEX = nix-index-database.packages.${system}.nix-index-small-database; | |
| PATH = l.makeBinPath [ pkgs.nix-index-unwrapped ]; | |
| args = [ ./binaries.py ]; | |
| })); | |
| j = pkgs.writeText "j" (builtins.toJSON (l.mapAttrs ( | |
| _: ps: | |
| builtins.listToAttrs (map ( | |
| o: | |
| let | |
| p = l.init (l.splitString "." o); | |
| in | |
| { | |
| name = l.concatStringsSep "." p; | |
| value = (l.attrByPath p null pkgs).meta.description or ""; | |
| } | |
| ) ps) | |
| ) m)); | |
| in | |
| pkgs.runCommand "binaries.json" { nativeBuildInputs = [ pkgs.jq ]; } "jq . ${j} >$out"; | |
| in | |
| { | |
| packages = nixpkgs.lib.genAttrs s (system: { default = p system; }); | |
| }; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment