DynamicGoose's Quickshell config
- QML 90.4%
- JavaScript 7.6%
- GLSL 1%
- Nix 1%
| Assets | ||
| Common | ||
| Modules | ||
| nix | ||
| Services | ||
| Shaders | ||
| Widgets | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| shell.qml | ||
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.