Clean and update README

This commit is contained in:
Adam Gausmann 2019-01-29 16:29:42 -06:00
parent be65d03f5f
commit b12aa177b4
10 changed files with 14 additions and 267 deletions

9
.gitmodules vendored
View file

@ -1,9 +0,0 @@
[submodule ".vim/bundle/vim-pathogen"]
path = common/.vim/bundle/vim-pathogen
url = https://github.com/tpope/vim-pathogen.git
[submodule ".vim/bundle/vim-gitgutter"]
path = common/.vim/bundle/vim-gitgutter
url = https://github.com/airblade/vim-gitgutter.git
[submodule ".vim/bundle/ale"]
path = common/.vim/bundle/ale
url = https://github.com/w0rp/ale.git

View file

@ -1,66 +1,29 @@
# dotfiles
My personal dotfiles and configurations.
My personal dotfiles and configurations, generated from templates with Mako!
## Contents
- `common/` - A set of configuration files common to every system.
- `templates/` - The set of base template files.
- `$hostname/` - Configuration files specific to the system with the given
hostname.
- `include/` - Template files that do not map directly to a generated file.
- `$x/` - Additional (optional) configurations that can also be added.
- `install.py` - The script that generates and installs the templates. (Requires Mako)
- `install` - A file-copying utility script.
- `install` - Wraps a call to `pipenv run install.py`
## Configuration
## How it Works
Each subdirectory in this repository is a collection of configuration files
relative to the user's home directory. For example, adding the file
`common/.config/x` will install it to `$HOME/.config/x` when the `install`
script chooses the `common` subdirectory.
For each file in the `templates/` directory (recursively), the installation script
will parse and render it as a Mako template and output it with the same path but
relative to the home directory. Mako is configured to look for additional files in the
`include/` directory if they don't exist in `templates/`, so use that if you reference
other template files that aren't supposed to be rendered as a standalone file.
Files are chosen from these subdirectories in order, with precedence given to
the subdirectory listed first if multiple have a file in the same location:
## Requirements
- Custom subdirectories passed by command line (from left to right).
- The subdirectory that is the same as the system's hostname.
- The `common` subdirectory.
Note that any files existing in the subdirectory will be created, but the
script cannot detect when files are removed and will not attempt to remove
anything from the home directory.
- Either mako (for using `install.py`) or pipenv (for `install`).
## Installation
Made easy by the `install` script.
### Requirements
- `rsync`, used as the smart file copy utility.
### Environment
- `HOME` - The home directory of the user running this script.
- `HOSTNAME` - The hostname of this system. If not present, defaults to the
value of `hostname`.
- `DOTFILES` - The repository root. If not present, the directory containing
the `install` script is used.
### Steps
```
# Fetch the repository (if you haven't already):
git clone git@gitlab.com:agausmann/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
# Make sure submodules are up to date (thinks like third-party Vim plugins):
git submodule update --init
# Run the script:
./install [ custom_targets ... ]
```
Made easy by the `install` script. Use `install --help` to see customization options.

View file

