DynamicGoose's Quickshell config
  • QML 90.4%
  • JavaScript 7.6%
  • GLSL 1%
  • Nix 1%
Find a file
2026-04-14 22:16:24 +02:00
Assets session management + wallpaper 2026-02-15 01:29:20 +01:00
Common v1.0.0 2026-03-02 01:31:29 +01:00
Modules NotificationToast: add hover cursor and action 2026-04-14 22:16:24 +02:00
nix NotificationToast: add hover cursor and action 2026-04-14 22:16:24 +02:00
Services fix idleInhibit 2026-03-03 23:06:36 +01:00
Shaders rounded notification images 2026-02-11 17:46:51 +01:00
Widgets 1.1.0: color update 2026-03-17 00:07:54 +01:00
.gitignore restructure 2026-01-24 01:24:41 +01:00
flake.lock NotificationToast: add hover cursor and action 2026-04-14 22:16:24 +02:00
flake.nix v1.0.4: replace helvum with crosspipe 2026-03-07 22:59:12 +01:00
LICENSE Initial commit 2026-01-20 21:55:23 +01:00
README.md 0.2.0 2026-02-20 01:16:05 +01:00
shell.qml networking ipc 2026-02-15 13:47:28 +01:00

goose-shell

My personal shell built with Quickshell.

Features

  • anyrun-like launcher
    • applications
    • symbols
    • calculator (rink)
    • shell commands
    • nix run
    • clipboard history
  • Time & Date Widget with calendar and weather display
  • Workspaces Widget (right-click overview)
  • Window Title-Bar with window controls
  • Systemt-Tray
  • Control Center
    • Audio Settings
    • Display Settings and Idle Inhibit
    • Network Settings
    • Bluetooth Settings
    • MPRIS Media-Controls
    • Notification History
  • On-Screen-Displays for volume and brightness
  • Lock-Screen (with fprint support)
  • Wallpaper
  • ICP Targets
    • panelService
    • volume
    • brightness
    • session
    • networking

Usage

Nix Flake

# ...
inputs.goose-shell = {
  url = "git+https://codeberg.org/DynamicGoose/goose-shell";
  inputs.nixpkgs.follows = "nixpkgs";
};
# ...
# provides nixpkgs overlay `inputs.goose-shell.${system}.default`
# then just add `pkgs.goose-shell` to `environment.systemPackages`

IPC Targets

Panel Service

Open the different panels the shell provides.

goose-shell ipc call panelService toggleLauncher
goose-shell ipc call panelService toggleDateTime
goose-shell ipc call panelService toggleWindowControls
goose-shell ipc call panelService toggleControlCenter
goose-shell ipc call panelService togglePowerMenu
goose-shell ipc call panelService showOSD [brightness or volume]

Volume Controls

Control output volume. (Shows OSD automatically)

goose-shell ipc call volume increase <percentage> 
goose-shell ipc call volume decrease <percentage>
goose-shell ipc call volume toggleMuted

Brightness Controls

Control display brightness. (Shows OSD automatically)

goose-shell ipc call brightness increase <percentage>
goose-shell ipc call brightness decrease <percentage>

Session Management

Control the desktop session.

goose-shell ipc call session poweroff
goose-shell ipc call session reboot
goose-shell ipc call session suspend
goose-shell ipc call session hibernate
goose-shell ipc call session logout
goose-shell ipc call session lock

Networking Controls

Set Wifi and Bluetooth state.

goose-shell ipc call networking setBluetoothEnabled true
goose-shell ipc call networking setWifiEnabled true

Note

I created this shell for use in my NixOS dot-files. It should also work for other configurations using Niri, but there are no customization options like in other shells. Feel free to adapt it to make your own customized version though.