NixOS dotfiles for my Acer Nitro V 15 setup, built around Hyprland, Home Manager, and a small collection of Wayland desktop tools.
The main configuration uses Noctalia with Hyprland. An older Matugen-based stack is also kept in the repository for manual use or future reference.
- NixOS flake: System configuration managed from
nix/flake.nix - Home Manager: User packages, programs, and config symlinks managed from
nix/home.nix - Hyprland: Wayland compositor configuration with custom binds, animations, blur, and NVIDIA-friendly settings
- Noctalia shell: Main desktop shell for launcher, clipboard, notifications, control center, session menu, and OSD
- Matugen stack: Alternative wallpaper-based theming setup for Waybar, SwayNC, Rofi, Orbit, NWG Bar, and Starship
- Terminal workflow: Ghostty, Zsh, Oh My Zsh, Starship, Tmux, GitHub CLI, Zoxide, Bat, Eza, Fzf, and Direnv
- Development tools: Neovim, Docker, Statix, Ripgrep, and Fd
- Laptop hardware: Acer Nitro V15 i5-13420H, NVIDIA GeForce RTX 4060
This is the current setup.
Hyprland is configured in hyprland/hyprland.conf, while Noctalia is managed through Home Manager and symlinked from noctalia/.
The Hyprland binds call Noctalia panels directly:
noctalia msg panel-toggle launcher
noctalia msg panel-toggle clipboard
noctalia msg panel-toggle notifications
noctalia msg panel-toggle control-center
noctalia msg panel-toggle sessionNoctalia handles the main shell pieces that were previously split across multiple tools:
- Launcher
- Clipboard history
- Notifications
- Control center
- Session menu
- Volume and brightness OSD
- Window switcher
This is the older setup created before switching to Noctalia. It is still kept in the repository in case I want to use it again.
Matugen reads templates from matugen/templates/ and writes themed files to the matching config locations:
matugen image wallpapers/wanderer.jpgThe stack includes:
matugen/: Theme generation and templateswaybar/: Bar configurationswaync/: Notification center configurationorbit/: Quick settings panel configurationrofi/: Launcher stylingnwg-bar/: Power menu configurationscripts/: Helper scripts for wallpaper reload, clipboard menu, and font updates
Clone the repository into the expected path:
git clone git@github.com:vinialx/dotfiles.git ~/dotfilesApply the NixOS system configuration:
sudo nixos-rebuild switch --flake ~/dotfiles/nix#nixosHome Manager is loaded through the NixOS flake, so user packages and config symlinks are applied as part of the rebuild.
System-level settings live in nix/configuration.nix.
Main areas:
- NVIDIA graphics and PRIME sync
- Systemd-boot
- Plymouth boot theme
- NetworkManager
- PipeWire audio
- Docker
- Hyprland system support
- Zsh as default shell
- Nix flakes and garbage collection
User-level settings live in nix/home.nix.
Main areas:
- Noctalia module
- User packages
- Firefox, Git, Ghostty, Tmux, Starship, Zsh, Direnv, and terminal tools
- Hyprland Home Manager integration
- XDG config symlinks into this repository
Home Manager links selected files from this repository into ~/.config:
"noctalia".source = lib.mkForce (
config.lib.file.mkOutOfStoreSymlink "/home/vinicius/dotfiles/noctalia"
);
"starship.toml".source = lib.mkForce (
config.lib.file.mkOutOfStoreSymlink "/home/vinicius/dotfiles/starship/starship.toml"
);
"ghostty/config".source = config.lib.file.mkOutOfStoreSymlink "/home/vinicius/dotfiles/ghostty/config";
"swappy/config".source = config.lib.file.mkOutOfStoreSymlink "/home/vinicius/dotfiles/swappy/config";Other configs can be used manually or added to nix/home.nix as needed.
nix/ NixOS flake, system config, Home Manager config, custom packages
hyprland/ Hyprland compositor configuration
noctalia/ Noctalia shell configuration
matugen/ Matugen config and theme templates
waybar/ Waybar configuration
swaync/ SwayNC notification center configuration
orbit/ Orbit panel configuration
rofi/ Rofi launcher configuration
nwg-bar/ NWG Bar power menu configuration
scripts/ Desktop helper scripts
ghostty/ Ghostty terminal configuration
starship/ Starship prompt configuration
tmux/ Tmux configuration
zsh/ Custom Zsh configuration
nvim/ Neovim configuration notes
wallpapers/ Wallpaper collection
fonts/ Font lists
espanso/ Espanso snippets
Configure NixOS (home.nix):
nxclr (sudo nv ~/dotfiles/nix/home.nix)
Rebuild NixOS:
nxupd (sudo nixos-rebuild switch --flake ~/dotfiles/nix#nixos)Clear garbage and old generations:
nxclrd (sudo nix-collect-garbage)Update flake inputs:
nix flake update ~/dotfiles/nixFormat Nix files:
nix fmt ~/dotfiles/nixReload wallpaper tools from the Matugen stack:
~/dotfiles/scripts/reload-wallpaper.shOpen the clipboard menu (Rofi Window) from the Matugen stack:
~/dotfiles/scripts/clipboard-menu.shThis configuration targets an Acer Nitro V 15 laptop with Intel and NVIDIA graphics.
Important settings include:
- NVIDIA proprietary driver
- PRIME sync with Intel and NVIDIA bus IDs
nvidia-drm.modeset=1WLR_NO_HARDWARE_CURSORS=1NIXOS_OZONE_WL=1- Brazilian ABNT2 keyboard layout
America/Sao_Paulotimezone
Hardware-specific values may need changes before using this configuration on another machine.
Personal dotfiles. Use anything useful at your own risk.
Email: vini.aloise.silva@gmail.com



