Now that I am able to understand and read NixOS/nixpkgs source code, I
understand that the usage of the npm module isn't needed since I don't
configure npm at a global level.
This is a working example of using the modules in our existing
configuration to start a network of virtual machines with
nixos-build-vms. Note that VMs take longer to start up in this case than
nixos-rebuild build-vm, and that said VMs may lack certain functionality
(such as dynamic resolution in GNOME) that would otherwise be present
with build-vm.
Although networks are certainly cute (and I'm glad that I feel familiar
with them thanks to my better understanding of Nix), they do seem less
convenient than nixos-rebuild build-vm and don't appear to support Nix
flakes. Networks therefore seem more useful for running multiple one-off
services that couldn't otherwise be ran in a container.
This results in a consistent environment when using any given shell.
Note that adding a package to $PATH instead of just referencing it where
it's needed is useful since otherwise the man pages are inaccessible.
This fixes some neovim plugins throwing errors due to missing things
such as language servers.
Note that although it *would* be possible to abstract this functionality
into a variety of imports, options, or other abstractions, including
everything at once should reduce complexity since I am not interested in
maintaining different states of configuration. In other words, either
everything works, or something doesn't work and then everything works.
Note that this container uses home-manager from the Nix flake on the
host system, which is pretty cool.
Currently modules in this repository *don't* differentiate between
home-manager and nixos, but this could be changed in the future to
support e.g. my home-manager neovim config on a non-nixos system.
The current crystal binary in nixpkgs complains about not finding pcre
when you try to compile anything with it, so crystal-flake is necessary
to have a working crystal environment under NixOS.
crystal-flake additionally packages crystalline, which is nice since no
one has been able to successfully create a pull request for nixpkgs yet.
Reference: https://github.com/NixOS/nixpkgs/issues/129002
After waiting 41 minutes to produce an output iso of 6.9 GB, the iso
itself failed to boot when trying to start it. Rather than dealing with
this excruciatingly long build process, I'd much rather use nixos-rebuild
build-vm.
This commit removes theme.cr in favor of Mica, a universal way to change
color schemes. This lets me better create abstractions for the scheme
changing functionality, making it easier to both add and apply color
schemes with different combinations of software.
This commit:
- Moves the rest of the packages from packages.sh to PKGBUILD
- Updates the README to include upstream packages instead of relying on
our own local versions of them
- Removes the rest of the legacy install scripts
- Adds some missing config options and other useful commands to the
README and help files
- Removes the local copy of launch-cmd in favor of upstream instead
- Moves a variety of smaller help files to other.md
- Adds fish information to other.md
- Moves automation information to install-guide.sh
- Removes the local copy of Arch Silence in favor of upstream instead
- Updates theme_helper.cr before eventually removing it in favor of Mica
As much as I'd like to make a password manager, putting all the
functionality in this repository isn't going to work. With that being
said, I may or may not make an improved version of "pass" in the future.
Stay tuned!