Commit Graph

62 Commits

Author SHA1 Message Date
Donovan Glover
1eb77fd467
modules: Add system 2023-06-22 11:54:12 -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
6d5365f2b3
packages: Remove osu-stable
Not needed anymore since I'd rather manage my own osu! files.
2023-06-22 09:43:29 -04:00
Donovan Glover
7a5ceee759
meta: Remove hypr-contrib
Not needed anymore since grimblast is now in my personal nixpkgs branch.
2023-06-22 09:17:03 -04:00
Donovan Glover
4083348a3b
meta: Move up hardware-configuration import 2023-06-22 07:42:53 -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
0fd8411d36
meta: Use default.nix
Makes things simpler.
2023-06-22 05:36:48 -04:00
Donovan Glover
7fb0c15255
networking: Remove allowedTCPPorts
Not needed for now, although a good reference for the future.
2023-06-21 11:43:09 -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
d226c85639
meta: Move remaining sessionVariables to fish 2023-06-21 03:32:35 -04:00
Donovan Glover
5694bbc450
nix: Modularize locale and timezone 2023-06-21 02:35:43 -04:00
Donovan Glover
5b21e36969
packages: Add poppler_utils
Useful for converting images in pdfs to actual images.
2023-06-20 18:43:57 -04:00
Donovan Glover
aa15dc00ee
containers: Use separate default.nix 2023-06-20 18:42:56 -04:00
Donovan Glover
255a819504
meta: Use a personal nixpkgs branch
Now I don't have to wait for anything to be included in nixos-unstable
and can simply merge whatever I want whenever I want. This also has the
advantage of not having to specify which input is needed to get a
package from.
2023-06-20 10:26:04 -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
ec418619ab
meta: Replace crystal-flake with nixpkgs-crystalline 2023-06-20 08:30:20 -04:00
Donovan Glover
3ea8860f7d
meta: Use grimblast over grim/slurp 2023-06-19 12:12:04 -04:00
Donovan Glover
b7ed04d1a2
meta: Move shards to neovim config
The neovim config has everything I need for software development, so
having shards there makes sense.
2023-06-19 12:10:59 -04:00
Donovan Glover
df92eb1eb4
chore: Remove unused packages 2023-06-19 12:10:22 -04:00
Donovan Glover
83b6ce6e2d
nix: Continue modularization 2023-06-19 05:13:04 -04:00
Donovan Glover
72bd18dcfc
npm: Use home-manager package instead of nixos module
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.
2023-06-19 04:00:50 -04:00
Donovan Glover
07bbb996e5
nix: Continue modularization of system modules 2023-06-18 15:52:03 -04:00
Donovan Glover
e60f7000b0
meta: Don't shutdown when power button is pressed
Since I always shut down the computer through the terminal, the power
button serves no use while the computer is on.
2023-06-18 15:31:29 -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
168134bcf3
qemu: Add audio support to virtual machines
This fixes an issue where virtual machines would previously use dummy
output. More specifically, pulseaudio is used since pipewire supports
it, and intel hd audio (hda) is used since it's generally regarded as
one of the better options based on information available online.

Note that -audio is used instead of the outdated -audiodev and -soundhw
options. This setup also avoids the choppy audio observed with other
solutions like alsa.

References:
- https://www.qemu.org/docs/master/system/qemu-manpage.html
- https://github.com/NixOS/nixpkgs/issues/175378
- https://superuser.com/questions/1337570
- https://en.wikipedia.org/wiki/Intel_High_Definition_Audio
- https://gitlab.com/qemu-project/qemu/-/issues/1519
- https://lists.nongnu.org/archive/html/qemu-discuss/2020-04/msg00089.html
2023-06-18 07:02:19 -04:00
Donovan Glover
446a2c1647
meta: Enable network-manager to manage dns
This enables virtual machines to make DNS queries without having to
manually set things up.
2023-06-17 20:59:41 -04:00
Donovan Glover
b26702d052
meta: Use host network inside vms
This enables VMs built with nixos-rebuild build-vm to use the internet
of the host.
2023-06-17 11:17:05 -04:00
Donovan Glover
f9a851cda2
meta: Add hyprland-specific setup to hyprland module 2023-06-17 09:42:53 -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
2dd6a9f5c3
fcitx: Move to ./home 2023-06-16 20:09:34 -04:00
Donovan Glover
b105f87a13
nix-gaming: Use cachix
This avoids having to wait 40 minutes for wine to compile every time the
system is updated.
2023-06-16 14:15:37 -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
080a491b20
gamemode: Specify location used 2023-06-14 08:41:14 -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
b856e26b3a
nix: Formatting 2023-06-13 09:06:48 -04:00
Donovan Glover
b6ec715154
Update main.nix 2023-06-12 18:35:19 -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
cbdd5998ec
meta: Add dev container
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.
2023-06-12 14:54:40 -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
04e0c8d038
Update packages 2023-06-11 09:22:32 -04:00
Donovan Glover
feff455ddd
nix: Remove nixpkgs-master
Not needed anymore since waycorner and nwg-dock-hyprland are in
nixos-unstable.
2023-06-10 10:41:17 -04:00
Donovan Glover
48cb1ea542
packages: Use srb2 from fork 2023-06-08 18:30:38 -04:00
Donovan Glover
132e985a52
packages: Use waycorner from nixpkgs/master 2023-06-08 18:27:10 -04:00
Donovan Glover
0bb8eca867
packages: Use hyprland-autoname-workspaces from fork 2023-06-08 18:19:02 -04:00