.config | ||
.scripts | ||
.bashrc | ||
.gitignore | ||
.stow-local-ignore | ||
.xprofile | ||
.zshrc | ||
README.org |
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:
- .bashrc and .rshrc from DistroTube
- .xprofile
- alacritty
- doom emacs
- fish
- xmonad
- xmobar
And the scripts to run the following from a login shell:
- hikari
- hyprland
- qtile
- 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.
- git
- stow
- XMonad and XMobar
- xdotool
- Trayer
- Emacs
- dmenu
- rofi
- alacritty
- flameshot
- dunst
- aw-server, aw-watcher-afk, aw-watcher-window and aw-watcher-spotify
- 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:
- Open the README.org file in your software's config directory.
- Edit whatever you want in the appropriate source block, or add a new one.
- Describe the changes you made, so you can come back years later and not be lost.
- 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:
- 3 monitors
-
ZSA Moonlander Keyboard using the APTex keyboard layout from Apsu.
- You can find my current layout here.
- Elecom Deft trackball.
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' workspacex
.M-t x
'throws' the current window to workspacex
.-
M-w x
inserts the time, depending on whatx
is:l
inserts local time.e
inserts EST time.m
inserts MDT time.
M-d
launchesrofi
.M-p
launchesdmenu
.