This is part of migrating scripts from ~/.local/bin to the nix-config.
Note that this also lets us use packages that aren't available in a
user's $PATH.
The addition of the neovim plugins made the initial time to open longer
than 5 seconds and thus failed the tests.
Note that using an alternative method like machine.wait_for_text() is
probably better in the long run to avoid flaky tests.
Latest changes break a bit too many things including ironbar. Auto-save
in neovim is delayed a bit, which could have fixed a bug but will take
some getting used to.
The update brings crackling audio issues to osu! wine again, so more
investigating will need to be done to find a solution for that. Overall
seems like most wine programs broke, so a new wine prefix could be in
order.
Additionally, Librewolf now has some unexpected keybinding behavior with
Ctrl+L + Ctrl+C resulting in the letter `c` being displayed instead of
copying like before.
This guarantees that auxiliary files won't be present in the current
directory from latexmk, and encourages reproducible pdfs with the usage
of tectonic.
Although typst is an interesting project, TeX has vastly superior
typesetting and a significantly larger repository of existing packages
and knowledge to extend upon.
I faced auto-updating issues with typst that weren't present with
vimtex, and TeX in general has better support for auto-completions due
to its \backslash usage.
It turns out that I'd rather have a battery indicator than having to
`cat /sys/class/power_supply/BAT0/capacity` all the time.
Depends on upower and results in the battery indicator always being
shown even when virtualized.
Will be focusing on npm instead since tooling is excellent and I'd
rather have a package manager that's old, reliable, and just works
than a newer one that might be missing a feature I need.
This is a part of having separate flake.nix files for each project
and using devShells for the dependencies needed.
Note that using Crystal as a language seems less likely overall due to
the difficulty of building Crystal packages for nixpkgs and the lack of
tooling and library support compared to other languages like TypeScript
and Rust.
I originally thought I was going to use bun, but it turns out that there
are simply too many inconveniences compared to using npm itself, which
includes built-in nixpkgs support with buildNpmPackage and vastly
superior shell completions among other things.
Rust programs are easy enough to install The Nix Way so there's no real
reason to put .cargo in $PATH, especially when programs that have
dependencies like openssl won't work this way.
It turns out I don't use deno nearly as much as I thought I would,
especially when the current node ecosystem works so, so well in
comparison.
I also haven't encountered any deno-specific programs that would be
worth installing globally.
Shouldn't be needed since I'm no longer interested in long-term Go
development. For when I *do* need to use Go, those packages can be
built as Nix derivations.
vim-prisma currently has an issue where the syntax highlighting gets
messed up as one scrolls. The treesitter version doesn't have this
issue, which makes it more pleasing to work with.