• Stars
    star
    182
  • Rank 211,154 (Top 5 %)
  • Language
    Emacs Lisp
  • License
    GNU General Publi...
  • Created almost 4 years ago
  • Updated 27 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
570
star
2

denote

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

ef-themes

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

iosevka-comfy

Custom build of Iosevka with different style and metrics than the default.
296
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
74
star
6

pulsar

Emacs package to pulse the current line after running select functions.
Emacs Lisp
73
star
7

spacious-padding

Increase the padding/spacing of GNU Emacs frames and windows.
Emacs Lisp
67
star
8

fontaine

Set Emacs font configurations using presets
Emacs Lisp
67
star
9

dired-preview

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

consult-denote

Use Consult in tandem with Denote
Emacs Lisp
42
star
11

mct

Enhancements for the default minibuffer completion UI of Emacs.
Emacs Lisp
36
star
12

logos

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

beframe

Isolate Emacs buffers per frame
Emacs Lisp
30
star
14

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
27
star
15

substitute

Efficiently replace targets in the Emacs buffer or context
Emacs Lisp
26
star
16

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
17

tmr

Emacs package to set timers using a convenient notation
Emacs Lisp
25
star
18

standard-themes

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

show-font

Show font features in an Emacs buffer
Emacs Lisp
21
star
20

agitate

Extras for diff-mode, vc-git, log-edit, log-view
Emacs Lisp
11
star
21

research

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

mandoura

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

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
24

altcaps

Apply alternating letter casing to convey sarcasm or mockery
Emacs Lisp
9
star
25

prot16-vim

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

emacs-arch-linux-pkgbuild

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

prot16-xfce4-terminal

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

sxhkdrc-mode

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

cursory

Manage Emacs cursor styles using presets
Emacs Lisp
6
star
30

sonho-light-syntax

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

notmuch-indicator

Add notmuch count to the Emacs global-mode-string (mode line)
Emacs Lisp
5
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
5
star
33

ficus-light-syntax

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

ficus-dark-syntax

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

practice-js

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

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
3
star
37

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
38

my-website

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

tempus-themes-gtksourceview3

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

qmk

C
2
star
41

usls

[Mirror] 'usls', else the "Unassuming Sidenotes of Little Significance" (USLS), is an Emacs library that streamlines the task of storing notes of arbitrary length in a flat directory or directory tree, based on a strict file naming convention.
Emacs Lisp
1
star
42

tempus-themes-tilix

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

magus-light-syntax

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

ocarina-light-syntax

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

.github

1
star
46

prot16-atom-index

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

ocarina-dark-syntax

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

seabed-light-syntax

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

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
50

prot-one-dark-ui

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

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
52

tempus-themes-konsole

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

bionis-jekyll

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

hack-font-mod

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

oliveira-light-syntax

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

blau-dark-syntax

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

oliveira-dark-syntax

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

bionis-light-syntax

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

equinox-dark-syntax

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

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
61

symbiosis-light-syntax

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

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
63

flowerbed-light-syntax

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

prot16-urxvt

Ports of the Prot16 collection of colour schemes for RXVT-Unicode (URXVT)
1
star
65

blau-light-syntax

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