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

 
 
 

Contributors 2

  •  
  •