Desktop NixOS Setup
This repository has been archived on 2026-05-06. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2026-05-05 11:58:13 -05:00
.config@5c784119bb 3rd commit 2026-05-04 09:40:26 -05:00
nixos@56bc787d18 3rd commit 2026-05-04 09:40:26 -05:00
quickshell nice 2026-05-04 16:49:21 -05:00
.gitignore nice 2026-05-04 16:49:21 -05:00
configuration.nix we dont stop 2026-05-05 11:29:06 -05:00
default.nix Initial configuration 2026-05-04 09:40:26 -05:00
flake.lock we dont stop 2026-05-05 11:29:06 -05:00
flake.nix we dont stop 2026-05-05 11:29:06 -05:00
hardware-configuration.nix nice 2026-05-04 16:49:21 -05:00
home.nix reconcciliation 2026-05-05 11:58:13 -05:00
hyprland.nix we dont stop 2026-05-05 11:29:06 -05:00
quickshell.nix nice 2026-05-04 16:49:21 -05:00
README.md Update README.md 2026-05-05 04:52:32 +00:00

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 configurations
  • configuration.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 configuration
  • quickshell.nix / quickshell — shell dotfiles and QuickShell-compatible configs
  • default.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.nix and home.nix to add/remove packages and services.
  • Modify hyprland.nix for display, keybindings, and compositor options.
  • Tweak quickshell / .config files 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.