Compare commits
2 Commits
d8f7f602ed
...
c35e6bff5d
| Author | SHA1 | Date | |
|---|---|---|---|
|
c35e6bff5d
|
|||
|
c9e6af2956
|
@@ -23,6 +23,8 @@ This project uses `numtide/blueprint` which:
|
||||
- Handles formatting, checking, and devShell generation
|
||||
- Exposes `mkPackagesFor` function to build packages against any nixpkgs instance
|
||||
|
||||
**Important**: Blueprint's package discovery reads from the git index, not the working directory. New package directories must be staged with `git add` before they appear in flake outputs. Unstaged files are invisible to `nix build`, `nix flake show`, and `nix run`.
|
||||
|
||||
### Two Overlay Strategies
|
||||
|
||||
1. **`overlays.default`** - Binary-cache-friendly
|
||||
@@ -159,6 +161,10 @@ When adding a new package:
|
||||
pkgs.callPackage ./package.nix { }
|
||||
```
|
||||
|
||||
3.5. **Stage the package**: `git add packages/<package-name>/`
|
||||
Blueprint discovers packages from the git index, not the working directory.
|
||||
Without this step, the package won't appear in flake outputs.
|
||||
|
||||
4. **Test the package**:
|
||||
```bash
|
||||
nix build .#<package-name>
|
||||
|
||||
@@ -13,6 +13,7 @@ A custom Nix overlay and flake providing additional packages not found in upstre
|
||||
| Package | Description | Category |
|
||||
|---------|-------------|----------|
|
||||
| `container-use` | Containerized environments for coding agents | AI Coding Agents |
|
||||
| `desloppify` | Multi-language codebase health scanner and technical debt tracker for AI agents | AI Coding Agents |
|
||||
| `goose-cli` | CLI for Goose - a local, extensible, open source AI agent that automates engineering tasks | AI Coding Agents |
|
||||
| `graphify` | Turn any folder of code, docs, papers, images, or videos into a queryable knowledge graph | AI Coding Agents |
|
||||
| `mcp-gateway` | Universal Model Context Protocol gateway that sits between AI client and MCP tools/servers | MCP Servers |
|
||||
@@ -104,6 +105,7 @@ nix-overlay/
|
||||
│ └── shared-nixpkgs.nix # Dependency-sharing overlay
|
||||
├── packages/ # Package definitions
|
||||
│ ├── default/ # Meta-package listing all packages
|
||||
│ ├── desloppify/ # Codebase health scanner for AI agents
|
||||
│ ├── flake-inputs/ # Utility for caching flake inputs
|
||||
│ ├── goose-cli/ # Goose AI agent CLI
|
||||
│ ├── graphify/ # Knowledge graph generator for code folders
|
||||
|
||||
1
packages/desloppify/default.nix
Normal file
1
packages/desloppify/default.nix
Normal file
@@ -0,0 +1 @@
|
||||
{ pkgs, ... }: pkgs.callPackage ./package.nix { }
|
||||
54
packages/desloppify/package.nix
Normal file
54
packages/desloppify/package.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "desloppify";
|
||||
version = "0.9.15";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "peteromallet";
|
||||
repo = "desloppify";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KVCt9loGSzsOaYSLNzpyUCi/TpCDQ4b6BxEydQTRNcA=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
# Include all [full] optional dependencies for complete functionality.
|
||||
# Upstream has no base dependencies - all features are behind optional extras.
|
||||
dependencies = with python3Packages; [
|
||||
tree-sitter
|
||||
tree-sitter-language-pack
|
||||
defusedxml
|
||||
bandit
|
||||
pillow
|
||||
pyyaml
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "desloppify" ];
|
||||
|
||||
passthru = {
|
||||
category = "AI Coding Agents";
|
||||
updateScript = [
|
||||
"nix-update"
|
||||
"--flake"
|
||||
".#desloppify"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Multi-language codebase health scanner and technical debt tracker for AI agents";
|
||||
homepage = "https://github.com/peteromallet/desloppify";
|
||||
changelog = "https://github.com/peteromallet/desloppify/releases/tag/v${version}";
|
||||
license = lib.licenses.unfreeRedistributable;
|
||||
mainProgram = "desloppify";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user