How I like to use my pc. Setup is mostly centered around Emacs
  • Lua 70%
  • Emacs Lisp 22%
  • Python 2.1%
  • Go Template 1.8%
  • C 1.7%
  • Other 2.3%
Find a file
melon 16b2d38daa
Add .config/umbriel/config.toml
Add .config/umbriel/noctalia.toml
2026-10-25 11:53:57 +01:00
dot_config Add .config/umbriel/config.toml 2026-10-25 11:53:57 +01:00
private_dot_gnupg Update .chezmoiignore 2026-09-04 18:06:44 +02:00
screenshots Update README screenshot 2026-09-04 11:55:31 +02:00
.chezmoiignore Update .chezmoiignore 2026-10-15 10:33:41 +02:00
dot_bash_profile Update .bash_profile 2026-09-29 19:14:24 +02:00
dot_bashrc Update .bashrc 2026-10-16 10:57:41 +02:00
dot_gitconfig Update .gitconfig 2026-09-07 15:53:17 +02:00
dot_gtkrc-2.0.tmpl Dotfiles via chezmoi (secrets and identifiers gitignored) 2026-08-31 12:23:39 +02:00
dot_profile Update .bash_profile 2026-09-29 19:14:24 +02:00
README.md Update README.md 2026-10-16 11:00:31 +02:00

melon dotfiles

My dotfiles. Emacs is the whole interface and MPV is the media engine. Each piece hands its heavy lifting to one external binary, listed under External dependencies below. Apply the repo with chezmoi and you get the same desktop on any machine. I run it on a desktop and a laptop.

Everything is configured from ~/.config/emacs, split between init.el and the modules in lisp/. The rest of the repo is window manager and app settings.

Screenshots

Desktop

Desktop

Desktop

Everything lives in Emacs

Chat. jabber.el is the XMPP client. The server bridges WhatsApp and Telegram into XMPP, so every conversation shows up in the same Emacs buffer.

Mail. mu4e on top of isync. Mail is indexed, searched, drafted and archived without leaving Emacs.

Music. subsonic.el browses my Gonic server as tabulated lists and plays through MPV. Library browsing, search and podcasts all stay inside Emacs. MPV is the only external piece, and it is the media engine anyway.

Jellyfin. A minimal Jellyfin client (jellyfin.el) browses movies and TV shows with completing-read and plays them in MPV. Playback position is tracked over MPV's IPC socket and reported back to the server, so Continue Watching and resume just work.

Files. dired with dirvish is the file manager. Preview, move, copy, delete, all in Emacs. It replaced yazi. Visual mode works like yazi's: v starts a selection, j/k extend it, and d, x, y, p act on every file in it.

Launcher. A floating Emacs frame opens apps and recent files. Bound to SPC l and to a global keybind. It replaced my Noctalia launcher.

Passwords. gopass runs the password store. SPC G opens it as a tabulated list with a live-filtering search; RET copies a password (kill-ring + clipboard, auto-cleared), o copies a TOTP, e edits a secret and n creates one. The buffers hold plaintext only in memory, are wiped on exit and never persist.

Phone transfers. A small front-end for qrcp (qrcp.el) moves files between the phone and the PC over Wi-Fi. SPC o q asks send or receive. Receive asks for a folder and shows the QR code as an image. Send opens dirvish: m marks files, C-c C-a queues them so you can pick from other directories, C-c C-c sends, C-c C-k cancels. q stops the server.

Documents. emacs-reader opens PDF, EPUB, MOBI, FB2, XPS and CBZ through MuPDF. It replaced pdf-tools and doc-view, and covers ebooks too. n/p turn pages, g/G jump to the first and last page, o shows the outline.

Everything else. Images open in image-mode, git is magit. I dropped lazygit, swayimg and the rest along the way. If it can be done in Emacs, it is.

External dependencies

Each Emacs piece hands playback or heavy lifting to one external binary. Most are packaged in every distro.

Emacs Needs
subsonic.el (music) mpv
jellyfin (movies & TV) mpv
mu4e (mail) mu, isync
jabber (chat) mbedtls3 (OMEMO module)
dirvish (files) libvips (previews)
gopass (passwords) gopass, wl-copy
qrcp (phone transfers) qrcp, qrencode
emacs-reader (documents) libmupdf
magit git

The keys

Meow modal editing, with SPC as the prefix.

Key Action
SPC d file manager
SPC g magit
SPC G password manager (gopass)
SPC l launcher
SPC m music
SPC v jellyfin (movies & TV)
SPC j chat
SPC o m mail
SPC o q phone transfers (qrcp)
SPC n notes (org agenda, capture, todos)
SPC h Hermes Agent
SPC s terminal
SPC SPC M-x
SPC . open a file
SPC / ripgrep search
SPC , buffers
SPC f files
SPC p project
SPC w windows
SPC b buffer actions
SPC T tabs (workspaces)
SPC ? help

Clarifications

I'm currently using this pretty cool wayland compositor called cwc. I also use mango. Noctalia is really good, but if not packaged in the operating system repo I use waybar as my fallback with some extra stuff.

Credits

The layout and dashboard are inspired by Studium Emacs: https://github.com/joshuablais/studium-emacs

The same Gonic server also feeds termsonic, another great client for Subsonic-compatible servers: https://git.sixfoisneuf.fr/termsonic/about/

The Waybar config I got entirely from here: https://github.com/RiccardoPP/dotfiles/tree/main/Hyprland-Elite-Mini (if you speak Italian I highly suggest watching Riccardo Palombo's channel)

The Caelus colorway comes from Dacctal: https://git.symlinx.net/daccfiles/about/