Commit Graph

430 Commits

Author SHA1 Message Date
Donovan Glover
9c7fb0b490
mullvad: Remove gui package
Not needed since the command line program is excellent. Makes things
easier overall and no longer have to worry about GUI-specific bugs.
2023-07-07 10:49:22 -04:00
Donovan Glover
a152284a63
chore: Formatting 2023-07-05 11:24:58 -04:00
Donovan Glover
27deb6bb43
nix: Simplify
lightdm is only enabled if no other display managers are chosen.

See ./nixos/modules/services/x11/xserver.nix in nixpkgs to verify this.
2023-07-04 16:41:31 -04:00
Donovan Glover
a9362bfd7d
chore: Update packages 2023-07-04 12:18:00 -04:00
Donovan Glover
0fddecce45
fonts: Use default hinting
Fixes an issue where the new "full" option would cause letters such as
"m" to appear disoriented.

For more information, refer to the commit below:
b5d2d701d1
2023-07-03 12:28:39 -04:00
Donovan Glover
a0ef495e73
fish: Replace tput clear with clear
tput isn't needed anymore now that kitty is patched.
2023-07-02 20:03:33 -04:00
Donovan Glover
a982615430
stylix: Increase opacity 2023-07-02 14:34:07 -04:00
Donovan Glover
f9cb5c5c56
meta: Replace waybar with ironbar
Ironbar is a new GTK-based bar written in Rust. It offers substantial
improvements over waybar, including a proper application launcher.
2023-07-02 09:36:31 -04:00
Donovan Glover
5ec4aab697
meta: Remove gamemode
As far as I can tell, there isn't any noticeable performance difference
with the hardware I use.
2023-07-01 22:44:06 -04:00
Donovan Glover
41f3c5e18c
chore: Update packages 2023-07-01 14:21:54 -04:00
Donovan Glover
51795a8829
meta: Use unrar instead of unrar-wrapper
Unfortunately, some functionality appears to only be available with
unrar.
2023-07-01 14:03:40 -04:00
Donovan Glover
2d3458362d
meta: Remove pywal
Not needed anymore since stylix enables more consistent color schemes
that support a wider variety of applications.
2023-06-30 07:58:38 -04:00
Donovan Glover
c53057b129
hyprland: Tile qemu vm by default 2023-06-30 07:48:00 -04:00
Donovan Glover
6cd3e23c21
stylix: Change MapleMono to Maple Mono
This seems to have fixed an issue where italicized text wasn't shown
previously.
2023-06-29 13:55:34 -04:00
Donovan Glover
ae1ad321a3
stylix: Use monokai by default
It's simple and gets the job done.
2023-06-29 11:37:21 -04:00
Donovan Glover
d0b8300bea
stylix: Use variable for font-size 2023-06-27 04:46:28 -04:00
Donovan Glover
48fa7d1512
chore: Update packages 2023-06-26 18:50:57 -04:00
Donovan Glover
62207c05fa
chore: Formatting
Also removes redundant comments.
2023-06-26 18:38:45 -04:00
Donovan Glover
bcbadcfc23
stylix: Use single variable for opacity 2023-06-26 12:01:14 -04:00
Donovan Glover
6f4ebc95be
stylix: Change theme to oceanicnext 2023-06-25 21:42:26 -04:00
Donovan Glover
01368898b8
stylix: Make popups translucent 2023-06-25 21:41:49 -04:00
Donovan Glover
1434434903
fish: Set bat theme to base16 2023-06-25 21:40:49 -04:00
Donovan Glover
2a6536337f
gamemode: Fix error from typo 2023-06-25 18:18:38 -04:00
Donovan Glover
2995ae4d7a
meta: Replace feh with pqiv
pqiv is an image viewer that, unlike feh, has native support for
Wayland, which makes working with it quite nice. It also supports
showing a thumbnail mode that lets you preview and switch between
images with ease, as well as the ability to run custom commands
based on the current image.

pqiv has more features than imv *and* anti-aliasing *actually works*,
making it an ideal choice for image viewing on Wayland. After years of
using feh, I am quite happy that I found pqiv.
2023-06-24 14:58:44 -04:00
Donovan Glover
128c6f619d
meta: Replace unrar with unrar-wrapper 2023-06-24 13:40:02 -04:00
Donovan Glover
08492ea227
feh: Fullscreen by default
This alleviates some of the issues with feh relying on xwayland.
2023-06-24 12:10:01 -04:00
Donovan Glover
24bec3bc32
Revert "meta: Remove super key functionality"
Since I no longer have a need for non-Hyprland virtualized environments,
altering the super key makes sense.
2023-06-23 18:58:07 -04:00
Donovan Glover
a9c5c5eddd
starship: Re-enable containers module
Having some indicator that we're in a container is better than no
indicator at all. starship takes forever to compile, so patching it
would introduce excessively long build times.
2023-06-22 14:38:27 -04:00
Donovan Glover
c6e3513a5d
meta: Use packages module
May or may not separate or split this later.
2023-06-22 12:09:26 -04:00
Donovan Glover
1eb77fd467
modules: Add system 2023-06-22 11:54:12 -04:00
Donovan Glover
7316153e37
chore: Formatting 2023-06-22 11:30:32 -04:00
Donovan Glover
8ffb196c0b
meta: Don't use variables
The previous commit didn't actually work, and I shouldn't need to
change the variables often, so it's much simpler to not have them.

