mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-20 00:24:28 +01:00
47 lines
1.8 KiB
Markdown
47 lines
1.8 KiB
Markdown
# Desktop Environment Configurations
|
|
|
|
This directory contains desktop environment and window manager configurations managed by Home
|
|
Manager.
|
|
|
|
## Available Configurations
|
|
|
|
### Window Managers
|
|
|
|
- **niri**: Niri compositor configuration with custom settings, keybindings, spawn-at-startup rules,
|
|
and window rules
|
|
|
|
### Base Desktop Environment
|
|
|
|
- **base**: Common desktop configurations shared across all environments, including:
|
|
- **Noctalia Shell**: All-in-one Wayland desktop shell (replaces gammastep, swaylock, anyrun,
|
|
mako, waybar, wallpaper-switcher, wlogout, and other desktop tools)
|
|
- Creative tools and media applications
|
|
- Development tools
|
|
- Fcitx5 input method framework
|
|
- Games and gaming utilities
|
|
- GTK theme configurations
|
|
- Immutable file handling
|
|
- Note-taking applications
|
|
- Wayland applications
|
|
- XDG desktop configurations
|
|
|
|
### Editor Configurations
|
|
|
|
- **editors**: Text editor configurations and integrations
|
|
|
|
## Why install Desktop Environments in Home Manager instead of NixOS Module?
|
|
|
|
1. **Configuration Location**: Desktop environment configuration files are located in `~/.config`,
|
|
which can be easily managed by Home Manager.
|
|
|
|
2. **User-specific Services**: User-specific systemd services (noctalia-shell, fcitx5, hypridle,
|
|
etc.) can be easily managed by Home Manager. If desktop environments were configured via NixOS
|
|
Module, these user-level services might fail to start automatically. With Home Manager modules,
|
|
we can control systemd service dependency order more effectively.
|
|
|
|
3. **System Benefits**: By minimizing package installation through NixOS Module:
|
|
- Makes the NixOS system more secure and stable
|
|
- Increases portability to non-NixOS systems, as Home Manager can be installed on any Linux
|
|
system
|
|
- Allows for easier switching between different window managers without system-level changes
|