Honest answer though, it's a deterministic way of building up a computer/environment. Think pip/uv/packages.lock but for everything.
What kind of "tweaks" are you doing? You could use `nix-shell` to try out a new environment. If you like it the environment, you can make it declarative by creating a `shell.nix` file.
If you want to go further, you might make consider making a flake, but I would recommend reading https://nix.dev/concepts/flakes.html first.
$ ncal -w3
July 2025 August 2025 September 2025
Mo 7 14 21 28 4 11 18 25 1 8 15 22 29
Tu 1 8 15 22 29 5 12 19 26 2 9 16 23 30
We 2 9 16 23 30 6 13 20 27 3 10 17 24
Th 3 10 17 24 31 7 14 21 28 4 11 18 25
Fr 4 11 18 25 1 8 15 22 29 5 12 19 26
Sa 5 12 19 26 2 9 16 23 30 6 13 20 27
Su 6 13 20 27 3 10 17 24 31 7 14 21 28
27 28 29 30 31 31 32 33 34 35 36 37 38 39 40
yjftsjthsd-h•4h ago
(That said, yes, it's a nice journaling system)
bspammer•4h ago
nix shell 'git+https://tangled.sh/@oppi.li/journal'
It's massive overkill for a shell alias, but for a more complex project it can be very nice.
mikepurvis•2h ago
yjftsjthsd-h•49m ago
rikafurude21•3h ago
0xCMP•3h ago
I guess this does ensure the key `journal` command works exactly the same because the dateutils binary will stay locked to the version in the `flake.lock`.
I would have assumed that nvim would also be locked because that's where I would expect more possible breaking changes with the existing special config.
With little tools/projects like these I could easily see months-years before it would get any active attention from me again (or simply I wouldn't be using it; so it doesn't matter).
jljljl•1h ago
You could then just open nvim in the `nix develop` environment (or even use something like direnv to activate it when you cd in) and have a minimal journaling environment
yjftsjthsd-h•51m ago