In the event that I do need to change something, rg and sd should get
the job done well.
2023-06-22 11:10:17 -04:00
Donovan Glover
2f056d1e72
meta: Migrate to config.variables 2023-06-22 10:42:23 -04:00
Donovan Glover
99d2913b41
nix: Remove one-off variables
Don't use variables for things that only get defined in one place.
2023-06-22 10:17:49 -04:00
Donovan Glover
1dcf95a7eb
pipewire: Inline low latency module
This removes the nix-gaming dependency to achieve low latency.
2023-06-22 09:51:15 -04:00
Donovan Glover
59eb54e1e5
nix: Remove nix-gaming cache
No longer needed since I plan to just use the wine from nixpkgs.
2023-06-22 09:32:35 -04:00
Donovan Glover
3283aebbd8
modules: Add wine
Useful to remember why I set this option.
2023-06-22 07:17:01 -04:00
Donovan Glover
71b23e9bf3
modules: Add cdemu
NixOS makes this so easy.
2023-06-22 06:55:54 -04:00
Donovan Glover
ba686839ec
meta: Remove vmware
Now that I have figured out how to get all the Windows applications I
previously used working under Wine (including those that didn't work in
the virtual machine after trying to manually install dependencies) there
is no reason for me to use vmware.

Using NixOS for Windows applications allows them to be used with
systemd-nspawn containers, thus achieving things like isolation, private
networks, impermanence, and more. All of this without having to maintain
a separate operating system install.
2023-06-21 03:44:42 -04:00
Donovan Glover
43186c630e
locale: Fix import 2023-06-21 03:32:56 -04:00
Donovan Glover
d226c85639
meta: Move remaining sessionVariables to fish 2023-06-21 03:32:35 -04:00
Donovan Glover
741f40ce56
networking: Remove forwardPorts
No ports need to be forwarded right now, however this is a good example
for when ports need to be forwarded from a container to the host in the
future.
2023-06-21 03:31:33 -04:00
Donovan Glover
0cd00a7734
chore: Formatting 2023-06-21 03:09:22 -04:00
Donovan Glover
5694bbc450
nix: Modularize locale and timezone 2023-06-21 02:35:43 -04:00
Donovan Glover
ac801ad5bf
fish: Add abbreviation for git branch --delete 2023-06-20 12:04:28 -04:00
Donovan Glover
b310bb6e6d
meta: Replace go-thumbnailer with nixpkgs version
Now there is no need for a packages directory since all the packages I
maintain are upstreamed.
2023-06-20 09:55:34 -04:00
Donovan Glover
83b6ce6e2d
nix: Continue modularization 2023-06-19 05:13:04 -04:00
Donovan Glover
76bfdf10b6
pipewire: Re-enable lowLatency
This was previously disabled when testing NixOS networks.
2023-06-18 15:52:47 -04:00
Donovan Glover
07bbb996e5
nix: Continue modularization of system modules 2023-06-18 15:52:03 -04:00
Donovan Glover
bbb0110a03
virtualization: Always use vmVariant
This works since we're no longer depending on a network of virtual
machines that use their own virtualization configurations.
2023-06-18 11:58:37 -04:00
Donovan Glover
d34ead9699
meta: Share directories with virtual machines
This *works*, and it's possible to edit files in one virtual machine
while having those files instantly be updated in all other virtual
machines. Note that the host will also have access to the files, which
ultimately means that directory sharing is quite useful (and convenient).
2023-06-18 10:44:44 -04:00
Donovan Glover
d28c0ec15b
meta: Make networks usable
This was a change to make networks somewhat usable, and it works to a
good extent, however I ultimately decided against using networks due to
their missing flake support.
2023-06-18 10:40:59 -04:00
Donovan Glover
f7110b3e06
fonts: Add liberation fonts
Unfortunately, this is necessary to prevent certain websites from
completely breaking due to Noto fonts having wider width overall.
2023-06-18 10:04:34 -04:00
Donovan Glover
93295369c0
gnome: mkForce hyprland defaults
This should be a temporary solution until modules are selectively
imported and hyprland isn't included.
2023-06-18 09:20:47 -04:00
Donovan Glover
bd7c1d553b
meta: Add network example
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.
2023-06-18 08:09:44 -04:00
Donovan Glover
798aa35edf
meta: Use separate module for plasma
This enables plasma to be used as both a specialization and as a desktop
environment in a virtual machine.
2023-06-17 22:23:25 -04:00
Donovan Glover
0bd8f69705
fix(fonts): Explicitly reject default fonts
This fixes an issue where the default fonts were included by default
from another module in the system configuration.
2023-06-17 21:05:12 -04:00
Donovan Glover
77956b181b
fix(fonts): Don't enable default fonts
This fixes an issue where some applications were using the default fonts
from nixpkgs instead of the fonts specified in the system configuration.
Notably, this led to the use of "TeX Gyre Heros" for body text, which
made distinguishing between i/I/l problematic at smaller font sizes.
2023-06-17 20:58:28 -04:00
Donovan Glover
692093da7d
meta: Flatten packages directory 2023-06-17 20:55:32 -04:00
Donovan Glover
f9a851cda2
meta: Add hyprland-specific setup to hyprland module 2023-06-17 09:42:53 -04:00
Donovan Glover
0e6ed0aa93
meta: Add back gnome module
Possibly useful for setting up computers with GNOME. The main advantage
GNOME has is the ability to have a consistent environment in both X11
and Wayland, which is useful to test whether or not something only works
in X11.
2023-06-17 09:19:07 -04:00
Donovan Glover
6b496fb529
modules: Add greetd 2023-06-17 02:43:26 -04:00
Donovan Glover
e00a88bfea
nix: Continue home separation 2023-06-16 23:00:15 -04:00
Donovan Glover
a7102b5b67
fish: Move user config to ./home 2023-06-16 20:17:51 -04:00
Donovan Glover
ef109a9472
swaylock: Move to ./home 2023-06-16 20:16:19 -04:00
Donovan Glover
c0966633d8
librewolf: Move to ./home 2023-06-16 20:15:45 -04:00
Donovan Glover
79003388c2
starship: Separate from fish 2023-06-16 20:13:32 -04:00
Donovan Glover
2dd6a9f5c3
fcitx: Move to ./home 2023-06-16 20:09:34 -04:00
Donovan Glover
3e6f8e6563
hyprland: Move home-specific parts to ./home
Note that the modules are separated more to make it easier to use parts
of the graphical configuration in NixOS containers.
2023-06-16 20:02:45 -04:00
Donovan Glover
374a0a2d14
meta: Flatten modules directory 2023-06-16 14:03:09 -04:00
Donovan Glover
c23655ad39
fish: Add target to tree ignore
This prevents the directory listing from becoming abnormally large with
rust projects.
2023-06-16 13:37:54 -04:00
Donovan Glover
b12e1598c9
thunar: Add volman
This should prevent errors from popping up in the terminal when mounting
disks.
2023-06-16 13:19:46 -04:00
Donovan Glover
7b12a778f8
fcitx5: Inline config 2023-06-16 12:28:10 -04:00
Donovan Glover
8498368947
chore: Formatting 2023-06-16 08:51:22 -04:00
Donovan Glover
39e206a89b
chore: Move home-manager modules to ./home 2023-06-16 08:23:49 -04:00
Donovan Glover
b4242e0f55
chore: Continue home-manager separation 2023-06-16 08:19:26 -04:00
Donovan Glover
181ea09092
meta: Use separate directory for home-manager modules 2023-06-16 08:13:34 -04:00
Donovan Glover
e5c0e7d985
chore: Fix typo 2023-06-16 07:34:13 -04:00
Donovan Glover
f08e4ca34f
chore: Run nixpkgs-fmt 2023-06-16 07:31:39 -04:00
Donovan Glover
cdf9652a34
meta: Use separate home-manager modules
This makes it easier to use our modules with home-manager on non-NixOS
distributions as needed.
2023-06-16 07:25:00 -04:00
Donovan Glover
735201eb9b
hyprland: Re-enable vfr by default
This fixes an issue where disabling vfr would cause certain applications
to perform worse, as well as QEMU virtual machines showing lower
performance.
2023-06-15 10:47:15 -04:00
Donovan Glover
4d1f614163
waybar(workspaces): Remove hover feedback
Unfortunately, I haven't came up with a solution to making waybar
workspaces clickable with hyprland-autoname-workspaces yet.
2023-06-14 08:42:09 -04:00
Donovan Glover
6e61915182
fish: Remove exec hyprland
Not needed since greetd handles autologin.
2023-06-13 21:16:59 -04:00
Donovan Glover
44adb319f5
waybar-hyprland: Use custom overlay
This fixes an issue where waybar-hyprland would break with
hyprland-autoname-workspaces.
2023-06-13 17:01:56 -04:00
Donovan Glover
1fa52fcbbc
Revert "meta: Disable vfr at the gamemode level"
This completely broke gamemode notifications. Luckily we're using NixOS
so a revert was as easy as `git revert` and `nixos-rebuild`.
2023-06-13 11:14:46 -04:00
Donovan Glover
3df3aa19f9
meta: Disable vfr at the gamemode level
This fixes an issue where other applications would perform *worse* with
vfr disabled, notably srb2.
2023-06-13 10:45:30 -04:00
Donovan Glover
576a9727be
hyprland: Decrease default vertical split ratio 2023-06-13 09:48:42 -04:00
Donovan Glover
2b054e8c18
hyprland: Use default split ratios 2023-06-13 09:11:06 -04:00
Donovan Glover
1f3c3c0c58
neovim(alpha-nvim): Customize 2023-06-13 09:08:28 -04:00
Donovan Glover
b856e26b3a
nix: Formatting 2023-06-13 09:06:48 -04:00
Donovan Glover
a16236534f
neovim: Replace vim-startify with alpha-nvim
alpha-nvim is significantly faster than vim-startify and doesn't error
on first startup.
2023-06-12 21:49:32 -04:00
Donovan Glover
bb6d0afc93
misc: Make exa man pages accessible
Even though it's possible to guarantee that a certain package is used,
it's still necessary to include packages in the $PATH in order to have
access to the man pages for them, among other things.
2023-06-12 18:40:06 -04:00
Donovan Glover
91fff9d285
hyprland: Less blur 2023-06-12 18:39:16 -04:00
Donovan Glover
dace88bc76
Move more dev stuff to neovim 2023-06-12 18:34:41 -04:00
Donovan Glover
4cd995138d
hyprland: Don't inherit fullscreen 2023-06-12 17:35:57 -04:00
Donovan Glover
44057b2579
meta: Move cli tools to fish module
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.
2023-06-12 17:00:26 -04:00
Donovan Glover
f5d7fba157
meta: Move dev tools to neovim module
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.
2023-06-12 16:54:12 -04:00
Donovan Glover
610cc8acf0
starship: Disable container module
The container module has been broken for a while and doesn't show
relevant container names.

