• Stars
    star
    152
  • Rank 237,007 (Top 5 %)
  • Language
    Emacs Lisp
  • License
    GNU General Publi...
  • Created over 3 years ago
  • Updated 15 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Configuration files for Emacs and some other programs. Running on Arch Linux. Managed with GNU Stow.

My Emacs and other configurations for Arch Linux

This is the set of files that powers my day-to-day computing experience. GNU Emacs is its centrepiece, with other programs providing ancillary functionalities. In some cases, such as with the configurations for Vim, all relevant files are carried over from my pre-Emacs days and are maintained as a contingency plan or in case I need to revisit some old setup.

Do not track my dotfiles (rolling, unstable, and untested)

Ceci n'est pas une distribution Emacs.

This repo functions as a laboratory of experimentation for my computing environment. What I do with Emacs or any other program in the GNU/Linux milieu that forms part of my dotfiles is only meant to work for me. As such, I offer no support whatsoever to those tracking this repository and may introduce breaking changes without prior notice.

This is all to say that you understand the risks associated with tracking an ever-changing project that does not enjoy widespread testing and whose target audience is only me. If you are fine with that and are willing to assume responsibility for any possible breakage, then please feel welcome to follow along. You can always open an issue here or contribute any fixes, if you will.

Emacs setup

I do not recommend you reproduce my Emacs setup because I do not use the de facto standard of use-package to configure packages. I prefer a simpler approach.

If you insist though, the files are in the emacs directory. Add them to your home directory with:

/path/to/prot-dotfiles $ stow -t "$HOME" emacs

This will create symlinks to my configuration files inside the ~/.emacs.d directory. My custom libraries are in the directory prot-lisp while the configuration modules (where we tweak variables, assign key bindings, etc.) are in the directory prot-emacs-modules.

The modules are loaded from the init.el. Each module defines the packages to install/load. My setup auto-installs packages. This will happen the first time you start up Emacs.

Read the file prot-emacs.org for further information on the anatomy of my Emacs setup.

If you make changes to the dotfiles, such as by moving things around, run stow again with the -R flag:

/path/to/prot-dotfiles $ stow -t "$HOME" -R emacs

Window managers

My tiling window managers are bspwm, herbstluftwm, and i3 (in no particular order). They are all configured to be almost the same: they share settings for the wallpaper, system panel, theme, keyboard layout, and display compositor. All settings are in the xorg-twm directory ("twm" stands for "tiling window manager"). What differentiates the window managers is their individual features.

  • bspwm: I have been using it for years and consider it top-notch. It is minimal, stable, and scriptable. Use this if you prefer automatic tiling. It does not have layout features out-of-the-box, such as a tabbed layout: it can place windows in tiles or float them.

  • herbstluftwm (hlwm): herbstluftwm prioritises manual tiling methods and can treat arbitrary rectangles of a monitor as virtual monitors. The virtual monitors feature is perfect for anyone with a widescreen display. The one I have (which is not mine, but anyway) is 2560x1080, so I split it by default into a regular 1920x1080 area and another "sidebar" of 640x1080. herbstluftwm has the concept of "frame", which is a container of regular windows. Each frame can have its own layout, including a vertical/horizontal stack, grid, and tabbed.

  • i3 (or i3wm): The first tiling window manager I ever used (circa 2017). The reason I abandoned it back in the day in favour of bspwm is because its default tiling method requires manual intervention to change the split direction. On a small laptop monitor, I prefer this to be done automatically, hence bspwm. Though on a wide monitor, I typically keep the split direction constant. i3 has the concept of the "container" (same as herbstluftwm "frame"), which can be set to stacked, tabbed, or tiled layouts. As such, i3 is somewhere between bspwm and herbstluftwm. Choose according to your needs.

Check the xtwm-key-binding-cheatsheet.md file for an overview of their key bindings.

When I have a video call or record a video of my desktop session, I always use herbstluftwm because of its ability to support virtual monitors. Otherwise I oscillate between bspwm and i3, depending on the machine I am using.

What about Wayland? It is not ready yet: I am missing something like sxhkd and certain applications do not work properly on it. I may check again in a few years.

Copying

Unless otherwise noted, all code herein is distributed under the terms of the GNU General Public License Version 3 or later.

