added readme for full setup
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user