See: https://github.com/starship/starship/issues/3592
2023-06-12 15:07:52 -04:00
Donovan Glover
9692307bd9
nix: Simplify 2023-06-12 13:40:56 -04:00
Donovan Glover
883c4780da
nix(ncmpcpp): Compact keybinds
Now possible since nixpkgs-fmt is used instead of alejandra.
2023-06-12 10:29:25 -04:00
Donovan Glover
5e65df256a
meta: Add treefmt 2023-06-12 03:48:15 -04:00
Donovan Glover
797c0e8ec4
neovim: Add fcitx-vim
This plugin enables smooth integration between fcitx5 and neovim. In
order words, you no longer have to manually change input methods when
switching between normal mode and insert mode.
2023-06-12 03:12:48 -04:00
Donovan Glover
41f23b165c
nix(joshuto): Fix typo 2023-06-12 03:12:11 -04:00
Donovan Glover
4e2292ebe6
joshuto(icons): Remove unused directory names 2023-06-12 03:11:40 -04:00
Donovan Glover
1deb12331d
nix: Syntax highlight more strings 2023-06-11 15:37:06 -04:00
Donovan Glover
f7f8f56119
nix(joshuto): Inline toml config
This lets us take advantage of nix strings while having the entire
config in a single portable file.

Note that someone already wrote a home manager module for joshuto, which
should get merged soon.

