mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-18 12:11:54 +00:00
- 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.
95 lines
3.2 KiB
Markdown
95 lines
3.2 KiB
Markdown
# 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!
|