Add project skills to dev shell

This commit is contained in:
2026-07-30 00:28:43 -04:00
parent 6bb3242e7f
commit 920517e623
5 changed files with 65 additions and 9 deletions

1
.envrc Normal file
View File

@@ -0,0 +1 @@
use flake

3
.gitignore vendored
View File

@@ -11,6 +11,7 @@ tests/.reports/
# BEGIN mkSkillsShellHook # BEGIN mkSkillsShellHook
# Generated by mkSkillsShellHook. Nix-delivered skill symlinks, kept out of git. # Generated by mkSkillsShellHook. Nix-delivered skill symlinks, kept out of git.
.claude/skills
.agents/skills/gitea-axi
.agents/skills/benchmark-skill .agents/skills/benchmark-skill
# END mkSkillsShellHook # END mkSkillsShellHook

View File

@@ -16,5 +16,5 @@ The domain glossary lives at `$(xdg-user-dir DOCUMENTS)/ai-artifacts/projects/sk
## Gotchas ## Gotchas
- The development environment does not provide `python3` by default. - `python3` is supplied by the default Nix dev shell, not the ambient environment.
Use available project tools instead of assuming Python is installed. Enter `nix develop` before running Python-based project tools.

45
flake.lock generated
View File

@@ -18,7 +18,49 @@
"type": "github" "type": "github"
} }
}, },
"gitea-axi": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1785340481,
"narHash": "sha256-GSxdQ7w8yYfZnfkXUuZ2fYIKibe9ZU8xDGyqpeTb2tE=",
"ref": "refs/heads/main",
"rev": "627fc9a32bb80d97923540fc0d3e9661961462ba",
"revCount": 83,
"type": "git",
"url": "https://git.alexion.dev/alexion/gitea-axi"
},
"original": {
"type": "git",
"url": "https://git.alexion.dev/alexion/gitea-axi"
}
},
"home-manager": { "home-manager": {
"inputs": {
"nixpkgs": [
"gitea-axi",
"nixpkgs"
]
},
"locked": {
"lastModified": 1784588016,
"narHash": "sha256-ouZe80aWEhMLVMkqICFDN+JUw+0FJtCr/bh+hHtRtMg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "deeb6b7eb7e0c44ae1819c051ce175bd92a85100",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@@ -57,7 +99,8 @@
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"home-manager": "home-manager", "gitea-axi": "gitea-axi",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }
}, },

View File

@@ -4,6 +4,11 @@
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.gitea-axi = {
url = "git+https://git.alexion.dev/alexion/gitea-axi";
inputs.nixpkgs.follows = "nixpkgs";
};
# Present only so `nix flake check` can evaluate `homeModules.default` against # Present only so `nix flake check` can evaluate `homeModules.default` against
# real home-manager (the home-manager-module check). Its nixpkgs follows this # real home-manager (the home-manager-module check). Its nixpkgs follows this
# flake's, so the module is checked against the same nixpkgs-and-home-manager # flake's, so the module is checked against the same nixpkgs-and-home-manager
@@ -14,7 +19,7 @@
inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs";
outputs = outputs =
{ self, nixpkgs, flake-utils, home-manager }: { self, nixpkgs, flake-utils, home-manager, gitea-axi }:
let let
mkSkill = import ./lib/mk-skill.nix; mkSkill = import ./lib/mk-skill.nix;
mkSkillsShellHook = import ./lib/mk-skills-shell-hook.nix; mkSkillsShellHook = import ./lib/mk-skills-shell-hook.nix;
@@ -94,12 +99,18 @@
}; };
# A working shell for developing skills in this repo. # A working shell for developing skills in this repo.
# python3 runs the benchmark skill's deterministic core. # Python runs the benchmark core, while gitea-axi backs its project skill.
# The benchmark-skill is placed into ./.agents/skills/ on entry, with # Both project skills are placed into ./.agents/skills/ on entry, with
# ./.claude/skills as a compatibility symlink. # ./.claude/skills as a compatibility symlink.
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
packages = [ pkgs.python3 ]; packages = [
shellHook = mkSkillsShellHook [ (skillPackages pkgs).benchmark-skill ]; pkgs.python3
gitea-axi.packages.${system}.gitea-axi
];
shellHook = mkSkillsShellHook [
gitea-axi.packages.${system}.gitea-axi-skill
(skillPackages pkgs).benchmark-skill
];
}; };
} }
); );