mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-18 20:21:53 +00:00
feat: make AGS colorshell configuration fully declarative
- Add complete colorshell v2.0.3 configuration to home/ags-config/ - Disable runner plugin and NightLight tile (incompatible with NixOS) - Customize SCSS with full opacity (no transparency) - Add dark pale blue color scheme in home/pywal-colors/ - Configure Papirus-Dark icon theme via home-manager - Make ~/.config/ags/ immutable and managed by Nix store - Auto-deploy pywal colors to ~/.cache/wal/colors.json All AGS configuration is now reproducible and version controlled.
This commit is contained in:
94
AGS-CONFIG.md
Normal file
94
AGS-CONFIG.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# AGS Colorshell Configuration - Fully Declarative
|
||||
|
||||
Your AGS configuration with colorshell is now **completely reproducible** and managed by your Nix flake.
|
||||
|
||||
## What's Now Declarative
|
||||
|
||||
### ✅ In Your Flake (`~/nix-flake/`)
|
||||
|
||||
1. **AGS Configuration** (`home/ags-config/`)
|
||||
- Complete colorshell source code
|
||||
- Modified SCSS with full opacity (`resources/styles/_colors.scss`, `_bar.scss`)
|
||||
- Disabled NightLight tile (`window/control-center/widgets/tiles/index.tsx`)
|
||||
- Disabled runner plugin (`app.ts`)
|
||||
- Pre-compiled gresource file (`resources.gresource`)
|
||||
- All module modifications (uwsm, wallpaper, etc.)
|
||||
|
||||
2. **Color Scheme** (`home/pywal-colors/colors.json`)
|
||||
- Dark pale blue theme
|
||||
- Full opacity (alpha: 100)
|
||||
- Automatically deployed to `~/.cache/wal/colors.json`
|
||||
|
||||
3. **Nix Configuration**
|
||||
- AGS v3 with all Astal packages (`flake.nix`)
|
||||
- Home-manager module (`home/ags.nix`)
|
||||
- Icon themes (Papirus-Dark)
|
||||
- GTK settings
|
||||
- Hyprland integration
|
||||
|
||||
## Configuration Structure
|
||||
|
||||
```
|
||||
~/nix-flake/
|
||||
├── home/
|
||||
│ ├── ags-config/ # Complete colorshell configuration
|
||||
│ │ ├── app.ts # Modified (runner disabled, DEVEL constant)
|
||||
│ │ ├── modules/ # Modified modules
|
||||
│ │ ├── resources/ # SCSS with full opacity
|
||||
│ │ ├── resources.gresource # Pre-compiled resources
|
||||
│ │ └── window/ # Modified windows (NightLight disabled)
|
||||
│ ├── pywal-colors/
|
||||
│ │ └── colors.json # Dark pale blue theme
|
||||
│ └── ags.nix # AGS home-manager configuration
|
||||
└── flake.nix # AGS v3 + Astal inputs
|
||||
```
|
||||
|
||||
## Making Changes
|
||||
|
||||
### To Modify Colors
|
||||
|
||||
1. Edit `home/pywal-colors/colors.json`
|
||||
2. Rebuild: `sudo nixos-rebuild switch --flake .#desktop`
|
||||
|
||||
### To Modify SCSS Styles
|
||||
|
||||
1. Edit files in `home/ags-config/resources/styles/`
|
||||
2. Rebuild gresource:
|
||||
```bash
|
||||
cd ~/nix-flake/home/ags-config
|
||||
nix-shell -p glib.dev --run "glib-compile-resources --sourcedir=resources resources.gresource.xml --target=resources.gresource"
|
||||
```
|
||||
3. Commit changes: `git add home/ags-config/resources.gresource`
|
||||
4. Rebuild: `sudo nixos-rebuild switch --flake .#desktop`
|
||||
|
||||
### To Modify AGS Code
|
||||
|
||||
1. Edit TypeScript files in `home/ags-config/`
|
||||
2. Commit changes: `git add home/ags-config/`
|
||||
3. Rebuild: `sudo nixos-rebuild switch --flake .#desktop`
|
||||
|
||||
## Benefits
|
||||
|
||||
- 🔒 **Immutable**: `~/.config/ags/` is read-only and owned by root
|
||||
- 📦 **Reproducible**: Exact same configuration on any machine
|
||||
- 🔄 **Version Controlled**: All changes tracked in git
|
||||
- 🧹 **Clean**: No manual file management in home directory
|
||||
- ⚡ **Atomic**: Changes applied all-at-once, rollback-able
|
||||
|
||||
## Current Customizations
|
||||
|
||||
- ✅ Colorshell v2.0.3 (without runner/launcher)
|
||||
- ✅ Dark pale blue color scheme
|
||||
- ✅ Full opacity (no transparency)
|
||||
- ✅ NightLight tile disabled (was trying to use hyprctl)
|
||||
- ✅ Papirus-Dark icon theme
|
||||
- ✅ All Astal modules integrated
|
||||
- ✅ Pywal colors configured
|
||||
|
||||
## Testing Reproducibility
|
||||
|
||||
To verify everything is declarative, you can:
|
||||
|
||||
1. Delete `~/.config/ags/` and `~/.cache/wal/`
|
||||
2. Run `sudo nixos-rebuild switch --flake .#desktop`
|
||||
3. Everything will be restored exactly as configured!
|
||||
Reference in New Issue
Block a user