Consistently format module argument blocks and convert aligned package comments to inline comments. Trim trailing whitespace and minor layout tweaks across modules. Bump opencode rev, narHash and lastModified in flake.lock and remove the original dev ref.
atlas - NixOS configuration
Personal NixOS desktop configuration built with Nix flakes for x86_64-linux. The setup is modular and targets a Wayland desktop (Niri + Ly) with PipeWire audio, AMD GPU support, and a curated set of apps and developer tooling.
Highlights
- Wayland desktop: Niri compositor, Ly display manager, portals, Polkit agent
- Audio: PipeWire (ALSA, PulseAudio, JACK)
- AMD GPU stack: Vulkan, VA-API, CoreCtrl
- Developer tooling: Docker, Rust, Node.js, Python
- Extras: Steam/Gaming, virtualization, theming, Navidrome
Prerequisites
- A recent NixOS installer ISO with flake support
- x86_64-linux hardware (this flake is pinned to that system)
- Basic familiarity with the NixOS installation process
This is a personal configuration. Expect to adjust the hostname, user, and hardware modules for your machine.
Installation (fresh NixOS install)
-
Download and boot the NixOS graphical installer
-
Follow the graphical installer
- Partition your drives as needed
- Create your user account
- When prompted for desktop environment, select No desktop
- Complete the installation
-
Reboot and log in to your new shell-only NixOS system
-
Clone this repository
git clone https://github.com/ragusa-it/nixos ~/nixos -
Copy your hardware configuration into the repo
cp /etc/nixos/hardware-configuration.nix ~/nixos/hardware-configuration.nix -
Review and customize
configuration.nixnetworking.hostNameusers.users.pinj(change username/groups as needed)
modules/gpu-amd.nixif you are not on AMD hardware
-
Rebuild with the flake
sudo nixos-rebuild switch --flake ~/nixos#nixos -
Reboot to start the full desktop environment
sudo reboot
Post-install rebuilds
From inside the cloned repository:
sudo nixos-rebuild switch --flake .#nixos
Use boot if you want to schedule the change for the next reboot:
sudo nixos-rebuild boot --flake .#nixos
Updating the system
nix flake update
sudo nixos-rebuild switch --flake .#nixos
Repository layout
flake.nix- Flake inputs, binary caches, and system definitionconfiguration.nix- Main NixOS entry point (imports modules)hardware-configuration.nix- Machine-specific hardware config (replace on install)modules/- Modular system featuresdesktop.nix- portals, Polkit agent, swaylock, swayidlegpu-amd.nix- AMD GPU stackaudio.nix- PipeWire and Bluetoothapps.nix- user applicationsdev.nix- developer toolinggaming.nix- Steam, Lutris, Gamemodetheming.nix- fonts, themes, cursorsvirtualization.nix- QEMU/KVM/virt-managerpower.nix- power managementshell.nix- Fish shell configurationservices.nix- system services (fstrim, zram, avahi)navidrome.nix- self-hosted music server
Troubleshooting
- Flakes not enabled: if
nixos-rebuildfails, prefix the command withNIX_CONFIG="experimental-features = nix-command flakes"or enable flakes in/etc/nix/nix.conf. - Wrong hardware configuration: regenerate with
sudo nixos-generate-configand copy the newhardware-configuration.nixinto the repo.
License
No license is specified. If you plan to reuse this configuration, please open an issue to discuss licensing.