mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-11-24 17:23:09 +01:00
My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
59f557a3e5
This change makes it possible to use this nix-config in all the different ways imaginable (containers, bare metal, tests, and as a separate flake input) *without* running into infinite recursion issues with self. It does this by using a trick similar to JavaScript in which `var self = this;`, thus enabling the usage of "this" (or self, in Nix's case) where it wouldn't otherwise be possible. Note that this *only* works if the input for this repository is named nix-config. This makes it impractical to combine with multiple configurations that employ the same strategy. |
||
---|---|---|
.github | ||
assets | ||
containers | ||
hardware | ||
home | ||
modules | ||
overlays | ||
packages | ||
patches | ||
specializations | ||
tests | ||
.gitignore | ||
cover.jpg | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.md |
nix-config
My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
Background art: The market, In Bloom and Vertical cover book two screen by David Revoy − CC-BY 4.0.
Background art: Video game jam by David Revoy − CC-BY 4.0.
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!