{ description = "A flake to build my website"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; }; outputs = { self, nixpkgs, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { packages.${system} = { website = pkgs.callPackage ./package.nix {}; serve = pkgs.writeShellScriptBin "serveSite" '' echo "Running server: visit http://localhost:8000/index.html" exec ${pkgs.webfs}/bin/webfsd -F -p 8000 -r ${self.packages.${system}.website} ''; }; devShells.${system}.default = pkgs.mkShell { packages = [ pkgs.watchexec pkgs.nix ]; shellHook = '' echo "Starting auto-reload dev shell..." echo "Watching for file changes in $(pwd)" echo "When something changes, we'll restart: nix run .#serve" watchexec -r -e nix,html,css,js,org -- nix run .#serve ''; }; }; }