https://github.com/ickc/navi-cheatsheets
Personal navi cheatsheets (ported from sman-snippets)
https://github.com/ickc/navi-cheatsheets
Last synced: 23 days ago
JSON representation
Personal navi cheatsheets (ported from sman-snippets)
- Host: GitHub
- URL: https://github.com/ickc/navi-cheatsheets
- Owner: ickc
- Created: 2026-05-06T13:53:17.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-09T18:00:33.000Z (25 days ago)
- Last Synced: 2026-06-09T20:03:24.114Z (25 days ago)
- Size: 111 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# navi-cheatsheets
Personal [navi](https://github.com/denisidoro/navi) cheatsheets.
## Installation
```bash
mkdir -p ~/.local/share/navi
git clone git@github.com:ickc/navi-cheatsheets.git ~/.local/share/navi/cheats
```
## Layout
Each file groups snippets by tool or theme. Snippet names follow
`tool:area:verb` (e.g. `git:branch:delete`, `mac:spotlight:disable`,
`brew:install`).
| File | Topics |
|------|--------|
| `acl.cheat` | recursive chgrp/chmod, setgid+sticky workflows |
| `archive.cheat` | tar/unzip plus streaming http extract |
| `bash.cheat` | path/PATH inspection, dir summaries, tee redirects, batch convert |
| `btrfs.cheat` | btrfs device/filesystem/subvolume + scrub + balance |
| `disk.cheat` | du/df, locate db, md5sum, dd benchmarks, badblocks/SMART/hdparm, f3 |
| `git.cheat` | git operations across log/diff/clone/remote/submodule/reset/merge/branch/tag/cherry-pick/batch/push/commit/pull/worktree |
| `hpc.cheat` | Cray PrgEnv modules, Slurm squeue/sbatch, OpenSSL pkcs12 split |
| `jekyll.cheat` | jekyll serve |
| `jj.cheat` | jj parallel to git.cheat (see "Modern alternatives" below) |
| `junkyard.cheat` | snippets queued for deletion; review and prune |
| `kitty.cheat` | kitty terminal theme switcher |
| `linux.cheat` | mount, users, power, network, display, kernel, mkfs, udev, vm, firewall, mce |
| `mac.cheat` | kext, power, finder, metadata, defaults/launchservices, spotlight, apps, disk, system |
| `media.cheat` | ffmpeg, mediainfo, whisper, imagemagick, yt-dlp |
| `network.cheat` | local/public IP, http server, wget mirror, samba mount, iperf |
| `obsidian.cheat` | Obsidian config diff/sort |
| `package.cheat` | suse/rhel/rpm/arch/apt/mas/nix/devbox/port/brew/pip/conda/pixi/jupyter/go/vscode |
| `pdf.cheat` | Ghostscript merge/extract, pdfimages, pdftoppm |
| `programming.cheat` | cleanup, jupyter, python random/format, format:*, pandoc, html minify, sys |
| `ssh.cheat` | tunnels, rsync, sshfs, sshuttle vpn, wake-on-LAN |
| `zfs.cheat` | zpool/arc/dataset/snapshot management |
| `file-search.cheat` ↔ `file-search-modern.cheat` | find / fd (see below) |
| `text-search.cheat` ↔ `text-search-modern.cheat` | grep / rg (see below) |
| `text-edit.cheat` ↔ `text-edit-modern.cheat` | sed / sd (see below) |
## Modern alternatives
For find/grep/sed, the classic and modern versions live in parallel files
with the same section structure, same sequence, and same descriptions.
Snippet names use the tool as prefix so navi shows both side by side in
fzf:
| Classic | Modern | Parallel files |
|---------|--------|----------------|
| `find` | `fd` | `file-search.cheat` ↔ `file-search-modern.cheat` |
| `grep` | `rg` | `text-search.cheat` ↔ `text-search-modern.cheat` |
| `sed` | `sd` | `text-edit.cheat` ↔ `text-edit-modern.cheat` |
| `git` | `jj` | `git.cheat` ↔ `jj.cheat` |
The `git`/`jj` pair follows the same naming and relative ordering where
there is a clean jj equivalent. Git-only operations (e.g. `git submodule`,
`git tag`) are omitted from `jj.cheat` rather than carrying half-working
translations.
## Junkyard
`junkyard.cheat` holds snippets that didn't survive the refactor:
personal paths (`~/git/source/envoy`), defunct tools (gitit, EOL
Anaconda modules), hardcoded user/MAC/IP defaults that can't be
generalized, and duplicates. Review and `rm` whatever you agree should
go.
## Conventions
- Snippet names: `tool:area:verb`, snake_case variables.
- Section tags: `% , ` (e.g. `% git, log`, `% mac, spotlight`).
- Variable choices follow navi's `$ name: echo -e "..."` form. Leading
space (`echo -e " \nfoo"`) represents the "disabled" option, mirroring
the original sman `<>` UX.
- Cross-snippet calls use `navi --query "name" --best-match`.