• Stars
    star
    137
  • Rank 266,121 (Top 6 %)
  • Language
    Emacs Lisp
  • License
    Other
  • Created almost 16 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

My GNU Emacs configuration

Emacs config

This is my new new simplified Emacs config based on straight.el and use-package.

Install

The following shell script will clone this repository and symlink the elisp files into a new, empty ~/.emacs.d directory. You may want to fork this repository and claim this config as your own. If you do, simply update the REMOTE and REPO variables for your own forked version:

[email protected]:EnigmaCurry/emacs.git
REPO=${HOME}/git/vendor/enigmacurry/emacs
BRANCH=straight

(set -e
test -d ~/.emacs.d && (echo "~/.emacs.d already exists. Aborting install." && exit 1)
test -d ${REPO} || git clone -b ${BRANCH} ${REMOTE} ${REPO}
mkdir ~/.emacs.d && ls -1 ${REPO}/*.el | xargs -iXX ln -s XX ~/.emacs.d
mkdir ~/.emacs.d/straight && ln -s ${REPO}/straight-versions ~/.emacs.d/straight/versions
)

You will treat your entire ~/.emacs.d directory as ephemeral (ie. not a git repository). All of your saved configuration should go here instead, saved in this repository (cloned locally to ~/git/vendor/enigmacurry/emacs). The main emacs configuration, init.el and early-init.el, are both symlinked into the freshly created ~/.emacs.d directory. The straight-versions directory is also symlinked to ~/.emacs.d/straight/versions, which keeps your package lock file (default.el) versioned inside of git, so as to maintain exactly reproducible installs.

You can install the optional ec script as an alias to control emacsclient and start/connect to your emacs sever. Add the directory to your PATH (~/.bashrc):

PATH=$PATH:/home/ryan/git/vendor/enigmacurry/emacs

If you use dmenu with i3, you can add your PATH directly to the dmenu launcher keybinding:

# excerpt from ~/.config/i3/config
bindsym $mod+d exec --no-startup-id env PATH=$PATH:$HOME/git/vendor/enigmacurry/emacs dmenu_run

Upgrade

From time to time, you should review the versions of your dependencies in your lockfile (default.el).

To upgrade a single package, run M-x straight-pull-package

To upgrade a single package and all of its dependencies, run M-x straight-pull-package-and-deps

To upgrade all packages, run M-x straight-pull-all

After you're done upgrading packages, add the new versions to the lockfile:

## Write new upgraded versions to the lockfile:
M-x straight-freeeze-versions

If you maintain multiple installations, you will also need to run the following on each other machine after you git pull:

## Update the installed versions according to the lockfile
M-x straight-thaw-versions

Credits and other useful links

Some code samples taken from:

My older emacs configs

Here's my old spacemacs config branch

Here's my old old literate config branch

If you want to see my old old old config from the late 2000s, see the ancient-history branch

More Repositories

1

blogofile

A static website compiler and blog engine written in Python.
Python
338
star
2

GMusicFS

A FUSE filesystem for Google Music
Python
154
star
3

arch-ppa

Create and maintain personal Arch linux package repositories
Shell
83
star
4

d.rymcg.tech

A collection of self-hosted docker-compose projects with Traefik reverse proxy, integrated auth, and administrative Makefiles for easy maintainance
Shell
47
star
5

blogofile_blog

A Blogofile blog plugin
Python
26
star
6

curlbomb

A personal HTTP(s) server for serving one-time-use shell scripts
Python
25
star
7

lazy-distro-mirrors

Squid reverse caching proxy for distro mirrors - dockerized
Mako
24
star
8

Single-JAR-Jython-Example

Example to show how to package a Jython application, along with 3rd party dependencies, as a single executable jar file
Java
22
star
9

Vaporfile

A tool to upload and synchronize static websites to the Amazon S3 cloud.
Python
22
star
10

SAP

A very simple computer written in Verilog, with a Python test bench
Verilog
17
star
11

archiso-ssh-remix

Remaster arch iso to start sshd by default, authorized_keys, wpa_supplicant.conf etc.
Shell
10
star
12

cycle-deepstream

Cycle.js driver for deepstream.io
TypeScript
10
star
13

blogofile.com

Python
9
star
14

blog.rymcg.tech

Shell
9
star
15

kick-ascii

mobile-first responsive asciinema-player
CSS
8
star
16

Arduino-Pro-Mini-Weather

Arduino Pro Mini Weather
C++
7
star
17

jython-shell-server

Embeds a network reachable, interactive, jython shell into any java application
Python
7
star
18

player_piano

HTML
6
star
19

terraform-serverless-spa

AWS terraformed serverless stack for a VueJS single page app.
HCL
5
star
20

ECSniff

The EnigmaCurry Network Sniffer
Python
4
star
21

midi-livecode

A MIDI live-coding environment for composition using isobar and Ableton Link
Python
4
star
22

news

CSS
4
star
23

nose-test-select

.gitignore style test selection for nose (file and method name globbing)
Python
3
star
24

enigmacurry.com

Vue
3
star
25

SpotMetal

An OpenOffice.org Calc extension to retrieve the current spot price of precious metals (gold, silver, platinum etc)
Python
3
star
26

archivebox-api-gateway

API wrapper service for ArchiveBox
Python
3
star
27

audacious-plugins

A few plugins for the Audacious media player
Python
3
star
28

site_pass.py

A password utility that generates unique per-domain passwords from a master password
Python
2
star
29

enigmacurry.github.com

EnigmaCurry GitHubPage
2
star
30

deepstream-test

TypeScript
2
star
31

k3s-wireguard-proxy

wireguard powered ngrok alternative with k3s
2
star
32

Sparkfun-LCD

A simple Python wrapper for the Sparkfun Graphic LCD Serial Backpack (LCD-09352)
Python
2
star
33

Steam-GameFAQs

An enhanced GameFAQs browser for the Steam in-game browser
Python
2
star
34

textile-py3k

Python3 version of textile
Python
2
star
35

blogofile_example_plugin

An example plugin for Blogofile - creates a minimal photo gallery
Python
2
star
36

python-markdown-py3k

A Python 3 version of markdown
Python
2
star
37

dotfiles

Shell
1
star
38

deepstream.io-storage-cassandra

Cassandra storage connector for deepstream.io
JavaScript
1
star
39

d.rymcg.tech_homepage-template

Dashboard template for d.rymcg.tech
1
star
40

docker-configurator

Python
1
star
41

barrel.rymcg.tech

1
star
42

tetromino-gdx

A Tetris clone written with libgdx
Java
1
star
43

gplus-mute-person

Mute People on Google+
JavaScript
1
star
44

rss2email-docker

Shell
1
star
45

ubuntu-notifications

Just a test of ubuntu notifcations.. not much here.
Python
1
star
46

sqlalchemy-magic

Just testing some sql alchemy magic
Python
1
star
47

cassandra-playground

Learning Cassandra
JavaScript
1
star
48

s3scrot

screenshot tool that uploads to Amazon S3 and copies URL to the clipboard
Python
1
star
49

EnigmaCurry-vcv-pack

EnigmaCurry's VCV Rack modules and patches
C++
1
star
50

JavaEE-playground

JavaScript
1
star
51

flask-template

Python
1
star
52

quake-dev

Makefile
1
star
53

nifty-filter

a template and configuration tool for netfilter / nftables
Rust
1
star