From b12aa177b418fe4e2c510968eb83fbd9b7365ae7 Mon Sep 17 00:00:00 2001 From: Adam Gausmann Date: Tue, 29 Jan 2019 16:29:42 -0600 Subject: [PATCH] Clean and update README --- .gitmodules | 9 --- README.md | 65 ++++--------------- ayypad/.config/i3/config | 108 ------------------------------- ayypad/.config/i3status/config | 66 ------------------- ayypad/.xinitrc | 3 - common/.config/user-dirs.dirs | 8 --- common/.vim/bundle/ale | 1 - common/.vim/bundle/vim-gitgutter | 1 - common/.vim/bundle/vim-pathogen | 1 - common/.vimrc | 19 ------ 10 files changed, 14 insertions(+), 267 deletions(-) delete mode 100644 .gitmodules delete mode 100644 ayypad/.config/i3/config delete mode 100644 ayypad/.config/i3status/config delete mode 100644 ayypad/.xinitrc delete mode 100644 common/.config/user-dirs.dirs delete mode 160000 common/.vim/bundle/ale delete mode 160000 common/.vim/bundle/vim-gitgutter delete mode 160000 common/.vim/bundle/vim-pathogen delete mode 100644 common/.vimrc diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index f4c1c4c..0000000 --- a/.gitmodules +++ /dev/null @@ -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 diff --git a/README.md b/README.md index 320791c..d6e9117 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/ayypad/.config/i3/config b/ayypad/.config/i3/config deleted file mode 100644 index 11e97d2..0000000 --- a/ayypad/.config/i3/config +++ /dev/null @@ -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 -} diff --git a/ayypad/.config/i3status/config b/ayypad/.config/i3status/config deleted file mode 100644 index 523dd7e..0000000 --- a/ayypad/.config/i3status/config +++ /dev/null @@ -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 = "" -} diff --git a/ayypad/.xinitrc b/ayypad/.xinitrc deleted file mode 100644 index 9bc6d3a..0000000 --- a/ayypad/.xinitrc +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec /usr/bin/ck-launch-session /usr/bin/dbus-launch --sh-syntax --exit-with-session /usr/bin/i3 diff --git a/common/.config/user-dirs.dirs b/common/.config/user-dirs.dirs deleted file mode 100644 index 99266f4..0000000 --- a/common/.config/user-dirs.dirs +++ /dev/null @@ -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" diff --git a/common/.vim/bundle/ale b/common/.vim/bundle/ale deleted file mode 160000 index 2cfa09e..0000000 --- a/common/.vim/bundle/ale +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2cfa09e02d65cd06649fb1ae5f988b7a110a124d diff --git a/common/.vim/bundle/vim-gitgutter b/common/.vim/bundle/vim-gitgutter deleted file mode 160000 index 1d422b9..0000000 --- a/common/.vim/bundle/vim-gitgutter +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1d422b9f98194e38bc56e54192c9bc66d95c21f1 diff --git a/common/.vim/bundle/vim-pathogen b/common/.vim/bundle/vim-pathogen deleted file mode 160000 index e9fb091..0000000 --- a/common/.vim/bundle/vim-pathogen +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e9fb0914dba5bdfe2feaa364dda2e9495c5620a2 diff --git a/common/.vimrc b/common/.vimrc deleted file mode 100644 index 20e0372..0000000 --- a/common/.vimrc +++ /dev/null @@ -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