/command-center

~/.emacs.d & ~/.bashrc & more

Primary LanguageEmacs LispMIT LicenseMIT

This is the config dir for all the things

.files, Emacs config and utility scripts and such.

Everything ships as part of .emacs.d directory because it’s 🆗

Eighty Megs And Constantly Surprising 🎩

My emacs and $HOME setup. Focused on:

  • Clojure (read below)
  • Shell scripting in Bash
  • Ops stuff (Ansible, Terraform etc)
  • Occasionally;
    • Ruby
    • Javascript/Typescript/React
    • Scheme
    • Common Lisp
    • Python

Setup

If you want to use these yourself - probably a bad idea, given that I built all of this stuff to fit my workflow.

  1. Fork this repo
  2. Clone to $HOME/.emacs.d
  3. cd .emacs.d && make
  4. Start Emacs, use-package will take over

Other tools and packages

None, I work in a Linux VM

Details

  • I use bash, I tried zsh in the past and it was not worth the effort
  • you can see my old .files here: https://github.com/lukaszkorecki/DotFiles
  • Emacs config is pretty light-weight, essential packages are:
    • ivy, company
    • projectile
    • monroe and clojure-mode

Conventions

Most navigation shortcuts start with C-c n ...

Most execution shorcuts start with C-x ...

Clojure

I’ve built couple of convenient things around clojure-mode and Monroe, an nREPL client.

All functions are in settings/lk/clojure.el and repl.clj

lk/clojure-scratch

Creates a scratch buffer and loads handy functions into the REPL process. Tests can be run via (R/t) function, which also accepts a regex (R/t! ".*component.pg-test")

The code which defines the R (R for REPL) namespace depends on couple of things:

  1. Leiningen profile which loads tools.namespace, https://github.com/lambdaisland/kaocha etc
  2. Simple namespace definition, found in etc/repl.clj

lk/clojure-format-current-buffer

Delegates to cljfmt to format current buffer via compilation-mode

lk/clojure/check-current-buffer

Delegates to clj-kondo to check current buffer via compilation-mode

Vritual Machine

Is powered by https://multipass.run See https://github.com/lukaszkorecki/drifter as my light weight Vagrant replacement.