Files
nixos-config/README.md
2025-11-20 18:50:50 +01:00

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!