Skip to content

Repository files navigation

dots

NixOS unstable Hyprland Quickshell targets last commit

Wiki · Install · Keybinds · Themes · Troubleshooting

screenshot

One flake for a NixOS + Hyprland desktop, a nix-darwin Mac, and standalone home-manager on anything else with Nix. Config under config/ is symlinked live, so most edits land without a rebuild; themectl recolours the whole session — bar, borders, terminal, lock screen, login greeter, editor — in one command.

Highlights

Desktop Hyprland (Lua config), a heavily reworked Quickshell bar with launcher, overview and control panel, Quickshell lock screen, custom SDDM greeter
Themes 46 palettes, 13 app templates, live switching with themectl set <name> — no rebuild, no git diff
Hardware CachyOS kernel via chaotic-nyx, NVIDIA open driver, 10-bit HDR on the OLED, RAPL/EPP tuning
Services Jellyfin with NVENC, a WireGuard-confined download stack, local LLMs on llama.cpp (Vulkan), restic backups
Dev Nine nix flake init templates, curated infosec and maths tool flakes, a disposable agent VM
Portable Same flake builds nixos, mac and four home-manager profiles — see architecture

Install

git clone https://github.com/Ziad0dev/dots ~/dots
cd ~/dots
nixos-rebuild switch --flake .#nixos

Edit flake.nix first — username is at the top — and replace hosts/nixos/hardware-configuration.nix with your own. The desktop output is built for one machine: Getting started lists every value to change, the files that must exist out-of-band, and the macOS / non-NixOS routes.

After that:

git add -A && nh os switch

git add is required — untracked files are invisible to the flake.

Themes

theme palettes

themectl set kanagawa     # or SUPER + CTRL + SHIFT + Space for the picker

Adding one is a directory with a colors.shTheming.

Keys you'll want first

SUPER + Return terminal
SUPER + D / SUPER + A launcher / overview
SUPER + V dictation (whisper.cpp)
SUPER + SHIFT + V clipboard history
SUPER + CTRL + SHIFT + Space / SUPER + E theme / wallpaper picker
SUPER + ALT + RSUPER + SHIFT + R arm replay buffer → save last 5 min
Print region screenshot → annotate
SUPER + Escape lock

The rest: Desktop → keybinds.

Layout

flake.nix     username, hostnames, every output
hosts/        nixos/ · darwin/ · claude-vm/
modules/      system config, one file per concern
home/         home-manager: profiles/ + one module per app
config/       app config, symlinked live into ~/.config
flakes/       curated tool sets, usable standalone
templates/    nix flake init templates
scripts/      themectl, the dots-* shims, voxtype, git hook
docs/         documentation — also published as the wiki

Templates and tool flakes

nix flake new -t github:Ziad0dev/dots#zig myproject    # zig rust haskell c python lisp beam typst latex
nix develop 'github:Ziad0dev/dots?dir=flakes/infosec#web' -c fish
nix develop 'github:Ziad0dev/dots?dir=flakes/maths#mathlib' -c fish

Documentation

Everything past this README lives in docs/, mirrored to the wiki on every push.

Getting started · Workflow · Architecture · System modules · Services · Desktop · Theming · Development · Scripts & commands · Troubleshooting · Nix cheatsheet

Credits

About

NixOS + Hyprland dotfiles — one flake for NixOS, nix-darwin and home-manager, a Quickshell bar and 46 live-switchable themes

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages