This repository contains configurations for applications and tools I am using.
All configurations that I fear to loose by making rm -rf ~/
(accidentally, for
sure). Configurations are divided into domains like emacs
, git
, haskell
,
fish
etc.
All of the configurations as well as dependencies are maintained using Eru - a script that creates the universe. Supported platforms are macOS and Arch Linux.
- Emacs is my editor (see dedicated README for more information).
- Fish is my shell.
- World is full of windows, and tiling window managers are here to ease the pain of existence.
As you might know, Eru is the supreme deity of Arda. The first things that Eru created where the Ainur. He then bade the Ainur to sing to him. Each Ainu had a particular theme given by Eru. Sure enough, Eru makes the ‘World and All That Is’.
So when I get a new clean system there is nothing yet. And so I call upon the
wisdom and power of Eru.sh
- the one who creates Ainur and the ‘World and All
That Is’.
$ curl https://raw.githubusercontent.com/d12frosted/environment/master/eru.sh | bash
I just have to wait patiently, while everything is being downloaded and installed, while all configuration cogs are being placed on the right spot.
The good thing about Eru.sh
is that after the ‘World and All That Is’ creation
you can still call upon his help and you can even ask him to help with specific
theme or themes only.
$ ./eru.sh [install] # to help with all themes
$ ./eru.sh install repositories # to help with repositories
$ ./eru.sh install repositories packages # to help with repositories and packages
$ ./eru.sh install emacs # to help with emacs
$ ./eru.sh upgrade emacs # to upgrade emacs packages
$ ./eru.sh test emacs # to test emacs configurations
Eru.sh
reveals all available themes. For example,
=> Defining helpers
=> Defining variables
┌────────────────────────────────────────────────────────────────────────────┐
│ >>> system :: ensure nix installation │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ >>> system :: build nix environment │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ >>> system :: make Eru more approachable │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ >>> system :: ensure ghcup installation │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ >>> system :: ensure HLS installation │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ >>> Emacs :: setup Eldev │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ >>> Emacs :: setup Emacs configurations │
└────────────────────────────────────────────────────────────────────────────┘
Everything wrapped into beautiful rectangle is a theme that you can select. By default, if you do not specify any themes, all themes are sung. If you do specify at least one theme - only specified are sang.
You can read a little bit more about Eru in a Revisiting Eru blog post. Though it might be already a little bit outdated.
Check out dedicated README for more information.
Sure, just take whatever you find fancy. Though keep in mind few things. These configurations are personal configurations, so they are based on my needs and are opionated towards my liking. I don’t test any of them outside of my use case. I don’t have a goal to provide exhaustive documentation, except for things that worth the effort. Though I will be glad to help you if you have any questions or problems. Pull requests and suggestions are warmly welcome!
If you do use any parts of my configurations, do it only on your own risk.
These configurations would not have been possible without the work of and the inspiration from following people.
- Chris Done and his .emacs.d inspired me to start using Emacs.
- Sylvain Benner as author of Spacemacs he changed the way I use Emacs and Emacs Lisp.
- Eivind Fonn is an author of Spaceline and crazy Emacs Lisper who constantly helps me with my problems.
- Bar made a lot of important configurations that I use on a daily basis. One of those people who is always happy to help you with your problems. And believe, his help is very valuable!
- Steve Purcell inspires me with his overall work on improving Emacs ecosystem.
- Artur Malabarba shares valuable pieces of advice and ideas in his blog.
- Henrik Lissner as author of Doom Emacs he inspired and helped me a lot.
D12 Twelve Sided Dice created by Iryna Rutylo.