No description
- Rust 42%
- Shell 36.3%
- Nix 12.2%
- Python 9.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
CI / Format, lint and build (push) Successful in 2m30s
workmux gives each window it manages a local copy of the window formats with its status appended, and that copy kept the old colours over the new global until the session was replaced. Whatever a window appended to the old global now carries over onto the new one. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> |
||
| .forgejo/workflows | ||
| .github/workflows | ||
| tools | ||
| .gitignore | ||
| .markdownlint.json | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
cli-utils
A collection of small command-line utilities, one directory per tool. The repository is language-agnostic: every tool is a Nix package, so whether it is built by Cargo, Go, or a Python wrapper is an implementation detail.
Tools
| Tool | Language | What it does |
|---|---|---|
ls-posts |
Rust | Reconstruct gallery-dl post URLs from a folder tree |
scripts |
Bash, Python | Desktop and shell helpers, one package per script, named after its file |
Install
The flake is meant to be consumed as an input by another flake, usually
nixos-dotfiles:
inputs.cli-utils.url = "path:/home/hutao/Projects/cli-utils";
home.packages = [ inputs.cli-utils.packages.${pkgs.system}.default ];
packages.<system>.default is a symlinkJoin of every tool, so one entry
installs all of them. Individual tools stay available as
packages.<system>.<tool>.
Develop
nix develop # cargo, rustc, clippy, rustfmt, rust-analyzer
nix build .#ls-posts # one tool
nix build # every tool (the default bundle)
nix flake check # evaluate packages, checks and shells
pre-commit run --all-files # what CI runs
Hooks are defined in flake.nix; .pre-commit-config.yaml is generated by
git-hooks.nix and is not tracked. Cargo commands for a Rust tool run from that
tool's own directory, not the repo root.
Layout
flake.nix # packages.<system>.<tool>, devShells, checks
tools/
ls-posts/ # one directory per tool, with its own build files
scripts/ # grouped by responsibility, one default.nix for all