s13los NixOS/Niri Configuration
This repository manages the NixOS system and user configuration for the s13l user, featuring a Niri-based Wayland desktop, custom Waybar theming, and a curated set of tools. It uses Nix flakes and Home Manager for modular, reproducible configuration.
Structure
-
flake.nix: Entry point; defines system and user config, imports
configuration.nixand Home Manager modules. -
configuration.nix: Main NixOS system config (hardware, boot, networking, users).
-
modules/home/: Home Manager modules for user-level config:
-
home.nix: Aggregates user config, imports other modules. -
niri.nix: Niri window manager settings (apps, env, exec-once, theming). -
waybar.nix: Waybar status bar config and theming.
Usage
First, copy …
s13los NixOS/Niri Configuration
This repository manages the NixOS system and user configuration for the s13l user, featuring a Niri-based Wayland desktop, custom Waybar theming, and a curated set of tools. It uses Nix flakes and Home Manager for modular, reproducible configuration.
Structure
-
flake.nix: Entry point; defines system and user config, imports
configuration.nixand Home Manager modules. -
configuration.nix: Main NixOS system config (hardware, boot, networking, users).
-
modules/home/: Home Manager modules for user-level config:
-
home.nix: Aggregates user config, imports other modules. -
niri.nix: Niri window manager settings (apps, env, exec-once, theming). -
waybar.nix: Waybar status bar config and theming.
Usage
First, copy your hardware-configuration.nix from /etc/nixos (autogenerated).
- Rebuild system:
sudo nixos-rebuild switch --flake .#s13los - Update flake inputs:
nix flake update - Apply user config only:
home-manager switch --flake .#s13l
🔧 Configuration
The only part you need to modify is the globals section inside your flake.nix file. This is where you can define your own personal settings, such as username, hostname, and Git info.
globals = {
# 🧠 These are the only variables you should change
UserName = "s13l"; # your system username
HostName = "s13los"; # your machine hostname
GitName = ""; # your Git global name
GitEmail = ""; # your Git global email
Bwserver = ""; # Bitwarden server URL (optional)
};
You can safely edit this block to match your setup — everything else in the flake is handled automatically. 🚀
Notes
- Niri is the default Wayland compositor.
- Waybar is used for the status bar.
- Theming and UI settings are centralized in
waybar.nixandniri.nix. - Default apps: Terminal (
ghostty), file manager (thunar), menu (wofi), browser (chromium).