@ -1,108 +0,0 @@
set $mod Mod4
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
set $kws1 1
set $kws2 2
set $kws3 3
set $kws4 4
set $kws5 5
set $kws6 6
set $kws7 7
set $kws8 8
set $kws9 9
set $kws10 0
set $kleft h
set $kdown j
set $kup k
set $kright l
font pango:DejaVu Sans Mono 8
focus_follows_mouse no
floating_modifier $mod
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exit
bindsym $mod+Shift+q kill
bindsym $mod+Shift+p exec --no-startup-id /usr/bin/i3lock -c 000000
bindsym $mod+d exec --no-startup-id /usr/bin/dmenu_run
bindsym $mod+Return exec --no-startup-id /usr/bin/lxterminal
bindsym $mod+$kleft focus left
bindsym $mod+$kdown focus down
bindsym $mod+$kup focus up
bindsym $mod+$kright focus right
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
bindsym $mod+Shift+a focus child
bindsym $mod+Shift+$kleft move left
bindsym $mod+Shift+$kdown move down
bindsym $mod+Shift+$kup move up
bindsym $mod+Shift+$kright move right
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+space floating toggle
bindsym $mod+b split h
bindsym $mod+v split v
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+$kws1 workspace $ws1
bindsym $mod+$kws2 workspace $ws2
bindsym $mod+$kws3 workspace $ws3
bindsym $mod+$kws4 workspace $ws4
bindsym $mod+$kws5 workspace $ws5
bindsym $mod+$kws6 workspace $ws6
bindsym $mod+$kws7 workspace $ws7
bindsym $mod+$kws8 workspace $ws8
bindsym $mod+$kws9 workspace $ws9
bindsym $mod+$kws10 workspace $ws10
bindsym $mod+Shift+$kws1 move container to workspace $ws1
bindsym $mod+Shift+$kws2 move container to workspace $ws2
bindsym $mod+Shift+$kws3 move container to workspace $ws3
bindsym $mod+Shift+$kws4 move container to workspace $ws4
bindsym $mod+Shift+$kws5 move container to workspace $ws5
bindsym $mod+Shift+$kws6 move container to workspace $ws6
bindsym $mod+Shift+$kws7 move container to workspace $ws7
bindsym $mod+Shift+$kws8 move container to workspace $ws8
bindsym $mod+Shift+$kws9 move container to workspace $ws9
bindsym $mod+Shift+$kws10 move container to workspace $ws10
mode "resize" {
bindsym $kleft resize shrink width 10 px or 10 ppt
bindsym $kdown resize grow height 10 px or 10 ppt
bindsym $kup resize shrink height 10 px or 10 ppt
bindsym $kright resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -8%
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +8%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bar {
tray_output none
status_command /usr/bin/i3status
}

View file

@ -1,66 +0,0 @@
general {
colors = true
interval = 5
}
order += "ipv6"
order += "wireless wlp4s0"
order += "ethernet enp2s0"
order += "disk /"
order += "disk /home"
order += "volume default"
order += "battery all"
order += "cpu_usage"
order += "tztime utc"
order += "tztime local"
battery all {
format = "%status %percentage %remaining"
format_down = ""
status_chr = "chr"
status_bat = "bat"
status_unk = "unk"
status_full = "bat"
}
cpu_usage {
format = "cpu %usage"
}
disk "/" {
format = "root %avail"
}
disk "/home" {
format = "home %avail"
}
ethernet enp2s0 {
format_up = "en %ip"
format_down = ""
}
ipv6 {
format_up = "ip6 %ip"
format_down = ""
}
tztime utc {
format = "%Y-%m-%d %H:%M:%S"
timezone = UTC
}
tztime local {
format = "%H:%M"
}
volume default {
format = "vol %volume"
format_muted = "mute %volume"
device = "pulse"
}
wireless wlp4s0 {
format_up = "wl %ip %essid %quality"
format_down = ""
}

View file

@ -1,3 +0,0 @@
#!/bin/sh
exec /usr/bin/ck-launch-session /usr/bin/dbus-launch --sh-syntax --exit-with-session /usr/bin/i3

View file

@ -1,8 +0,0 @@
XDG_DESKTOP_DIR="$HOME/desktop"
XDG_DOWNLOAD_DIR="$HOME/downloads"
XDG_TEMPLATES_DIR="$HOME/templates"
XDG_PUBLICSHARE_DIR="$HOME/public"
XDG_DOCUMENTS_DIR="$HOME/documents"
XDG_MUSIC_DIR="$HOME/music"
XDG_PICTURES_DIR="$HOME/pictures"
XDG_VIDEOS_DIR="$HOME/videos"

@ -1 +0,0 @@
Subproject commit 2cfa09e02d65cd06649fb1ae5f988b7a110a124d

@ -1 +0,0 @@
Subproject commit 1d422b9f98194e38bc56e54192c9bc66d95c21f1

@ -1 +0,0 @@
Subproject commit e9fb0914dba5bdfe2feaa364dda2e9495c5620a2

View file

@ -1,19 +0,0 @@
runtime bundle/vim-pathogen/autoload/pathogen.vim
execute pathogen#infect()
filetype on
syntax on
set colorcolumn=90
set number
set hidden
set history=100
filetype indent on
set nowrap
set tabstop=4
set shiftwidth=4
set expandtab
set smartindent
set autoindent
set hlsearch
set showmatch
set directory=$HOME/.vim/tmp
set backupdir=$HOME/.vim/tmp