My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
Go to file
Donovan Glover ea4c8d16dd
specializations: Make opt-in with mkEnableOption
Specializations basically double the build time for each one added, so
requiring users to explicitly enable it means quicker build times for
those that prefer Hyprland (which is easier to configure declaratively).
2024-04-03 02:46:42 -04:00
.github meta: Drop deno tests 2024-04-01 09:31:51 -04:00
assets eww: Inline config 2023-08-11 15:05:24 -04:00
containers meta: Make containers a nixosModule 2024-04-01 06:24:52 -04:00
hardware meta: Drop default hardware 2024-04-01 04:33:47 -04:00
home nix: Drop unnecessary xdg.configFile 2024-04-02 19:34:25 -04:00
modules specializations: Make opt-in with mkEnableOption 2024-04-03 02:46:42 -04:00
overlays meta: Switch to upstream stylix 2024-04-01 05:35:27 -04:00
packages nix: Prefer dontUnpack over phony src 2024-04-02 19:12:06 -04:00
patches overlays(kitty): Patch wlroots copying bug 2024-03-30 15:12:40 -04:00
specializations meta: Make specializations a nixosModule 2024-04-01 06:27:08 -04:00
tests meta: Begin writing tests in Nix 2024-04-02 05:20:42 -04:00
.gitignore
cover.jpg docs: Add new cover image 2023-09-12 16:09:08 -04:00
flake.lock meta: Switch to upstream stylix 2024-04-01 05:35:27 -04:00
flake.nix meta: Begin writing tests in Nix 2024-04-02 05:20:42 -04:00
LICENSE chore: Update LICENSE 2024-01-02 18:19:51 -05:00
README.md docs: Add new cover image 2023-09-12 16:09:08 -04:00

nix-config

My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.

A screenshot of Pepper looking earnestly at declaratively configured Git abbreviations for the fish shell, written in Nix. Background art: The market, In Bloom and Vertical cover book two screen by David Revoy CC-BY 4.0.

A screenshot of a Rust programming environment with Neovim, kitty, and bacon. 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!