dot/README.org

3.5 KiB

Introduction

This git repository is a collection of the dotfiles I use. The configuration is done in org-mode, and it's literate.

A lot of them are re-writes (or copies) of Derek "DistroTube" Taylor's configs.

Contents

This repo concludes the following configurations:

  1. .bashrc and .rshrc from DistroTube
  2. .xprofile
  3. alacritty
  4. doom emacs
  5. fish
  6. xmonad
  7. xmobar

And the scripts to run the following from a login shell:

  1. hikari
  2. hyprland
  3. qtile
  4. sway

Requirements

I use a number of applications and utilities in my workflow. I'm too lazy to list the ways to install everything, but here's a non-exhaustive list. If you install it, and something is missing, you will most likely get output that explains what you need to do.

  1. git
  2. stow
  3. XMonad and XMobar
  4. xdotool
  5. Trayer
  6. Emacs
  7. dmenu
  8. rofi
  9. alacritty
  10. flameshot
  11. dunst
  12. aw-server, aw-watcher-afk, aw-watcher-window and aw-watcher-spotify
  13. gocryptfs if you're using an encrypted directory, and lxqt-openssh-askpass

Installation

The installation is very simple. Note stow will not overwrite your files, so you will have to install a lot of these manually the first time.

First, clone the repo into a hidden directory in your \~. This makes using stow easier.

git clone https://git.bajsicki.com/phil/dot.git .dot

Then run:

cd .dot
stow .

Done.

Note that it won't overwrite your files.

Configuration

Some of the configurations are literate. That is, you don't edit the configuration file itself, but rather the org-mode file, which you then tangle.

Note the git repo currently includes already tangled configs. This will not be the case once I get around to making all my configs literate.

The process for configuring literately:

  1. Open the README.org file in your software's config directory.
  2. Edit whatever you want in the appropriate source block, or add a new one.
  3. Describe the changes you made, so you can come back years later and not be lost.
  4. Hit C-c C-v t to tangle the config file.

Source blocks look like this:

#+begin_src emacs-lisp :tangle config.el

#+end_src

The way org-babel-tangle works is that it will look at the source blocks, and extract them into the file befined by the :tangle parameter.

In some cases, we use

#+PROPERTY: header-args :tangle xmonad.hs

in the .org file. This applies :tangle xmonad.hs to every source block.

Usage

I use a rather unusual workflow. Here's the set-up:

I use all the alphanumeric keys (except 0) for workspaces, and they're chorded.

These are the primary keybinds I use pretty much all the time:

  • M is my modkey - set to Super.
  • M-s x 'shows' workspace x.
  • M-t x 'throws' the current window to workspace x.
  • M-w x inserts the time, depending on what x is:

    • l inserts local time.
    • e inserts EST time.
    • m inserts MDT time.
  • M-d launches rofi.
  • M-p launches dmenu.