| .config@5c784119bb | ||
| nixos@56bc787d18 | ||
| quickshell | ||
| .gitignore | ||
| configuration.nix | ||
| default.nix | ||
| flake.lock | ||
| flake.nix | ||
| hardware-configuration.nix | ||
| home.nix | ||
| hyprland.nix | ||
| quickshell.nix | ||
| README.md | ||
NixBranch — Desktop NixOS Setup
A personal NixOS + Home Manager flake that configures a desktop environment, dotfiles, and Hyprland Wayland settings.
Repository contents
flake.nix,flake.lock— Nix flake for system and home configurationsconfiguration.nix— NixOS system configuration (services, system settings)hardware-configuration.nix— autogenerated hardware config (review before use)home.nix— Home Manager configuration (user packages, dotfiles)hyprland.nix— Hyprland (Wayland) desktop/compositor configurationquickshell.nix/quickshell— shell dotfiles and QuickShell-compatible configsdefault.nix— helper entrypoint for non-flake usage.config/— tracked user config files
Features
- Declarative NixOS configuration using flakes
- Home Manager integration for per-user package and dotfile management
- Hyprland-based Wayland desktop configuration (tiling/compositing)
- Hardware config included for reproducible installs
- Shell/dotfile integration (Quickshell)
Quick start
Prerequisites: Nix with flakes enabled, a NixOS system (or test VM). Clone the repo: git clone https://git.cyberia.club/serv/NixBranch.git && cd NixBranch. Reproduce system configuration (run as root on the target machine): nixos-rebuild switch --flake .#HOSTNAME (replace HOSTNAME with the system name defined in flake.nix). Apply Home Manager as the user: home-manager switch --flake .#USERNAME (replace USERNAME with the user entry in the flake). To test a build without switching: nix build .#nixosConfigurations.HOSTNAME.config.system.build.toplevel. Inspect and regenerate hardware-configuration.nix if hardware differs: nixos-generate-config --root /mnt.
Customization
- Edit
configuration.nixandhome.nixto add/remove packages and services. - Modify
hyprland.nixfor display, keybindings, and compositor options. - Tweak
quickshell/.configfiles to change shell, prompt, or aliases.
Development workflow
Create feature branches, test locally, and open merge requests. Update flake inputs with nix flake update, then git add flake.lock && git commit -m "Update flake.lock".
Troubleshooting
Check nixos-rebuild output and journalctl -b. Regenerate hardware configuration after major hardware changes.
License
See LICENSE file in the repository.
Contributing
Open issues or merge requests. Follow existing config style and test changes locally before submitting.