More Repositories

1

modus-themes

Highly accessible themes for GNU Emacs, conforming with the highest standard for colour contrast between background and foreground values (WCAG AAA).
Emacs Lisp
482
star
2

denote

Simple notes for Emacs with an efficient file-naming scheme
Emacs Lisp
425
star
3

ef-themes

Colourful and legible themes for GNU Emacs
Emacs Lisp
263
star
4

iosevka-comfy

Custom build of Iosevka with different style and metrics than the default.
206
star
5

tempus-themes

[Mirror] Tempus is a collection of themes for Vim, text editors, and terminal emulators that are compliant at the very least with the WCAG AA accessibility standard for colour contrast
Vim Script
68
star
6

spacious-padding

Increase the padding/spacing of GNU Emacs frames and windows.
Emacs Lisp
52
star
7

fontaine

Set Emacs font configurations using presets
Emacs Lisp
51
star
8

pulsar

Emacs package to pulse the current line after running select functions.
Emacs Lisp
50
star
9

dired-preview

Automatically preview file at point in Emacs Dired.
Emacs Lisp
35
star
10

mct

Enhancements for the default minibuffer completion UI of Emacs.
Emacs Lisp
29
star
11

logos

A simple "focus mode" which can be applied to any buffer for reading, writing, or even doing a presentation.
Emacs Lisp
28
star
12

prot16

Colour schemes mainly for highlighting code syntax. Each theme uses a 16-colour palette. It comes in light and dark variants.
Vim Script
26
star
13

consult-denote

Use Consult in tandem with Denote (WORK-IN-PROGRESS)
Emacs Lisp
23
star
14

tmr

Emacs package to set timers using a convenient notation
Emacs Lisp
21
star
15

lin

Lin is a stylistic enhancement for Emacs’ built-in hl-line-mode. It remaps the hl-line face (or equivalent) buffer-locally to a style that is optimal for major modes where line selection is the primary mode of interaction.
Emacs Lisp
21
star
16

substitute

Efficiently replace targets in the Emacs buffer or context
Emacs Lisp
20
star
17

beframe

Isolate Emacs buffers per frame
Emacs Lisp
20
star
18

standard-themes

Like the default GNU Emacs theme but more consistent
Emacs Lisp
19
star
19

altcaps

Apply alternating letter casing to convey sarcasm or mockery
Emacs Lisp
10
star
20

beginner-emacs

Beginner Emacs is a highly opinionated respin of my dotemacs intended for non-technical users such as my neighbours and friends whom I intend to support in person. NOT FOR GENERAL USE (not yet, anyway).
Emacs Lisp
10
star
21

research

Run shell searches and store them reproducibly in Emacs buffers
Emacs Lisp
9
star
22

agitate

Extras for diff-mode, vc-git, log-edit, log-view
Emacs Lisp
9
star
23

mandoura

Use MPV to play media files via Dired in GNU Emacs. 🪈🎶
Emacs Lisp
8
star
24

prot16-vim

Vim ports of the Prot16 collection of colour schemes.
Vim Script
8
star
25

prot16-xfce4-terminal

Ports of the Prot16 collection of colour schemes for the excellent Xfce4 terminal emulator
Shell
8
star
26

emacs-arch-linux-pkgbuild

My custom Arch Linux PKGBUILD of the Emacs development target
Shell
7
star
27

sxhkdrc-mode

Emacs major mode for editing sxhkdrc files (Simple X Hot Key Daemon)
Emacs Lisp
6
star
28

cursory

Manage Emacs cursor styles using presets
Emacs Lisp
6
star
29

sonho-light-syntax

Medium-to-high contrast theme for the Atom editor. Relaxed and playful.
CSS
5
star
30

notmuch-indicator

Add notmuch count to the Emacs global-mode-string (mode line)
Emacs Lisp
5
star
31

ficus-light-syntax

High contrast theme for the Atom text editor. Inspired by figs.
CSS
4
star
32

tempus-themes-vim

[Mirror] Tempus is a collection of themes for Vim, text editors, and terminal emulators that are compliant at the very least with the WCAG AA accessibility standard for colour contrast. This repo contains only the Vim files.
Vim Script
4
star
33

ficus-dark-syntax

