My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
Go to file
Donovan Glover 522ea1201d
meta: Remove crystal / shards from global $PATH
This is a part of having separate flake.nix files for each project
and using devShells for the dependencies needed.

Note that using Crystal as a language seems less likely overall due to
the difficulty of building Crystal packages for nixpkgs and the lack of
tooling and library support compared to other languages like TypeScript
and Rust.
2024-05-12 14:41:04 -04:00
.github ci: Revert no build change 2024-04-29 17:59:39 -04:00
assets eww: Inline config 2023-08-11 15:05:24 -04:00
containers meta: Drop xcursor 2024-04-18 21:17:38 -04:00
example chore: Update example config overlay 2024-04-18 14:36:05 -04:00
hardware chore: Format with nixpkgs-fmt 2024-04-05 11:40:23 -04:00
home meta: Remove crystal / shards from global $PATH 2024-05-12 14:41:04 -04:00
lib meta(nix): Move test lib to separate directory 2024-04-09 08:02:31 -04:00
modules shell: Remove watchexec from systemPackages 2024-05-12 14:27:20 -04:00
overlays chore: Prefer hash over sha256 2024-05-12 11:55:47 -04:00
packages packages: Add all-the-package-names 2024-05-12 11:54:35 -04:00
patches hyprland: Add patch to fix fcitx window focus issue 2024-04-29 17:33:07 -04:00
specializations feat: Make username customizable 2024-04-04 16:36:28 -04:00
tests meta(nix): Move test lib to separate directory 2024-04-09 08:02:31 -04:00
.gitignore Update .gitignore 2023-05-10 22:19:36 -04:00
cover.jpg docs: Add new cover image 2023-09-12 16:09:08 -04:00
default.nix flake.nix: Dynamically import nixosConfigurations 2024-04-08 10:58:32 -04:00
flake.lock chore: Update flake inputs 2024-04-29 13:42:11 -04:00
flake.nix flake.nix: Remove checks from outputs for now 2024-04-29 18:18:28 -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!