Skip to content

d12frosted/environment

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
bat
 
 
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
nix
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

d12frosted environment

Banner

CI Status Badge Emacs Status Badge

This repository contains configurations for applications and tools I am using.

What’s inside?

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.

Eru domain

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.

Emacs

Check out dedicated README for more information.

Can I use your files?

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.

Acknowledgements

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.