mirror of
https://github.com/celesrenata/end-4-flakes.git
synced 2026-06-05 18:29:26 -05:00
246 lines
6.2 KiB
Markdown
246 lines
6.2 KiB
Markdown
# 🎯 dots-hyprland Static Configuration Guide
|
|
|
|
## 📍 Overview
|
|
|
|
Since you're using **declarative mode**, configuration files are read-only in the Nix store. To customize static values, modify the source files in your flake and rebuild.
|
|
|
|
## 🔧 Key Configuration Files
|
|
|
|
### 1. 📱 Quickshell Main Config
|
|
**File**: `configs/quickshell/ii/modules/common/Config.qml`
|
|
|
|
#### 🎨 Appearance Settings
|
|
```qml
|
|
property JsonObject appearance: JsonObject {
|
|
property bool extraBackgroundTint: true
|
|
property int fakeScreenRounding: 2 // 0: None | 1: Always | 2: When not fullscreen
|
|
property bool transparency: false
|
|
property JsonObject wallpaperTheming: JsonObject {
|
|
property bool enableAppsAndShell: true
|
|
property bool enableQtApps: true
|
|
property bool enableTerminal: true
|
|
}
|
|
}
|
|
```
|
|
|
|
#### 🖥️ Bar Configuration
|
|
```qml
|
|
property JsonObject bar: JsonObject {
|
|
property bool bottom: false // Instead of top
|
|
property int cornerStyle: 0 // 0: Hug | 1: Float | 2: Plain rectangle
|
|
property bool borderless: false
|
|
property string topLeftIcon: "spark" // Options: distro, spark
|
|
property bool showBackground: true
|
|
property bool verbose: true
|
|
|
|
property JsonObject utilButtons: JsonObject {
|
|
property bool showScreenSnip: true
|
|
property bool showColorPicker: false
|
|
property bool showMicToggle: false
|
|
property bool showKeyboardToggle: true
|
|
property bool showDarkModeToggle: true
|
|
property bool showPerformanceProfileToggle: false
|
|
}
|
|
|
|
property JsonObject workspaces: JsonObject {
|
|
property bool monochromeIcons: true
|
|
property int shown: 10
|
|
property bool showAppIcons: true
|
|
property bool alwaysShowNumbers: false
|
|
property int showNumberDelay: 300 // milliseconds
|
|
}
|
|
}
|
|
```
|
|
|
|
#### 🔋 Battery Settings
|
|
```qml
|
|
property JsonObject battery: JsonObject {
|
|
property int low: 20
|
|
property int critical: 5
|
|
property bool automaticSuspend: true
|
|
property int suspend: 3
|
|
}
|
|
```
|
|
|
|
#### 🚀 Applications
|
|
```qml
|
|
property JsonObject apps: JsonObject {
|
|
property string bluetooth: "kcmshell6 kcm_bluetooth"
|
|
property string network: "plasmawindowed org.kde.plasma.networkmanagement"
|
|
property string networkEthernet: "kcmshell6 kcm_networkmanagement"
|
|
property string taskManager: "plasma-systemmonitor --page-name Processes"
|
|
property string terminal: "kitty -1" // This is only for shell actions
|
|
}
|
|
```
|
|
|
|
#### ⏰ Time Format
|
|
```qml
|
|
property JsonObject time: JsonObject {
|
|
property string format: "hh:mm"
|
|
property string dateFormat: "ddd, dd/MM"
|
|
}
|
|
```
|
|
|
|
### 2. 🖼️ Hyprland Configuration
|
|
**File**: `configs/hypr/general.conf.template`
|
|
|
|
#### 🎨 Visual Settings
|
|
```conf
|
|
general {
|
|
gaps_in = @GAPS_IN@ # Inner gaps (default: 4)
|
|
gaps_out = @GAPS_OUT@ # Outer gaps (default: 7)
|
|
gaps_workspaces = 50 # Workspace gaps
|
|
|
|
border_size = @BORDER_SIZE@ # Border width (default: 2)
|
|
resize_on_border = true
|
|
|
|
allow_tearing = @ALLOW_TEARING@ # For gaming
|
|
}
|
|
|
|
decoration {
|
|
rounding = @ROUNDING@ # Corner rounding (default: 16)
|
|
|
|
blur {
|
|
enabled = @BLUR_ENABLED@ # Background blur
|
|
xray = true
|
|
}
|
|
}
|
|
```
|
|
|
|
### 3. 🖥️ Terminal Configuration
|
|
**File**: `configs/applications/foot.ini.template`
|
|
|
|
#### 📝 Terminal Settings
|
|
```ini
|
|
[main]
|
|
term=xterm-256color
|
|
login-shell=yes
|
|
app-id=foot
|
|
title=foot
|
|
|
|
[scrollback]
|
|
lines=1000 # Scrollback buffer size
|
|
multiplier=3.0
|
|
|
|
[cursor]
|
|
style=beam # Options: block, beam, underline
|
|
blink=no
|
|
beam-thickness=1.5
|
|
|
|
[colors]
|
|
alpha=0.95 # Terminal transparency
|
|
```
|
|
|
|
### 4. 🎯 Fuzzel Launcher
|
|
**File**: `configs/matugen/templates/fuzzel/fuzzel_theme.ini`
|
|
|
|
#### 🚀 Launcher Settings
|
|
```ini
|
|
[main]
|
|
terminal=foot
|
|
layer=overlay
|
|
width=40
|
|
horizontal-pad=40
|
|
vertical-pad=8
|
|
inner-pad=5
|
|
```
|
|
|
|
## 🔄 How to Apply Changes
|
|
|
|
### Method 1: Edit and Rebuild
|
|
1. **Edit** the configuration files in `~/sources/celesrenata/end-4-flakes/configs/`
|
|
2. **Commit** your changes: `git add . && git commit -m "Update static config"`
|
|
3. **Rebuild**: `nix build .#homeConfigurations.declarative.activationPackage`
|
|
4. **Activate**: `./result/activate`
|
|
|
|
### Method 2: Switch to Writable Mode
|
|
If you want to edit configs directly without rebuilding:
|
|
|
|
```bash
|
|
# Build writable configuration
|
|
nix build .#homeConfigurations.writable.activationPackage
|
|
./result/activate
|
|
|
|
# Run setup script
|
|
~/.local/bin/initialSetup.sh
|
|
|
|
# Edit configs directly in ~/.config/
|
|
```
|
|
|
|
## 🎨 Common Customizations
|
|
|
|
### Change Terminal to Kitty
|
|
In `configs/quickshell/ii/modules/common/Config.qml`:
|
|
```qml
|
|
property string terminal: "kitty -1"
|
|
```
|
|
|
|
### Move Bar to Bottom
|
|
```qml
|
|
property bool bottom: true
|
|
```
|
|
|
|
### Disable Transparency
|
|
```qml
|
|
property bool transparency: false
|
|
```
|
|
|
|
### Change Time Format to 12-hour
|
|
```qml
|
|
property string format: "hh:mm AP"
|
|
```
|
|
|
|
### Increase Terminal Scrollback
|
|
In `configs/applications/foot.ini.template`:
|
|
```ini
|
|
[scrollback]
|
|
lines=10000
|
|
```
|
|
|
|
### Change Workspace Count
|
|
```qml
|
|
property int shown: 5 // Show only 5 workspaces
|
|
```
|
|
|
|
## 🔍 Finding More Options
|
|
|
|
- **Quickshell Config**: `configs/quickshell/ii/modules/common/Config.qml` (lines 1-300)
|
|
- **Hyprland Settings**: `configs/hypr/*.conf.template` files
|
|
- **Application Configs**: `configs/applications/` directory
|
|
- **Theming Templates**: `configs/matugen/templates/` directory
|
|
|
|
## 💡 Pro Tips
|
|
|
|
1. **Search for specific settings**: `grep -r "property.*terminal" configs/`
|
|
2. **Check template variables**: Look for `@VARIABLE@` patterns in `.template` files
|
|
3. **Test changes**: Use writable mode for quick testing, then apply to declarative mode
|
|
4. **Backup configs**: Git tracks all changes, so you can always revert
|
|
|
|
## 🚀 Quick Start Examples
|
|
|
|
### Minimal Gaming Setup
|
|
```qml
|
|
// In Config.qml
|
|
property bool transparency: false
|
|
property bool showBackground: false
|
|
property int shown: 3 // Only 3 workspaces
|
|
```
|
|
|
|
### Productivity Setup
|
|
```qml
|
|
// In Config.qml
|
|
property bool showScreenSnip: true
|
|
property bool showColorPicker: true
|
|
property string format: "HH:mm:ss"
|
|
property string dateFormat: "dddd, MMMM dd, yyyy"
|
|
```
|
|
|
|
### Minimalist Setup
|
|
```qml
|
|
// In Config.qml
|
|
property bool borderless: true
|
|
property bool showBackground: false
|
|
property bool monochromeIcons: true
|
|
property bool verbose: false
|
|
```
|