This is the source code for my personal website, which was built using the Astro web framework.
In addition to the website itself, the repository includes Nix files (flake.nix and server/*.nix), which are used to configure the self-hosted services listed on the website (https://thilohohlt.com/services) and to easily locally deploy to the corresponding NixOS server.
- Use the command
npm run devto start the Astro development server - Run
npm run formatto format the web code with Prettier - Run
nix developto enter the dev shell, which includes packages for Nix language support and formatting - Run
nix run .#deploy-serverto evaluate if the current configuration builds successfully. If so, it will deploy the changes to the remote NixOS server
For good IDE support (e.g., NixOS option completions in default.nix), use the jnoortheen.nix-ide VSCode extension with the following settings:
{
"nix.enableLanguageServer": true,
"nix.serverPath": "nil",
"nix.serverSettings": {
"nixd": {
"formatting": {
"command": ["nixfmt"]
}
}
}
}