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:
2025-11-04 21:36:38 +00:00
parent 593735370a
commit b2ae32a078
240 changed files with 1024921 additions and 3 deletions

View File

@@ -0,0 +1,16 @@
import { Gtk } from "ags/gtk4";
import { Cli } from "..";
export default {
prefix: "dev",
help: "development tools to help debugging colorshell",
commands: [{
name: "inspector",
help: "open the gtk's visual inspector",
onCalled: () => {
Gtk.Window.set_interactive_debugging(true);
return "Opening GTK Inspector..."
}
}]
} satisfies Cli.Module;

View File

@@ -0,0 +1,46 @@
import { Cli } from "..";
export default {
prefix: "media",
help: "manage colorshell's active player",
commands: [
{
name: "play",
help: "resume/start active player's media",
onCalled: () => "TODO"
}, {
name: "pause",
help: "pause the active player",
onCalled: () => "TODO"
}, {
name: "play-pause",
help: "toggle pause/resume the active player",
onCalled: () => "TODO"
}, {
name: "stop",
help: "stop the active player (if compatible)",
onCalled: () => "TODO"
}, {
name: "previous",
help: "go back to previous media in the active player",
onCalled: () => "TODO"
}, {
name: "next",
help: "jump to the next media in active player",
onCalled: () => "TODO"
}, {
name: "bus-name",
help: "retrieve the active player's mpris bus name",
onCalled: () => "TODO"
}, {
name: "list",
help: "list available players implementing mpris",
onCalled: () => "TODO"
}, {
name: "select",
help: "resume/start active player's media",
onCalled: (_, busName) => "TODO"
}
]
} satisfies Cli.Module;

View File

@@ -0,0 +1,27 @@
import { Cli } from "..";
export default {
prefix: "volume",
help: "manage audio device volume/sensitivity. available devices are sink(speaker) and source(microphone).\
example usage: `colorshell volume increase sink 5%`",
commands: [
{
name: "increase",
help: "increase volume/sensitivity of a sink/source",
onCalled: () => "TODO"
}, {
name: "decrease",
help: "decrease volume/sensitivity of a sink/source",
onCalled: () => "TODO"
}, {
name: "set",
help: "set the volume/sensitivity of a sink/source",
onCalled: () => "TODO"
}, {
name: "mute",
help: "toggle-mute a sink/source's audio",
onCalled: () => "TODO"
}
]
} satisfies Cli.Module;

View File

@@ -0,0 +1,46 @@
import { Cli } from "..";
export default [
{
name: "open",
onCalled: (_, data) => {
return {
type: "out",
content: "TODO"
}
}
}, {
name: "toggle",
onCalled: (_, data) => {
return {
type: "out",
content: "TODO"
}
}
}, {
name: "close",
onCalled: (_, data) => {
return {
type: "out",
content: "TODO"
}
}
}, {
name: "windows",
onCalled: () => {
return {
type: "out",
content: "TODO"
}
}
}, {
name: "reopen",
onCalled: () => {
return {
type: "out",
content: "TODO"
}
}
}
] satisfies Array<Cli.Command>;