This makes the code base more portable by *only* depending on Nix as a
dependency.
Note that the code base hasn't been migrated to nixfmt-rfc-style yet.
Having a default.nix doesn't *really* make sense now that we're dealing
with multiple nixosConfigurations, some of which might not even be in
the same flake.
Now it's possible to use the specializations in arbitrary configs. Note
that specializations do slow things down a bit so they may be disabled
by default in the future.
Fixes an issue where the base16-schemes overlay wasn't being applied
presumably due to the separate nixosModule usage.
This removes Qt theming support, so it may be better to simply overlay
base16-schemes inside the module instead.
From a pragmatic perspective this never made sense since it would be
unlikely that we'd ever want to import multiple hardware configurations
at the same time.
An alternative solution would be to let users generate their own
hardware-configuration.nix that they can use with this nix-config, or
simply have them create their own nix-config that imports this flake and
uses the outputs they want.
The code for this is extremely messy right now however it works and I'd
rather not accidentally break it while refactoring, so this commit
serves as documenting the working code.
Now that I have more experience with nix, I know how to write an
expression that automatically outputs all the overlays in the
repository, as well as automatically import them inside the nixos
configuration.
This makes it possible to programmatically use all the outputs in a
flake without having to manually specify each one individually, useful
for having one main nix-config that can be used with other flakes and
system configurations.
I originally wrote default.nix files to "import all files in a given
directory" however this turns out to not be necessary when flakifying a
configuration and defining all modules, overlays, and packages as
outputs.
Instead of making these "default.nix" files the source of truth for all
imports, it should be more useful to make the flake.nix the source of
truth and programmatically use attribute values as needed.
After almost a year of using joshuto, I have decided to switch to yazi.
The latest joshuto update broke my image preview configuration, and it
didn't make sense trying to figure out the issue with yazi already
having built-in image support and more.
Other notable improvements from this change include:
- Simplified configuration since defaults no longer have to be
re-declared
- Faster directory loading, especially for /nix/store/ and symlinks to
/nix/store/
- Text files are more likely to show previews without manual
configuration
- Videos now have working previews again, similar to ranger
This fixes an issue where copying text would break until changing
workspaces and consequently windows.
This *was* fixed in 0.32.0 as a result of [1], however kitty 0.33.1 with
the recent fontconfig workaround patch[2] ends up showing CJK characters
with a very thin weight, causing them to be inconsistent relative to the
surrounding text and more difficult to read.
[1]: https://github.com/kovidgoyal/kitty/issues/6890
[2]: d2c21ee297
Note that these tests were originally made to prevent dead code from
being in the repository, although a proper coverage solution would
likely be more useful long-term.
This fixes an issue where the hot area would be triggered with full
screen applications. Alternatives include using the 4 finger swipe
gesture or simply using the key bind if a touchpad isn't available.
This makes it possible to easily use packages from this repository in
your own separate nix-config flake. This also makes it easier to test
packages locally since `nix build .#package` can be used instead of
building the entire system derivation.
This fixes an issue where hycov would prematurely exit when using the
Alt+Tab keybind. Instead, it's preferred to use the navigation keys to
switch focus and press tab again to close hycov.
This cool plugin makes it possible to press "alt+tab" in order to switch
between all windows in Hyprland, particularly useful if a certain window
you want to focus is a few workspaces away from your current one.
It's also possible to swipe up with 4 fingers to show hycov, from which
you can then use 3 finger motions to switch between the shown windows.
Finally, it's possible to show hycov by simply hovering over the bottom
right part of the screen, similar to the "show desktop" functionality in
certain desktop environments and GNOME's hot corner feature.
I only used inkscape to convert svg to png with the following command:
`fd -e svg -x inkscape -w 512 -h 512 "{}" -o "{.}.png"`
gthumb was crashing and I'd rather not have to deal with a non-trivial
GUI program that crashes on launch.
nb and obsidian are cute but ultimately I found quartz to be better for
my use case.