206 lines
5.0 KiB
Markdown
206 lines
5.0 KiB
Markdown
# NixOS + Hyprland - Themed Configuration
|
|
|
|
A beautiful, minimal NixOS configuration with Hyprland, inspired by vyrx-dev's dotfiles with Nord color scheme.
|
|
|
|
## ✨ Features
|
|
|
|
### 🎨 Theming
|
|
- **Nord color scheme** throughout (blues, grays, pastels)
|
|
- **Rofi** launcher with Nord theme
|
|
- **Waybar** with custom Nord styling
|
|
- **Kitty** terminal with Nord colors
|
|
- **Auto-login** directly to Hyprland (no TTY login screen)
|
|
|
|
### 🖥️ Desktop Environment
|
|
- **Hyprland** - Dynamic tiling Wayland compositor
|
|
- **Waybar** - Minimalist status bar
|
|
- **Rofi** - Application launcher
|
|
- **Swaync** - Notification center
|
|
- **SWWW** - Wallpaper daemon
|
|
|
|
### 🛠️ Tools
|
|
- **Kitty** - GPU-accelerated terminal
|
|
- **Starship** - Minimal shell prompt
|
|
- **ZSH** with Oh-My-Zsh
|
|
- **Neovim, VSCode** - Text editors
|
|
- **Modern CLI tools** - eza, bat, ripgrep, fzf
|
|
|
|
## 🚀 Installation
|
|
|
|
### Fresh NixOS Install:
|
|
|
|
```bash
|
|
# 1. Boot NixOS ISO and partition
|
|
wipefs -a /dev/sda
|
|
parted /dev/sda -- mklabel gpt
|
|
parted /dev/sda -- mkpart primary 1MiB 2MiB
|
|
parted /dev/sda -- set 1 bios_grub on
|
|
parted /dev/sda -- mkpart primary 2MiB 512MiB
|
|
parted /dev/sda -- mkpart primary 512MiB 100%
|
|
|
|
mkfs.fat -F 32 -n boot /dev/sda2
|
|
mkfs.ext4 -L nixos /dev/sda3
|
|
|
|
mount /dev/disk/by-label/nixos /mnt
|
|
mkdir -p /mnt/boot
|
|
mount /dev/disk/by-label/boot /mnt/boot
|
|
|
|
# 2. Clone this config
|
|
nix-shell -p git --run "git clone https://git.cribdev.com/crib/nixos-config.git /mnt/etc/nixos"
|
|
|
|
# 3. Generate hardware config
|
|
nixos-generate-config --root /mnt --show-hardware-config > /mnt/etc/nixos/hardware-configuration.nix
|
|
|
|
# 4. Install
|
|
nixos-install --flake /mnt/etc/nixos#cribnix
|
|
|
|
# 5. Reboot
|
|
reboot
|
|
```
|
|
|
|
You'll boot directly into Hyprland! No login screen needed.
|
|
|
|
## ⌨️ Keybindings
|
|
|
|
**Modifier Key:** `SUPER` (Windows key)
|
|
|
|
### Applications
|
|
- `SUPER + Return` - Terminal (Kitty)
|
|
- `SUPER + D` - App Launcher (Rofi)
|
|
- `SUPER + E` - File Manager (Thunar)
|
|
|
|
### Window Management
|
|
- `SUPER + Q` - Close window
|
|
- `SUPER + V` - Toggle floating
|
|
- `SUPER + F` - Fullscreen
|
|
- `SUPER + J` - Toggle split
|
|
- `SUPER + M` - Exit Hyprland
|
|
|
|
### Navigation
|
|
- `SUPER + Arrow Keys` - Move focus
|
|
- `SUPER + 1-9` - Switch workspace
|
|
- `SUPER + SHIFT + 1-9` - Move window to workspace
|
|
|
|
### Screenshots
|
|
- `SUPER + SHIFT + S` - Screenshot to clipboard
|
|
- `Print` - Screenshot to ~/Pictures
|
|
|
|
## 🎨 Customization
|
|
|
|
### Colors
|
|
|
|
The Nord theme uses these colors:
|
|
- **Background:** `#2e3440` (dark gray-blue)
|
|
- **Foreground:** `#eceff4` (light gray)
|
|
- **Accent:** `#88c0d0` (frost blue)
|
|
- **Red:** `#bf616a`
|
|
- **Green:** `#a3be8c`
|
|
- **Yellow:** `#ebcb8b`
|
|
- **Blue:** `#81a1c1`
|
|
|
|
To change colors, edit:
|
|
- `home/waybar.nix` - Status bar colors
|
|
- `home/rofi.nix` - Launcher colors
|
|
- `home/kitty.nix` - Terminal colors
|
|
|
|
### Wallpapers
|
|
|
|
Place your wallpapers in `~/Pictures/wallpapers/`:
|
|
|
|
```bash
|
|
mkdir -p ~/Pictures/wallpapers
|
|
# Add your wallpapers here
|
|
|
|
# Set wallpaper with swww
|
|
swww img ~/Pictures/wallpapers/yourwallpaper.jpg
|
|
```
|
|
|
|
### Waybar
|
|
|
|
Customize the bar in `home/waybar.nix`:
|
|
- Change modules order
|
|
- Add/remove widgets
|
|
- Adjust colors and styling
|
|
|
|
### Rofi
|
|
|
|
The launcher config is in `home/rofi.nix`:
|
|
- Change window size
|
|
- Adjust colors
|
|
- Modify behavior
|
|
|
|
## 🔄 Updating
|
|
|
|
```bash
|
|
# Update your config
|
|
cd ~/.config/nixos
|
|
git pull
|
|
|
|
# Rebuild system
|
|
sudo nixos-rebuild switch --flake .#cribnix
|
|
|
|
# Or use the alias
|
|
rebuild
|
|
```
|
|
|
|
## 📁 File Structure
|
|
|
|
```
|
|
nixos-config/
|
|
├── flake.nix # Main flake
|
|
├── configuration.nix # System config with auto-login
|
|
├── hardware-configuration.nix
|
|
├── modules/
|
|
│ ├── system.nix # System packages
|
|
│ └── hyprland.nix # Hyprland + Rofi setup
|
|
└── home/
|
|
├── home.nix # User config
|
|
├── hyprland.nix # Hyprland settings & keybinds
|
|
├── waybar.nix # Status bar (Nord themed)
|
|
├── rofi.nix # Launcher (Nord themed)
|
|
└── kitty.nix # Terminal (Nord themed)
|
|
```
|
|
|
|
## 🎯 Key Features
|
|
|
|
### Auto-login
|
|
- No login screen or greeter
|
|
- Boots directly to Hyprland
|
|
- Configured in `configuration.nix` with greetd
|
|
|
|
### Minimal & Fast
|
|
- Clean aesthetic inspired by vyrx-dev
|
|
- Smooth animations
|
|
- Low resource usage
|
|
|
|
### Nord Theme
|
|
- Cohesive color scheme across all apps
|
|
- Easy to customize
|
|
- Professional appearance
|
|
|
|
## 🐛 Troubleshooting
|
|
|
|
### Hyprland won't start
|
|
```bash
|
|
# Check logs
|
|
journalctl -xe | grep -i hypr
|
|
cat /tmp/hypr/*/hyprland.log
|
|
```
|
|
|
|
### Want to disable auto-login?
|
|
Edit `configuration.nix` and remove the `services.greetd` section, then rebuild.
|
|
|
|
### Colors not applying?
|
|
Make sure you've rebooted after the initial install. Some theme settings require a fresh session.
|
|
|
|
## 📚 Resources
|
|
|
|
- [Hyprland Wiki](https://wiki.hyprland.org/)
|
|
- [Nord Theme](https://www.nordtheme.com/)
|
|
- [vyrx-dev dotfiles](https://github.com/vyrx-dev/dotfiles) (inspiration)
|
|
- [NixOS Manual](https://nixos.org/manual/nixos/stable/)
|
|
|
|
## 🎉 Enjoy!
|
|
|
|
You now have a beautiful, themed Hyprland setup that auto-logs in and looks great out of the box. Customize it to make it your own!
|