See: https://github.com/nix-community/home-manager/pull/4004
2023-06-11 14:51:50 -04:00
Donovan Glover
759e4b6d72
hyprland: Don't use groups
I haven't used groups in a while and find things simpler that way.
2023-06-11 14:32:32 -04:00
Donovan Glover
13bde07ee7
hyprland: Remove tags script
Moving windows one by one guarantees their order, which is something
this script was unable to achieve.
2023-06-11 14:30:39 -04:00
Donovan Glover
d06d47f76a
nix: Simplify 2023-06-11 09:55:44 -04:00
Donovan Glover
43a07cc8d9
treewide: Switch from alejandra to nixpkgs-fmt
Neither nixfmt nor alejandra support the "standard" way to syntax
highlight multi-line strings in Nix, so nixpkgs-fmt is the only viable
solution.
2023-06-11 09:37:27 -04:00
Donovan Glover
09f2ce62de
mime-apps: Add default browser 2023-06-11 09:25:36 -04:00
Donovan Glover
5e1b179f4c
hyprland: Fix fps drop after inactivity
This fixes an issue where Hyprland would drop from 60fps to 45fps after
being idle for some time, often 1 minute and 30 seconds. This was
problematic for viewing content while idle at 60fps with XWayland in
windowed fullscreen.