High contrast theme. Inspired by figs.
CSS
3
star
34

practice-js

Just some JavaScript I am writing for didactic purposes 🔨
JavaScript
3
star
35

prot16-generator

A nimble tool to automate the process of exporting the Prot16 colour schemes to a variety of applications and terminals.
Shell
2
star
36

my-website

Source code of https://protesilaos.com. Built with Jekyll since 2016.
HTML
2
star
37

tempus-themes-gtksourceview3

DEPRECATION NOTICE — MOVED TO GITLAB. Tempus themes for GTK3 syntax highlighting (used in text editors such Gedit, Pluma, Xed)
2
star
38

invtr

INVTR or "Inventory" or else "INVTR Needn't Vindicate Thorough Rationalists" is a toy of an inventory management setup that handles the creation of entries and the recording of data within them. It extends another experimental package of mine: USLS.
Emacs Lisp
2
star
39

tempus-themes-st

DEPRECATION NOTICE — MOVED TO GITLAB. Tempus themes for st (simple terminal) from suckless.org. Tempus is a collection of themes for Vim and terminal emulators that are compliant at the very least with the WCAG AA accessibility standard for colour contrast
C
1
star
40

tempus-themes-tilix

DEPRECATION NOTICE — MOVED TO GITLAB. Tempus themes for the Tilix terminal emulator
1
star
41

magus-light-syntax

A medium contrast theme for the Atom text editor.
CSS
1
star
42

ocarina-light-syntax

Medium contrast theme. Inspired by The Legend of Zelda.
CSS
1
star
43

.github

1
star
44

prot16-atom-index

A list with links to all the Prot16 themes for the Atom text editor.
Shell
1
star
45

ocarina-dark-syntax

Medium contrast theme. Inspired by The Legend of Zelda.
CSS
1
star
46

seabed-light-syntax

Low contrast syntax theme with a deep sea feel for the Atom text editor.
CSS
1
star
47

protesilaos.github.io

DEPRECATED: MOVED TO GITLAB --- My website's source code. Doubles as a demo for my various experiments with Jekyll.
HTML
1
star
48

prot-one-dark-ui

EXPERIMENTAL - Fork of the default One dark UI for Atom. Meant to work with my syntax themes.
CSS
1
star
49

tempus-themes-xfce4-terminal

DEPRECATION NOTICE — MOVED TO GITLAB. Tempus is a collection of themes for Vim and terminal emulators that are compliant at the very least with the WCAG AA accessibility standard for colour contrast
1
star
50

tempus-themes-konsole

DEPRECATION NOTICE — MOVED TO GITLAB. Tempus themes for Konsole (default KDE terminal)
1
star
51

bionis-jekyll

DEPRECATED Minimalist, mobile-first theme for Jekyll. Two-column view on desktop.
CSS
1
star
52

hack-font-mod

Modified version of the "Hack" typeface, using alternative glyphs maintained by the upstream project.
1
star
53

oliveira-light-syntax

Colourful medium contrast syntax highlighting theme based on a 16-colour palette.
CSS
1
star
54

blau-dark-syntax

Medium contrast theme for the Atom text editor. Inspired by the colours of FC Barcelona.
CSS
1
star
55

oliveira-dark-syntax

Colourful medium contrast syntax highlighting theme based on a 16-colour palette.
CSS
1
star
56

bionis-light-syntax

High contrast syntax theme for the Atom editor.
CSS
1
star
57

equinox-dark-syntax

Medium-to-high contrast theme for the Atom text editor. Hints towards the blue side of the spectrum.
CSS
1
star
58

tempus-themes-generator

[Mirror] Tool to build Tempus themes on demand. Tempus is a collection of themes for Vim, text editors, and terminal emulators that are compliant at the very least with the WCAG AA accessibility standard for colour contrast.
Shell
1
star
59

symbiosis-light-syntax

Medium-to-high contrast syntax highlighting theme for the Atom editor. Loosely inspired by Metroid.
CSS
1
star
60

flowerbed-light-syntax

Medium contrast theme for the Atom text editor.
CSS
1
star
61

qmk

C
1
star
62

blau-light-syntax

Medium contrast theme for the Atom text editor. Inspired by the colours of FC Barcelona.
CSS
1
star