conixpkgs

September 3, 2026 · View on GitHub

nix ci pr validation periodic nixbuild

Personal collection of packages distributed as a Nix flake. Overlay-ready — inject into nixpkgs as pkgs.co.*.

Packages

CategoryPackages
AI / Agentspi — Pi coding assistant · opencode — terminal-first AI editor · deltoids — code review in the agentic era
CLI toolsfunzzy / funzzyNightly — file watcher · gob / beads — process & workspace managers · qmd — quick markdown · zeroclaw — git tooling
Browser / Websurf-cli — browser automation · playwright-cli — Playwright CLI · putio-cli — put.io client
Productivityferrite — · codex — · confluence-cli · teamcity-cli · mcp-cli
Mediagogcli / goplaces — GOG client · opensubtitles — subtitle CLI
macOSaerospace-scratchpad · aerospace-marks · handy
ExternalergoProxy · sway-setter · mcpli / mcpliFork

30 packages total. Run make list-packages or ./scripts/list-packages.sh for the full dynamic list.

Usage

Quick install

# Install a single package
nix profile install github:cristianoliveira/nixpkgs#funzzy

# Try without installing
nix run github:cristianoliveira/nixpkgs#pi -- --help

As an overlay

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs";
    conixpkgs = {
      url = "github:cristianoliveira/nixpkgs";
      flake = true;
    };
  };

  outputs = { nixpkgs, conixpkgs, ... }: {
    nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        ({ ... }: {
          nixpkgs.overlays = [ conixpkgs.overlays.default ];
          environment.systemPackages = with pkgs.co; [
            funzzy
            pi
          ];
        })
      ];
    };
  };
}

In a devShell

{
  inputs.conixpkgs.url = "github:cristianoliveira/nixpkgs";

  outputs = { nixpkgs, conixpkgs, ... }: let
    system = "x86_64-linux";
    pkgs = import nixpkgs { inherit system; overlays = [ conixpkgs.overlays.default ]; };
  in {
    devShells.${system}.default = pkgs.mkShell {
      buildInputs = [ pkgs.co.funzzy pkgs.co.deltoids ];
    };
  };
}

Development

# Enter dev shell with nixpkgs-fmt, yamllint, gh, jq
nix develop

# Validate flake structure
nix flake check --all-systems

# Build everything
make build-all

# Build only local packages
make build-local

# Build a specific package
nix build .#surf-cli

# Run smoke tests
make test-all

# Full CI locally
make ci-validate

# List packages (dynamic discovery)
make list-packages

# Run local file tasks and watch GitHub CI for the current commit
scripts/watch-all.sh

scripts/watch-all.sh runs the local fzz watcher and the finite CI observer in parallel. A failed nix ci run stops the local watcher and returns failure. The observer waits for the matching GitHub Actions run after a push.

CI/CD

Automated validation on every push and PR:

  • Flake checknix flake check --all-systems
  • Build — all packages on ubuntu-latest + macos-latest
  • Smoke tests — every binary runs --help / --version
  • PR workflow — only builds changed packages for fast feedback

See .github/workflows/ for details.