|
4 | 4 | inputs = { |
5 | 5 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; |
6 | 6 | flake-utils.url = "github:numtide/flake-utils"; |
| 7 | + |
| 8 | + # Devbox base platform - provides git, gh, claude, aws, shell tools, etc. |
| 9 | + devbox.url = "github:testaco/devbox?dir=base-flake"; |
7 | 10 | }; |
8 | 11 |
|
9 | | - outputs = { self, nixpkgs, flake-utils }: |
| 12 | + outputs = { self, nixpkgs, flake-utils, devbox }: |
10 | 13 | flake-utils.lib.eachDefaultSystem (system: |
11 | 14 | let |
12 | 15 | pkgs = import nixpkgs { |
|
105 | 108 | devShells.default = pkgs.mkShell { |
106 | 109 | name = "agentic-coding-book-dev"; |
107 | 110 |
|
| 111 | + # Inherit all base platform tools from devbox (git, gh, claude, aws, jq, etc.) |
| 112 | + inputsFrom = [ |
| 113 | + devbox.devShells.${system}.default |
| 114 | + ]; |
| 115 | + |
108 | 116 | buildInputs = [ |
109 | 117 | # Core build tools |
110 | 118 | nodejs |
111 | 119 | pkgs.pandoc |
112 | 120 | texlive |
113 | 121 | python |
114 | | - pkgs.git |
115 | 122 |
|
116 | 123 | # Chromium for Mermaid diagram rendering (Puppeteer) |
117 | 124 | pkgs.chromium |
|
135 | 142 | # Disable sandboxing for Chromium in containers/Nix environments |
136 | 143 | export PUPPETEER_ARGS="--no-sandbox --disable-setuid-sandbox" |
137 | 144 |
|
138 | | - echo "π Agentic Coding Book Development Environment" |
139 | | - echo "ββββββββββββββββββββββββββββββββββββββββββββββ" |
140 | | - echo "π¦ Node.js: $(node --version)" |
141 | | - echo "π Pandoc: $(pandoc --version | head -1)" |
142 | | - echo "π Python: $(python --version)" |
143 | | - echo "π TeX Live: $(xelatex --version | head -1)" |
144 | | - echo "π Chromium: $(chromium --version)" |
| 145 | + echo "Agentic Coding Book Development Environment" |
| 146 | + echo "============================================" |
| 147 | + echo "" |
| 148 | + echo "Base platform tools inherited from devbox:" |
| 149 | + echo " git, gh, claude, aws, jq, vim, shellcheck, etc." |
| 150 | + echo "" |
| 151 | + echo "Project-specific tools:" |
| 152 | + echo " Node.js: $(node --version)" |
| 153 | + echo " Pandoc: $(pandoc --version | head -1)" |
| 154 | + echo " Python: $(python --version)" |
| 155 | + echo " TeX Live: $(xelatex --version | head -1)" |
| 156 | + echo " Chromium: $(chromium --version)" |
145 | 157 | echo "" |
146 | 158 | echo "Available commands:" |
147 | 159 | echo " npm install - Install Node.js dependencies" |
|
154 | 166 |
|
155 | 167 | # Install npm dependencies if not already installed |
156 | 168 | if [ ! -d "node_modules" ]; then |
157 | | - echo "π¦ Installing npm dependencies..." |
| 169 | + echo "Installing npm dependencies..." |
158 | 170 | npm install |
159 | 171 | fi |
160 | 172 |
|
161 | | - echo "β Ready to build!" |
162 | | - echo "ββββββββββββββββββββββββββββββββββββββββββββββ" |
| 173 | + echo "Ready to build!" |
| 174 | + echo "============================================" |
163 | 175 | ''; |
164 | 176 |
|
165 | 177 | # Environment variables |
|
0 commit comments