Skip to content

Latest commit

 

History

592 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nix-packages

Personal Nix flake with packages and tools not in nixpkgs.

Usage

# flake.nix
inputs.nix-packages.url = "git+https://git.alc.xyz/alcxyz/nix-packages.git";

Then reference packages as inputs.nix-packages.packages.${system}.<name>.

Packages

Package Description Platforms
ghostty Ghostty terminal emulator aarch64-darwin x86_64-darwin
herdr Agent multiplexer that lives in your terminal x86_64-linux aarch64-linux aarch64-darwin
helium Helium browser x86_64-linux aarch64-darwin x86_64-darwin
kdash Simple and fast dashboard for Kubernetes x86_64-linux aarch64-linux x86_64-darwin aarch64-darwin
t3code T3 Code — AI coding assistant desktop app x86_64-linux aarch64-darwin
t3code-fork T3 Code with locally maintained, narrowly scoped patches x86_64-linux aarch64-darwin
claude-code Agentic coding tool that lives in your terminal all
codex-cli Lightweight coding agent that runs in your terminal x86_64-linux aarch64-linux x86_64-darwin aarch64-darwin
codex-app-server Codex app server for GUI integrations x86_64-linux aarch64-linux x86_64-darwin aarch64-darwin
ndrop Scratchpad toggle helper for Wayland compositors x86_64-linux
OpenZFS 7.1 snapshot Pinned unreleased OpenZFS snapshot with Linux 7.1 support x86_64-linux aarch64-linux

The default package is Helium on its supported systems, exposed through packages.<system>.default. ARM Linux has no default package until a verified Helium artifact is available; choose a named package there. The complete export matrix is documented in ADR-0003.

Tools

Internal tools built from source, tracked in this repo.

Tool Description Platforms
k8s-node-reboot Guarded Kubernetes node reboot, power, and network-path lifecycle helpers all
nix-gc-maintenance Guarded Nix profile retention and capped garbage collection all
zfs-auto-unlock Automatic ZFS dataset unlocking all

Automated updates

Packages are kept up to date by a daily Forgejo Actions workflow (.forgejo/workflows/update-packages.yml). When a new upstream release is detected the workflow computes fresh Nix SRI hashes and opens a Forgejo pull request against dev.

Each package uses one stable update/<package> branch. If an update PR is already open, the next updater run refreshes that same branch and PR so a newer upstream release supersedes the stuck update instead of creating more PR noise.

The update matrix is capped at two concurrent package jobs to avoid flooding the shared runners. Green update/* pull requests are rebased onto dev when needed and squash-merged by .forgejo/workflows/auto-merge-updates.yml; PR events trigger the normal path, with a nightly scheduled run as a fallback. Successful update PRs are validated before merge, not again on the resulting dev push; main is still validated when changes are promoted manually. Promotion from dev to main is manual. dev is a long-lived integration branch and must be retained after promotion; repository-level default branch deletion is disabled, while update branch cleanup is handled explicitly by the auto-merge workflow.

Updater scripts must fail before committing invalid generated state. Empty SRI hashes such as hash = "sha256-"; are rejected by both the updater scripts and CI; see ADR-0003.

Runtime-configured deployment

nix run .#nix-deploy -- --config ./inventory.json --help selects deployment inventory explicitly. NIX_DEPLOY_CONFIG supplies the same default for direct CLI use; a consumer may generate the JSON and provide a configured wrapper. The package supplies no built-in fleet. See ADR-0006 for the versioned JSON fields and runtime command requirements.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages