My configuration files
This is my collection of configuration files, written using literate programming. The file you are reading right now contains all the information needed to generate a bunch of other files, which in turn configures various applications on my systems. The code blocks below are not just examples, but the actual code that I am using.
These files are available in my Gitlab dotfiles repository and also rendered as html (with a cleaner look, table of contents, and working internal links) at dotfiles.rickardsundin.se.
Emacs
Emacs is an important tool for me, and has its configuration in a separate file: emacs.org
Bash
Configuration for bash is split onto two files:
.bashrc
Who is listening on port?
This function finds out what process is listening on a specific port. Found on Stackoverflow.
listening() { if [ $# -eq 0 ]; then sudo lsof -iTCP -sTCP:LISTEN -n -P elif [ $# -eq 1 ]; then sudo lsof -iTCP -sTCP:LISTEN -n -P | grep -i --color $1 else echo "Usage: listening [pattern]" fi }
Homebrew
Homebrew is used for installing various tools and applications on
MacOS. The subcommand bundle can be used to ensure a specific set of
applications are installed on a machine based on a configurations in a
file.
Specify the Brewfile location by setting an environment variable.
export HOMEBREW_BUNDLE_FILE=$HOME/.dotfiles/Brewfile
The content of the Brewfile is defined below and lists the applications (or "formulas" in the homebrew terminology) that I would like to have installed on every Mac. To install (or update) everything in the Brewfile, run the command:
brew bundle