Commit Graph

3758 Commits

Author SHA1 Message Date
bc44af4825 meta: Switch to upstream stylix
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.
2024-04-01 05:35:27 -04:00
f59b724b77 meta: Drop default hardware
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.
2024-04-01 04:33:47 -04:00
e4fb9d62a6 meta(nix): Automatically import all packages
This is now possible with the dynamic flake.nix outputs.
2024-04-01 04:25:44 -04:00
0c29329080 meta(flake.nix): Add working DRY output generation
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.
2024-04-01 04:13:49 -04:00
c421fe245f feat(nix): Use single expression for module/overlay outputs
This makes the code much DRYer overall.
2024-03-31 22:22:29 -04:00
e84d3bbf02 feat(nix): Remove .nix from module outputs 2024-03-31 20:23:59 -04:00
44422516d4 feat(nix): Automatically import module outputs
This drastically simplifies things since we no longer have to worry
about adding and removing files from a default.nix.
2024-03-31 19:23:12 -04:00
d1513228d0 feat(nix): Don't hardcode package outputs
In order to determine the name of a package you want to include in your
own nix-config, simply copy the filename without the .nix part.
2024-03-31 18:58:28 -04:00
5674d3ed81 feat(nix): Automatically output all overlays
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.
2024-03-31 18:51:17 -04:00
da0b9b3ae6 meta(nix): Derive attribute values of outputs
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.
2024-03-31 17:49:09 -04:00
71fe986e34 meta: Prefer self in default.nix
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.
2024-03-31 17:28:12 -04:00
93caf691d3 chore(nix): Remove useless self
Not needed due to the 3 dots at the end.
2024-03-31 16:27:18 -04:00
94a43d1888 fonts: Fix fontconfig mono font
Might remove this later since stylix is used for the fonts instead.
2024-03-31 15:35:14 -04:00
18acfd0749 meta(flake.nix): Add overlays as outputs
Should make it easier for other repositories to use the overlays from
this repository.
2024-03-31 06:21:47 -04:00
efec942be0 hyprland(swww): Use seasonal backgrounds
It's that time of year again. This time spring style.
2024-03-30 18:41:11 -04:00
993179c4fd ironbar: Cleanup launcher favorites
Removed a few less used applications.
2024-03-30 18:29:50 -04:00
9ee9d1c927 ironbar: Add new mullvad location
Should continue adding these as they come up.
2024-03-30 18:25:32 -04:00
23049a3e99 meta: Switch from joshuto to yazi
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
2024-03-30 18:20:01 -04:00
6cab0f25a5 chore: Update packages
Dropped GUI programs I no longer use and added qdirstat as a cool
alternative to windirstat.
2024-03-30 16:44:28 -04:00
491e0aca38 overlays(kitty): Patch wlroots copying bug
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
2024-03-30 15:12:40 -04:00
3374dde006 ironbar: Add overview button for hycov
Note that on_mouse_enter is used instead of on_click_left to avoid an
issue where the focus of hycov is lost after clicking on the bar.
2024-03-30 12:28:57 -04:00
251581d3a8 librewolf: Ensure warning on close when multiple tabs
Don't know when the default option for this was changed but it should
help prevent accidentally closing the browser.
2024-03-30 12:24:48 -04:00
93fae8e1f9 hyprland(hycov): Use hotarea_size 0 to persist mouse events
Fixes an issue where disabling the hot area would break mouse events
when interacting with the hycov overview.
2024-03-30 12:00:34 -04:00
a7d9cff7eb hyprland(hycov): Prefer Super+Tab over Alt+Tab
Prevents applications like Librewolf from reacting to the Alt key being
pressed.
2024-03-30 11:32:00 -04:00
2e3d395eb3 packages: Update osu-backgrounds
Spring is in the air.
2024-03-30 11:31:13 -04:00
e236ab2dae chore: Improve formatting 2024-03-30 11:30:33 -04:00
98e88cd6a7 tests: Improve internal docs 2024-03-30 08:33:53 -04:00
771a97ef39 tests: Add option to exclude files from imports
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.
2024-03-30 08:32:41 -04:00
f1a5aa8520 neovim: Add border to nvim-lspconfig popups
This makes it easier to differentiate code from lsp popups.
2024-03-30 08:12:23 -04:00
2625987655 hyprland(hycov): Don't enable built-in hot area
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.
2024-03-30 08:08:03 -04:00
c85d2d45ba meta(flake.nix): Add packages as outputs
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.
2024-03-30 07:32:49 -04:00
b0a774a54d meta(osu-backgrounds): Sort by date
Makes it easier to add new entries and see which ones are missing.
2024-03-30 07:05:12 -04:00
9d2301e84b hyprland(hycov): Disable alt_release_exit
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.
2024-03-30 06:35:22 -04:00
f4c27e50e5 hyprland(hycov): Fix crash by not using auto_next
Unfortunately hycov will crash hyprland if it tries to draw itself when
there are no available clients and auto_next is enabled.
2024-03-29 16:42:21 -04:00
647746b8bc chore: Cleanup hycov package
Note that the new hyprlandPlugins.mkHyprlandPlugin does not appear to
work here, which is why it wasn't used.
2024-03-29 15:21:47 -04:00
aa6c01f9eb hyprland: Make new windows take over fullscreen
Fixes an issue where opening pqiv while thunar was fullscreen would keep
thunar fullscreen with pqiv behind it, among other things.
2024-03-29 14:56:52 -04:00
2caaa661d9 meta(hyprland): Add hycov plugin
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.
2024-03-29 14:54:59 -04:00
682e95ef1c chore: Drop unused packages
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.
2024-03-29 10:16:04 -04:00
32a95af4cd mime-apps: Open text files with neovim
Note that the nvim.desktop file has to be manually patched for this to
work.
2024-03-29 10:07:40 -04:00
47d92838ee chore: Update to latest nixos-unstable release
Updates hyprland to 0.37.1 among other things.
2024-03-29 10:07:04 -04:00
13ee4a9995 chore: Update flake inputs 2024-03-25 14:24:51 -04:00
476e11f54a hyprland: Make windows easier to see without hyprdim
Should be able to revert later.
2024-03-25 14:24:11 -04:00
e208178502 chore: Update packages
Got tired of manually updating the osu! hash each time so now
allowUnfree is being used for the time being.
2024-03-25 14:23:14 -04:00
ed0dec1e06 neovim: Add obsidian-nvim
Seems to be better than the last time I tried it.
2024-03-25 13:55:08 -04:00
637410a10e hyprland: Fix librewolf size in 0.36.0+ 2024-03-25 13:46:01 -04:00
dd862ac7aa meta: Drop eza overlay
The CJK + icons bug seems to be fixed in newer versions of eza.
2024-03-25 11:56:14 -04:00
a169b39f8c packages: Drop alejandra
Not needed anymore since nixfmt-rfc-style exists.
2024-03-25 11:49:04 -04:00
b1c128e6ac joshuto: Fix selection.prefix for 0.9.8
Might switch from joshuto to yazi due to 0.9.8 breaking the kitty
preview script.
2024-03-23 19:49:01 -04:00
488b7a61de packages: Drop slade
Fixes an issue where slade was causing manual compiles among other
things.
2024-03-23 18:14:54 -04:00
0151098d47 chore: Update flake inputs
Notable changes include upgrading to Plasma 6 in the DE specialization
as well as updating the pqiv config to work with the latest home-manger
change.
2024-03-22 12:22:23 -04:00