Commit Graph

253 Commits

Author SHA1 Message Date
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