Personal NUR repository with curated packages, plugin sets, and a Home Manager module for OpenCode plugins.
Overview - Development - Automation - Layout - Notes
This repository exports a small personal package collection with a few clear focus areas: OpenCode tooling, Yazi plugins, Spicetify extensions, Fish plugins, cursor and icon themes, and a handful of standalone CLI packages.
- Flake-based NUR repository built with
flake-partsand auto-discovered package trees. - Currently contains 40+ package definitions, including OpenCode plugins, Yazi plugins, Spicetify extensions, and a Fish plugin set.
- And Home Manager module for enabling packaged OpenCode plugins declaratively.
- CI evaluates and builds the repository across multiple nixpkgs channels and pushes cacheable outputs to Cachix.
From the repository root:
# Inspect flake outputs
nix flake show
# Enter the dev shell
nix develop
# Format the repository
nix fmt
# Build a package
nix build .#modular-mcpFormatting is configured through treefmt-nix.
build.yml: evaluates the repository and builds cacheable outputs againstnixpkgs-unstable,nixos-unstable, andnixos-stable.update-packages.yml: runs./scripts/update-all-packages.shand opens a signed pull request.update-flake-lock.yml: refreshesflake.lockweekly.
| Path | Role |
|---|---|
flake.nix |
Flake entrypoint using flake-parts |
default.nix |
Classic NUR export surface |
ci.nix |
CI build/cache selection |
parts/ |
Flake parts for packages, dev shell, and formatting |
pkgs/ |
Package definitions and grouped package sets |
hm-modules/ |
Exported Home Manager modules |
scripts/ |
Maintenance helpers |
modules/andoverlays/are currently present as export points, but the main content of the repository lives underpkgs/andhm-modules/.- Package discovery is mostly automatic through recursive directory traversal, so adding a new package usually means adding a new
default.nixin the right subtree.