Skip to content

nehrbash/dotfiles

Repository files navigation

My Setup

  • Wallpaper
  • Emacs
  • Hyprland
  • GNU Guix System
  • Desktop shell: Caelestia (Quickshell)
  • PipeWire, Easy Effects
  • File Manager: Gnome Files, Dired (Emacs)
  • PDF Viewer: pdf-tools (Emacs)
  • Theme: ef-melissa-dark
  • Cursor theme: Bibata-Modern-Amber

Table Of Contents

Setup

GNU Guix System with Hyprland (Wayland) on NVIDIA (RTX 3070 Ti). Home environment at home/redfish.scm — dotfiles are deployed via guix home reconfigure.

Clone & Bootstrap

cd ~
git clone https://github.com/snehrbass/dotfiles.git .dotfiles --recurse-submodules
cd .dotfiles
guix pull -C channels.scm

System Reconfigure

sudo guix system reconfigure systems/redfish.scm

Home Reconfigure

guix home reconfigure home/redfish.scm -L .

What Gets Automated

On guix home reconfigure, the activation service handles:

  • Flatpak: adds Flathub remote, installs Zen Browser / Spotify / Slack
  • Caelestia shell: clones QML config to ~/.config/quickshell/caelestia

Keyboard

images/keyboard.jpg

Caelestia Shell

Desktop shell built on Quickshell. Provides bar, dashboard, app launcher, session/lock screen, notifications, OSD, and media controls — all as Wayland layer surfaces.

IPC Commands

All commands use the form qs -c caelestia ipc call <target> <function> [args...].

Drawers

Toggle UI panels on/off.

CommandDescription
qs -c caelestia ipc call drawers toggle barToggle status bar
qs -c caelestia ipc call drawers toggle dashboardToggle dashboard
qs -c caelestia ipc call drawers toggle launcherToggle app launcher
qs -c caelestia ipc call drawers toggle sessionToggle session menu
qs -c caelestia ipc call drawers toggle utilitiesToggle utilities
qs -c caelestia ipc call drawers toggle sidebarToggle sidebar
qs -c caelestia ipc call drawers toggle osdToggle OSD
qs -c caelestia ipc call drawers listList all drawers

Lock

CommandDescription
qs -c caelestia ipc call lock lockLock the screen
qs -c caelestia ipc call lock unlockUnlock the screen
qs -c caelestia ipc call lock isLockedCheck lock state

Media (mpris)

CommandDescription
qs -c caelestia ipc call mpris playPauseToggle play/pause
qs -c caelestia ipc call mpris playPlay
qs -c caelestia ipc call mpris pausePause
qs -c caelestia ipc call mpris nextNext track
qs -c caelestia ipc call mpris previousPrevious track
qs -c caelestia ipc call mpris stopStop
qs -c caelestia ipc call mpris listList players
qs -c caelestia ipc call mpris getActive <prop>Get active player prop

Wallpaper

CommandDescription
qs -c caelestia ipc call wallpaper getGet current path
qs -c caelestia ipc call wallpaper listList available
qs -c caelestia ipc call wallpaper set <path>Set wallpaper

Brightness

CommandDescription
qs -c caelestia ipc call brightness getGet brightness (0.0-1.0)
qs -c caelestia ipc call brightness set <value>Set brightness
qs -c caelestia ipc call brightness getFor <query>Get for specific display
qs -c caelestia ipc call brightness setFor <query> <value>Set for specific display

Notifications

CommandDescription
qs -c caelestia ipc call notifs toggleDndToggle Do Not Disturb
qs -c caelestia ipc call notifs isDndEnabledCheck DND state
qs -c caelestia ipc call notifs clearClear notifications

Toaster

CommandDescription
qs -c caelestia ipc call toaster info <title> <msg> <icon>Info toast
qs -c caelestia ipc call toaster warn <title> <msg> <icon>Warning toast
qs -c caelestia ipc call toaster error <title> <msg> <icon>Error toast
qs -c caelestia ipc call toaster success <title> <msg> <icon>Success toast

Other

CommandDescription
qs -c caelestia ipc call picker openOpen color picker
qs -c caelestia ipc call controlCenter openOpen control center
qs -c caelestia ipc call idleInhibitor toggleToggle idle inhibitor
qs -c caelestia ipc call gameMode toggleToggle game mode
qs -c caelestia ipc call hypr cycleSpecialWorkspace <direction>Cycle special workspaces
qs -c caelestia ipc call hypr refreshDevicesRefresh input devices

Shell Management

CommandDescription
qs -c caelestia -n -dStart shell (daemon)
qs -c caelestia killKill shell
qs -c caelestia ipc showShow all IPC targets
qs -c caelestia logShow shell log

Spicetify

spicetify config current_theme Onepunch color_scheme light
spicetify restore backup
spicetify backup
spicetify apply

Slack

Set the theme to dark and paste values.

TODO: Update Gruvbox colors below to match ef-melissa-dark theme.

#3C3836,#1A0404,#3C3836,#D5C4A1,#665C54,#EBDBB2,#FB4934,#D5C4A1,#D5C4A1,#282828

Emacs

My Emacs config can be found here. emacs-next-pgtk is installed via redfish.scm with pgtk and native-comp.

Run M-x package-upgrade-all after first launch to finish installing packages.

ECA

ECA (Editor Code Assistant) is an AI-powered pair-programming client. It runs as an external server process and integrates with Emacs via the emacs-eca package (defined in packages/emacs-eca.scm).

Config is at files/eca/config.json~/.config/eca/config.json.

MCP Servers

The following MCP (Model Context Protocol) servers are configured:

ServerCommandDescription
duckduckgo-searchnpx -y duckduckgo-mcp-serverWeb search via DuckDuckGo
fetchuvx mcp-server-fetchFetch URLs / web content
gituvx mcp-server-gitGit operations
memorynpx -y @modelcontextprotocol/server-memoryPersistent memory / knowledge graph
gitlabglab mcp serve (disabled)GitLab integration

Skills

Custom skills are loaded from ~/.claude/skills (symlinked from files/claude-skills/).

SkillTriggerDescription
guixGuix home/system reconfigure, package definitions, channel updatesGuix workflow knowledge for this dotfiles project

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •