forked from extern/nix-config
My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
d61e7b8a31
Although this was cool, it created some inconveniences that I'd rather not have to deal with. For example, opening a document required manually copying the file to the container mount first. Instead of containerizing a subset of GUI applications, it's likely much easier and more effective to spin up a virtual machine of the current system. That way all GUI applications benefit from virtualization and not simply containerization, which caused issues when certain programs detected that they were already open from the wayland socket. A final benefit of this change is that which container an application is running in is no longer ambiguous. Although it was possible to use custom GTK themes depending on which container an application belonged to, containers for system-installed applications tend to bring a large amount of overhead. Only using containers for applications that deal with untrusted inputs and have a large attack surface seems better in this case. |
||
---|---|---|
.github/workflows | ||
assets | ||
containers | ||
hardware | ||
home | ||
modules | ||
overlays | ||
patches | ||
specializations | ||
tests | ||
.gitignore | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.md | ||
setup.nix | ||
treefmt.toml |
nix-config
My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
Features
- Clean, readable code that can be easily modified to add/remove things as needed.
- Fully reproducible and declarative environment thanks to NixOS.
- Reasonably secure containers isolated from your personal files and network.
- Nix Flakes + Home Manager + Btrfs on LUKS.
- Simple yet effective Neovim setup with nvim-lspconfig.
- Modern Wayland support with Hyprland and the master-stack layout.
- Full Japanese support with fonts, input method, and wine covered.
- Specializations for easy switching between Hyprland, GNOME, and Plasma.
- A universal color scheme inherited by all applications.
Usage
git clone https://github.com/donovanglover/nix-config && cd nix-config
nixos-rebuild build-vm --flake .#nixos
./result/bin/run-nixos-vm
The code base is designed to be small so it's easy to adjust things as needed. Have fun!