My personal website
Find a file
2024-12-16 22:12:19 -06:00
.husky Make pre-commit hooks executable 2023-01-02 19:11:28 -06:00
.vscode meta: Add autoformatting for vscode 2024-12-01 19:49:14 -07:00
.woodpecker ci: Fix Woodpecker symlink deployment issue 2024-12-16 21:52:56 -06:00
archetypes chore: Rename 'keywords' taxonomy to 'tags' 2023-07-01 17:35:56 -05:00
assets chore: Remove unused Bootstrap script 2024-12-01 19:49:35 -07:00
content refactor: Make form page conform to new styles 2024-12-01 19:49:31 -07:00
layouts build: Remove PostCSS filtering 2024-12-15 16:21:02 -06:00
static Apply Prettier formatting 2023-02-24 23:13:45 -06:00
.envrc build: Convert nix devshell to flake 2024-12-15 16:21:58 -06:00
.gitignore build: Add build steps to flake 2024-12-15 16:23:29 -06:00
.prettierignore Add Prettier configuration 2022-03-21 19:00:59 -05:00
.prettierrc Enforce text wrapping in Markdown files 2022-03-21 19:10:21 -05:00
config.toml deps: Remove unused npm deps 2024-12-15 16:21:02 -06:00
flake.lock build: Convert nix devshell to flake 2024-12-15 16:21:58 -06:00
flake.nix build: Add build steps to flake 2024-12-15 16:23:29 -06:00
LICENSE Create LICENSE 2021-03-17 13:55:47 -06:00
node-env.nix build: Add build steps to flake 2024-12-15 16:23:29 -06:00
node-packages.nix build: Add build steps to flake 2024-12-15 16:23:29 -06:00
node.nix build: Add build steps to flake 2024-12-15 16:23:29 -06:00
package-lock.json deps: Downgrade lockfile to v2 2024-12-15 16:23:28 -06:00
package.json deps: Remove unused npm deps 2024-12-15 16:21:02 -06:00
README.md docs: Add notes on Flake npm weirdness [ci skip] 2024-12-16 22:12:19 -06:00

pages

status-badge

My personal website. Hosted over at https://millironx.com

Notes to self

All dependencies are now bundled as a Nix Flake. The only trouble with this is that npm packages don't play well with Nix (and especially Flakes), so npm packages are specified twice: once in package{-lock}.json and then again in node*.nix.

Compounding this, there are formatters and commit hooks that require npm to be functional. So, to develop right now requires allowing direnv to setup the Nix development shell, then immediately installing npm packages via npm ci. VSCode (with extensions) and Zed are smart enough to figure out how to use direnv, but other programs (like SourceGit) not so much, so you'll need to launch those programs from inside a direnv shell to make sure they have Prettier, Husky, and all that jazz to execute the hooks.

Last compounding factors: if node_modules is present in the root directory, then node2nix won't create a correct derivation, so node_modules will need to be temporarily deleted after modifying any npm packages, then as soon as node2nix is happy, then immediately run npm ci to get the commit hooks working again. Oh, and also, I renamed the default.nix file generated by node2nix to node.nix to avoid giving direnv any wrong impressions about what derivation to run.

Yes, hopefully I can get completely away from npm here soon, but this is a minor inconvenience considering how (not) often I install new packages into this site, and really discourages me from contributing to the website obesity crisis.