1{
2 description = "woomarks development environment";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6 flake-utils.url = "github:numtide/flake-utils";
7 };
8
9 outputs = { self, nixpkgs, flake-utils }:
10 flake-utils.lib.eachDefaultSystem (system:
11 let
12 pkgs = nixpkgs.legacyPackages.${system};
13 in
14 {
15 devShells.default = pkgs.mkShell {
16 buildInputs = with pkgs; [
17 python3
18 nodejs_20
19 http-server
20 ];
21
22 shellHook = ''
23 echo "🔖 woomarks development environment"
24 echo ""
25 echo "Available commands:"
26 echo " serve-python - Start Python HTTP server on port 8000"
27 echo " serve-node - Start Node.js HTTP server on port 3000"
28 echo " serve-http - Start http-server on port 8080"
29 echo ""
30 echo "Then open http://localhost:<port> in your browser"
31
32 # Add convenience aliases
33 alias serve-python="python3 -m http.server 8000"
34 alias serve-node="npx http-server -p 3000 -c-1"
35 alias serve-http="http-server -p 8080 -c-1"
36 '';
37 };
38 });
39}