See: https://github.com/hyprwm/Hyprland/issues/2484
2023-06-11 06:21:27 -04:00
Donovan Glover
421b77a3db
nix(hyprland): Add syntax highlighting 2023-06-11 06:14:02 -04:00
Donovan Glover
19661bd0bf
waybar: Decrease active workspace background 2023-06-10 20:59:34 -04:00
Donovan Glover
b4cde71c3b
waybar: Add border-bottom to workspace buttons 2023-06-10 20:59:18 -04:00
Donovan Glover
50e317fc22
nix: Formatting 2023-06-10 20:58:45 -04:00
Donovan Glover
31ad806ce7
nix: Add syntax highlighting to strings
Note that alejandra currently does not handle these comments properly.

See: https://github.com/kamadorueda/alejandra/issues/366
2023-06-10 20:13:41 -04:00
Donovan Glover
e42bfc091a
fish: Perform local tests by default 2023-06-10 20:07:55 -04:00
Donovan Glover
53685b9e5e
neovim: Add vim-nix-rummik
This change enables syntax highlighting of Nix strings with comments.
2023-06-10 20:06:36 -04:00
Donovan Glover
73282e699b
modules: Add waycorner 2023-06-10 19:07:55 -04:00
Donovan Glover
6c880d65a5
neovim: Make startify script always work
One of the beauties of Nix is that you don't have to depend on what is
available in a user's $PATH.
2023-06-10 10:17:43 -04:00
Donovan Glover
8251867144
librewolf: Highlight all by default 2023-06-10 08:15:33 -04:00
Donovan Glover
e037c54561
fish: Replace tput reset with tput clear
This should fix an issue where colors would previously get changed after
clearing the terminal.
2023-06-09 21:50:38 -04:00
Donovan Glover
ce289bb112
hyprland: Stack by default
This should keep focus on the first window open per workspace, which
should help compartmentalize workspaces based on function.
2023-06-09 21:26:48 -04:00
Donovan Glover
38188f4e19
qutebrowser: Improve accept_language formatting 2023-06-09 21:25:46 -04:00
Donovan Glover
d6fe14b803
hyprland: Add gaps keybind
Useful when you want to use gaps.
2023-06-09 21:18:35 -04:00
Donovan Glover
7654520135
modules: Add mime-apps 2023-06-09 16:21:52 -04:00
Donovan Glover
1ab27e7fe7
variables: Add defaultBrowser 2023-06-09 16:12:41 -04:00
Donovan Glover
9e5db2273b
fcitx5-mozc: Use separate files for config 2023-06-09 12:34:20 -04:00
Donovan Glover
20b1d42701
neovim: Use vim-crystal from nixpkgs/unstable 2023-06-09 10:39:07 -04:00
Donovan Glover
f350e711eb
neovim: Add toggleterm-nvim 2023-06-09 10:35:05 -04:00
Donovan Glover
ac35390c59
neovim: Make lualine-nvim translucent 2023-06-09 10:34:42 -04:00
Donovan Glover
6a53d7f5eb
neovim: Make it easier to exit terminal
Note that <Esc> cannot be used for the keybind here since other plugins
like fzf-vim rely on using a terminal window that has its own escape
binding.
2023-06-09 09:56:03 -04:00
Donovan Glover
9f78256c4c
neovim: Add bufdelete-nvim
Used to delete buffers without closing the current window and only
showing nvim-tree.
2023-06-09 09:54:39 -04:00
Donovan Glover
176f59f3bd
meta: Replace rofi package with overlay
This significantly reduces the complexity of maintaining a more recent
version of rofi-wayland.
2023-06-09 08:12:29 -04:00
Donovan Glover
250222c191
nixos-rebuild: Use verbose output 2023-06-08 20:57:50 -04:00
Donovan Glover
578190d486
neovim: Simplify cd command
augroup shouldn't be needed since this command is only ran once anyway.
2023-06-08 20:54:22 -04:00
Donovan Glover
5552b5c743
neovim: cd to git directory if it exists
This prevents an issue where it was previously possible to open files in
vim without the current directory being the project root.
2023-06-08 20:51:08 -04:00
Donovan Glover
f4db117bc3
neovim(vim-startify): Fix random quotes 2023-06-08 20:12:07 -04:00
Donovan Glover
d3e2457a89
tests: Use verbose output 2023-06-08 19:18:04 -04:00
Donovan Glover
9d4307c8a6
joshuto: Add icon support 2023-06-08 19:17:28 -04:00
Donovan Glover
3ad31d2df3
nix: Format with alejandra 2023-06-08 17:28:09 -04:00
Donovan Glover
b94c99d67a
nix: Sort imports alphabetically 2023-06-08 17:26:23 -04:00
Donovan Glover
47b5ac0d7d
nix: Remove logic from modules/default.nix
For simplicity, the first-level default.nix should be used to import all
the other modules.
2023-06-08 17:23:22 -04:00
Donovan Glover
d137d3342c
meta: Add tests
Tests help guarantee that I don't forget to do something that I should
have done, such as importing a certain nix module.
2023-06-08 17:15:58 -04:00
Donovan Glover
ac58a29d86
neovim: Add crystalline 2023-06-08 17:02:50 -04:00
Donovan Glover
f86dafa900
neovim: Use vim-crystal from nixpkgs/master
Nix flakes makes it easy to mix and match packages from any git
repository, which includes being able to use multiple nixpkgs branches.
2023-06-08 16:51:57 -04:00
Donovan Glover
a5941a1701
meta: Use crystal-flake for crystal development
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
2023-06-08 15:13:46 -04:00
Donovan Glover
db06c3ac02
joshuto: Add remaining config files
Note that the theme file is necessary to avoid the theme changing in
certain situations. The keymap config is the same as the default, except
with the addition of "o", which is used to select files (or a directory)
when using joshuto as a file chooser.
2023-06-08 13:43:52 -04:00
Donovan Glover
62521c914d
packages: Remove nwg-dock-hyprland
There is an open pull request for nwg-dock-hyprland, so it'll be
possible to use this package directly from nixpkgs/nixos-unstable soon.
2023-06-08 12:29:45 -04:00
Donovan Glover
5a3538a8ce
qutebrowser: Nixify fileselect 2023-06-08 11:59:38 -04:00
Donovan Glover
3950a0418a
qutebrowser: Use joshuto as the file chooser
This works when combined with `quit --output-selected-files`.
2023-06-08 11:56:24 -04:00
Donovan Glover
7053a79a07
hyprland: Make thunar translucent 2023-06-07 16:26:39 -04:00
Donovan Glover
27d82bfd81
hyprland: Toggle dim_inactive with <super>i 2023-06-07 16:26:18 -04:00
Donovan Glover
25c9378c38
hyprland-autoname-workspaces: Fix typo 2023-06-07 15:58:18 -04:00
Donovan Glover
2045b05b79
hyprland: Increase blur passes
When blur is enabled, it should look like things are actually blurred.
This has the advantage of making translucent windows work better when
the opacity is set by hyprland.
2023-06-07 13:52:16 -04:00
Donovan Glover
a3ffaf73a7
waybar: Fix rofi click focus
Also adds an option to simply open a new empty workspace.
2023-06-07 12:31:26 -04:00
Donovan Glover
77e16590eb
hyprland: Don't blur kitty window by default 2023-06-07 07:52:20 -04:00
Donovan Glover
f2f5560f63
neovim: Add csv-vim 2023-06-06 22:15:33 -04:00
Donovan Glover
3a9fe397fc
joshuto: Preview lock files 2023-06-06 18:46:12 -04:00
Donovan Glover
d0c7ad0eee
neovim: Add back nvim-scrollbar
Looks like the issue where the scrollbar was hiding text behind it has
been fixed.
2023-06-06 17:09:43 -04:00
Donovan Glover
c4636b4b05
neovim: Swap tree toggle with window switch
This makes it easier to press enter after switching to the tree window.
2023-06-06 14:04:56 -04:00
Donovan Glover
6d39ed2980
neovim: Add vim-startify 2023-06-06 12:24:49 -04:00
Donovan Glover
486178b27f
Revert "neovim: Focus tree when empty buffer"
This actually causes QuitPre to not close neovim since the tree is
closed first when quitting while the tree is focused. For simplicity,
the tree should always be unfocused to avoid ambiguity.
2023-06-06 10:52:39 -04:00
Donovan Glover
4d9a6b6877
variables: Add username 2023-06-06 10:50:42 -04:00
Donovan Glover
b5ccd2e18b
fish: Add n abbreviation for neovim 2023-06-06 10:37:06 -04:00
Donovan Glover
9a9e3be260
fish: Use variables for vm abbreviation
This prevents things from breaking if we change the hostname at a later
date.
2023-06-06 10:36:17 -04:00
Donovan Glover
a326873c6a
fish: Add abbreviation for nixos-rebuild switch 2023-06-06 10:33:51 -04:00
Donovan Glover
f6ef515f80
fish: Add abbreviation for nixos-rebuild build-vm 2023-06-06 10:32:32 -04:00
Donovan Glover
a69a38d287
fish: Use lowercase t for tree 2023-06-06 10:17:06 -04:00
Donovan Glover
2fcffe0a67
fish: Add git restore abbreviations 2023-06-06 10:03:09 -04:00
Donovan Glover
9ec36d2bc4
fish: Use smart-case for ripgrep 2023-06-06 10:00:04 -04:00
Donovan Glover
c59387bb1f
neovim: Close tree with QuitPre
This fixes an issue where neovim would automatically close when opening
it with a directory.
2023-06-06 07:50:37 -04:00
Donovan Glover
02dd4540e5
neovim: Focus tree when empty buffer 2023-06-06 07:40:16 -04:00
Donovan Glover
cf6064e500
neovim: Toggle tree with <leader>a
To switch between the tree and the file being edited, use <leader>;
2023-06-06 07:27:32 -04:00
Donovan Glover
f0867c039e
neovim: Open tree by default 2023-06-06 07:27:04 -04:00
Donovan Glover
c588b3a0d8
neovim: Close tree if only buffer 2023-06-06 07:18:59 -04:00
Donovan Glover
fc8b241f6e
packages: Use waybar from nixpkgs 2023-06-06 04:44:30 -04:00
Donovan Glover
7e38c259fa
meta: Replace joshuto package with overlay
This actually took *forever*, but now that I know how to write nixpkgs
overlays, any future ones I write should be relatively straight-forward.
2023-06-05 23:07:36 -04:00
Donovan Glover
3119b789f8
nix: Format with alejandra
Alejandra is written in Rust, has more tests than nixfmt, and handles
non-trivial code examples in Nix better.
2023-06-05 20:50:10 -04:00
Donovan Glover
b9f22a6ab0
kitty: Revert cell height increase
Unfortunately (or fortunately), every line matters when reading and
writing software. Because of this, increasing the cell height results in
more negative consequences than positive.
2023-06-05 19:16:40 -04:00
Donovan Glover
79adca57ef
packages: Add hyprland-autorename-workspaces
Note that the behavior of 1.0.0 is different than older versions,
however it doesn't appear to randomly stop working like before.
2023-06-05 14:57:04 -04:00
Donovan Glover
57856917aa
nix: Move desktop modules to modules
This concludes the unification of modules. Future work could include
combining modules that are unlikely to be used separately.
2023-06-05 12:52:32 -04:00
Donovan Glover
343076f942
meta: Move terminal files to modules
Since all of these files do roughly the same thing (that is, configure
the system in a specific way that a separate file seems necessary), this
should reduce the overall complexity of the project tree.
2023-06-05 11:44:37 -04:00
Donovan Glover
1ad4e2d4af
meta: Rename applications to modules
This is my attempt at putting all modules in one directory to avoid
having to remember whether a module was a part of applications/,
desktop/, or terminal/.
2023-06-05 11:37:06 -04:00
Donovan Glover
e20be890d0
Remove distinction between home-manager files 2023-05-18 11:46:41 -04:00
Donovan Glover
3d8e6f356e
Merge fish module 2023-05-18 09:49:56 -04:00
Donovan Glover
343e0cf6e0
Use separate directories for all modules 2023-05-17 16:57:33 -04:00
Donovan Glover
bcaaea97d2
Remove unneeded home-manager options 2023-05-17 16:08:28 -04:00
Donovan Glover
e09febf522
Add user module 2023-05-17 15:58:08 -04:00
Donovan Glover
afc98ce47e
Remove configuration.nix
Not needed anymore since we know how to use nix modules.
2023-05-17 12:50:55 -04:00
Donovan Glover
2966ab79d6
Add module for piper 2023-05-17 11:51:52 -04:00
Donovan Glover
a2d6373232
Make home.nix a proper module 2023-05-17 11:51:12 -04:00
Donovan Glover
4012f0a381
nix: Modularize 2023-05-17 10:17:42 -04:00
Donovan Glover
4a7b603536
nix: Continue modularization 2023-05-17 10:02:36 -04:00
Donovan Glover
d5db1b513e
Make srb2 a module
This makes it easier to add and remove srb2 from machines by simply
importing its module.
2023-05-16 21:23:13 -04:00
Donovan Glover
4f18602527
Add osu module
Note that osu! is currently unfree since it depends on the bass audio
library.
2023-05-16 21:16:47 -04:00
Donovan Glover
47da22c951
modules: Add tlp
Note that this may be better as a host-specific module.
2023-05-16 17:54:20 -04:00
Donovan Glover
a9703aad9a
Continue moving fish config to fish module 2023-05-16 17:18:48 -04:00
Donovan Glover
8c027300e6
Modularize htop and dual-function-keys 2023-05-16 17:18:06 -04:00
Donovan Glover
19dda06920
Abstract stylix and fonts into modules 2023-05-16 14:52:59 -04:00
Donovan Glover
a17ba29926
Abstract starship and fish into separate modules
This should make things easier to reason about and more modular in
general.
2023-05-16 12:33:53 -04:00
Donovan Glover
9e11cb4278
Simplify modules to home.nix
I *may* abstract this in the future, but for now I have no reason to.
2023-05-11 19:14:59 -04:00
Donovan Glover
341d3aeae5
Remove rofi
This is an experiment to see if I prefer launching everything from the
terminal to get a more tty-like feel.
2023-05-11 18:53:43 -04:00
Donovan Glover
317c7b5dc6
fish: Fix export syntax 2023-05-11 17:48:01 -04:00
Donovan Glover
0038165390
Nixify fish config
Note that the home manager module isn't used here since the resulting
config.fish made fish noticeably slower on startup.
2023-05-11 17:19:21 -04:00
Donovan Glover
7f4eac5446
Migrate remaining neovim config to nix 2023-05-11 16:30:12 -04:00
Donovan Glover
c45a96764f
nix: Continue nixification 2023-05-11 12:56:13 -04:00
Donovan Glover
5322fc02b8
nix: Nixify more dotfiles 2023-05-11 07:30:58 -04:00
Donovan Glover
0d0c00f1d9
nix: Nixify feh
Although it would be nice to use a Wayland image viewer, currently all
of them (that I am aware of) suffer from anti-aliasing issues not present
in feh.
2023-05-11 00:46:26 -04:00
Donovan Glover
ac3769d21c
nix: Nixify dunst 2023-05-11 00:29:03 -04:00
Donovan Glover
1128ee65fd
wip: Neoify vim config
Removing old and outdated stuff that is no longer relevant or doesn't
apply to neovim specifically.
2023-05-10 23:31:01 -04:00
Donovan Glover
10908e340b
feat: Add xdg-user-dirs support 2023-05-10 14:37:42 -04:00
Donovan Glover
5230741e65
feat: Add mpd/ncmpcpp 2023-05-10 13:51:21 -04:00
Donovan Glover
cd32ad2e27
feat: Add gtk config 2023-05-10 13:51:05 -04:00
Donovan Glover
e05914ae18
feat: Add tig config 2023-05-10 13:49:47 -04:00
Donovan Glover
176a8b6597
feat: Add dunst support 2023-05-10 12:52:58 -04:00
Donovan Glover
88ccef09b3
feat: Add bat support 2023-05-10 12:52:45 -04:00
Donovan Glover
0d23db84da
feat: Start kitty from thunar 2023-05-10 12:52:23 -04:00
Donovan Glover
680668ede2
feat: Migrate xresources and cursor theme to nix 2023-05-10 12:52:02 -04:00
Donovan Glover
7dcaa2378e
fix: Migrate remaining kitty config to nix 2023-05-10 12:50:16 -04:00
Donovan Glover
c0377103bd
fix: Remove alacritty
Alacritty does not support MapleMono-NF as a font, whereas kitty does.
kitty also has other nice features such as built-in windows/tabs and
image support.
2023-05-10 11:50:15 -04:00
Donovan Glover
15b231a157
feat: Add zathura config
Note that loading a runtime file in ~/.cache/wal is no longer necessary
since configuration is done declaratively through Nix.

