added readme for full setup

This commit is contained in:
2026-04-07 11:12:41 -05:00
parent 4a734a8b28
commit 7da26b5e2f
+185
View File
@@ -0,0 +1,185 @@
# NixOS Dotfiles for Alison and Spencer
This repository contains NixOS configurations for two machines:
- **Alison**: ThinkCentre M910q headless server
- **Spencer**: Lenovo ThinkPad T480 laptop with minimalist hacker Hyprland setup
## Machines
### Alison (Server)
- ThinkCentre M910q
- Headless server configuration
- No graphical environment
- Services: SSH, Docker, DDNS, etc.
### Spencer (Laptop)
- Lenovo ThinkPad T480
- Graphical workstation with Hyprland window manager
- Minimalist hacker theme based on Catppuccin Frappe with lavender accent
- Hyprland ecosystem: Waybar, Rofi, Alacritty, AWWW, etc.
## Configuration Structure
```
.
├── flake.nix
├── hosts/
│ ├── alison/
│ │ ├── configuration.nix
│ │ └── hardware-configuration.nix
│ └── spencer/
│ ├── configuration.nix
│ ├── hyprland/
│ │ ├── hyprland.conf
│ │ ├── keybindings.conf
│ │ ├── decorations.conf
│ │ └── windowrules.conf
│ ├── waybar/
│ │ ├── config.jsonc
│ │ └── style.css
│ ├── rofi/
│ │ ├── config.rasi
│ │ └── theme.rasi
│ ├── alacritty/
│ │ └── alacritty.yml
│ └── swww/
│ └── wallpaper.sh
├── modules/
│ ├── networking.nix
│ └── services.nix
├── themes/
│ ├── catppuccin-frappe-lavender.nix
│ └── minimalist-hacker-overlay.nix
├── users/
│ └── bckelley/
│ └── home.nix
└── README.md
```
## Features (Spencer Laptop)
### Window Manager
- **Hyprland** with minimalist hacker aesthetic
- Dwindle layout with pseudotiling
- Reduced animations for snappy responsiveness
- Thin borders and minimal rounding
- Window swallowing for terminals
- Per-app workspace assignments (optional)
### Status Bar
- **Waybar** with laptop-appropriate modules
- CPU, memory, disk usage
- Network status (WiFi/Ethernet)
- Audio volume control
- Battery indicator (critical for laptop)
- System tray
- Clock with date
- All styled with Catppuccin Frappe + lavender accent
### Application Launcher
- **Rofi** with drun, run, and window modes
- Minimalist theme matching overall aesthetic
- Hack Nerd Font for consistency
- Reduced visual noise
### Terminal
- **Alacritty** (better SSH compatibility than Kitty)
- Same Catppuccin Frappe + lavender accent color scheme
- Hack Nerd Font
- Background opacity for minimalist feel
- Optimized for both local and SSH use
### Wallpaper Management
- **AWWW** (formerly swww) for wallpaper cycling
- Simple script to manage wallpapers in `~/Pictures/wallpapers/`
- Smooth transitions with grow effect
- Keybind: SUPER + SHIFT + V to cycle wallpapers
### Additional Components
- **Hyprlock** - Screen locking with blurred background
- **Cliphist + wl-clipboard** - Clipboard management
- **Grim + Slurp** - Screenshot utilities
- **Swappy** - Screenshot editing
- **Thunar** - File manager
- **Tumbler** - Thumbnail service for Thunar
- **Fastfetch** - System information display
- **Fish with Starship, Zoxide** - Enhanced shell
- **Hack Nerd Font** - Consistent typography
## Keybindings (Spencer)
| Keybinding | Action |
|---|---|
| `SUPER + RETURN` | Open terminal (Alacritty) |
| `SUPER + Q` | Kill active window |
| `SUPER + F` | Toggle fullscreen |
| `SUPER + Space` | Toggle floating |
| `SUPER + D` | Open application launcher (Rofi) |
| `SUPER + Tab` | Next workspace |
| `SUPER + 1-0` | Switch to workspace 1-10 |
| `SUPER + SHIFT + 1-0` | Move window to workspace 1-10 |
| `SUPER + Arrows` | Move focus |
| `SUPER + SHIFT + Arrows` | Move window |
| `SUPER + L` | Lock screen |
| `SUPER + E` | Open file manager |
| `SUPER + V` | Clipboard history |
| `SUPER + S` | Screenshot region |
| `SUPER + SHIFT + S` | Screenshot output |
| `SUPER + SHIFT + V` | Change wallpaper |
| `SUPER + mouse_down/up` | Next/prev workspace |
| `XF86Audio*` | Volume controls |
| `XF86MonBrightness*` | Brightness controls |
## Installation
### For Alison (Server)
```bash
# Build and switch
sudo nixos-rebuild switch --flake ~/.dotfiles#alison
```
### For Spencer (Laptop)
```bash
# 1. Clone this repo to ~/.dotfiles
git clone <repository-url> ~/.dotfiles
# 2. Generate hardware configuration for your ThinkPad T480
# Boot from NixOS installer or use existing system
sudo nixos-generate-config --root /mnt
# Copy the generated hardware-configuration.nix to:
# ~/.dotfiles/hosts/spencer/hardware-configuration.nix
# 3. Build and switch
sudo nixos-rebuild switch --flake ~/.dotfiles#spencer
# 4. Apply user configuration
home-manager switch --flake ~/.dotfiles#bckelley
```
## Customization
### Themes
The Spencer laptop uses a theme system located in `themes/`:
- `catppuccin-frappe-lavender.nix`: Base theme with lavender accents
- `minimalist-hacker-overlay.nix`: Modifications for minimalist hacker aesthetic
To adjust the theme, modify these files or create new theme variations.
### Wallpapers
Add images to `~/Pictures/wallpapers/` and cycle with `SUPER + SHIFT + V`.
### Laptop-Specific Notes
- ThinkPad T480 specific hardware will need to be configured via `hardware-configuration.nix`
- Battery monitoring is enabled in Waybar for laptop use
- Brightness and volume keys should work out-of-the-box on most ThinkPads
## Credits
- [NixOS](https://nixos.org/) - Linux distribution
- [Hyprland](https://hyprland.org/) - Window manager
- [Waybar](https://github.com/Alexays/Waybar) - Status bar
- [Rofi](https://github.com/davatorium/rofi) - Application launcher
- [Alacritty](https://github.com/alacritty/alacritty) - Terminal emulator
- [AWWW](https://github.com/LGFae/awww) - Wallpaper daemon (formerly swww)
- [Catppuccin](https://github.com/catppuccin/catppuccin) - Color scheme inspiration
- [Hack](https://github.com/gaplo917/Ligatured-Hack#README) - Font