Although this has some downsides, such as the lack of "live reloading"
in some applications, this "feature" wasn't present across all
applications anyway.
2023-05-10 11:44:21 -04:00
Donovan Glover
55e3c4a813
feat: Add stylix
Stylix is like a maintained version of pywal but configuration changes
are managed by Nix and Home Manager, thus guaranteeing a certain level
of reproducibility with its declarative nature.
2023-05-10 11:32:47 -04:00
Donovan Glover
4e47467c7c
fix(neovim): Remove colorizer and cursorline
colorizer bugged out presumably due to order being determined by the Nix
language. I did not like cursorline however I did think cursorword was
cool, so I'm keeping that part of it for now.
2023-05-09 23:44:26 -04:00
Donovan Glover
4df1d91e19
fix(waybar): Use waybar-hyprland from flake
This fixes an issue where wlr/workspaces is considered experimental in
waybar and thus does not work with the current nixpkgs version on NixOS.

References:
- https://github.com/Alexays/Waybar/issues/1766
- https://github.com/hyprwm/Hyprland/discussions/1729
2023-05-09 22:40:06 -04:00
Donovan Glover
27f7daeece
nix(editor): Misc changes
- Added undofile
- Added spell check
- Added back built-in file explorer
- Added some plugins
2023-05-09 21:14:13 -04:00
Donovan Glover
b95cc4184a
nix: Update editor.nix
Was trying out some neovim plugins with Nix. Pretty cool that I don't
have to worry about using *another* package manager like packer.nvim.
2023-05-09 14:08:46 -04:00
Donovan Glover
e1d740fb63
nix: Abstract hyprland config into separate module
This should make it easy to switch between hyprland and other
environments if wanted.
2023-05-09 14:04:01 -04:00
Donovan Glover
1c99ffd784
nix: Modularize editor
Now I know how to abstract modules into separate files instead of having
one big file for everything.
2023-05-09 11:43:39 -04:00