# dotfiles This repository contains all of my configuration files for my current Arch Linux installation and an install script so I can quickly replicate my setup. While the configurations are based on my preferences and made my dotfiles public so others can see how I solved specific problems or are looking for some inspiration. ![Screenshot](./screenshot.png) ## Installation The installation is pretty straightforward using a couple of installation scripts. 1. Clone the repository 2. Run `./install.sh` 3. Reboot the system 4. Run `./post-install.sh` ## Contents The list of my used arch packages are found inside the files in `packages`. The files are numbered in the order they are installed, so packages inside `packages.list` are installed first and then packages in `packages2.list` are installed. The main content of this repository can be found in the `system` folder. It contains all configurations files, directories and scripts that mostly get symlinked by my install script. ### `.config/autokey` This folder contains my phrases and scripts for [AutoKey](https://github.com/autokey/autokey). ### `.config/bat` This folder contains my configuration for [bat](https://github.com/sharkdp/bat) a replacement for cat. ### `.config/compton` This folder contains my [compton](https://github.com/yshui/compton/releases) configuration. ### `.config/cron` This folder contains my crontab file. ### `.config/dconf` This folder contains my configurations that are stored in dconf by applications. These are getting loaded on boot in `.bash_profile`. ### `.config/dunst` This folder contains my configuration for the [dunst](https://dunst-project.org) notification daemon. ### `.config/git` This folder contains my git configuration. ### `.config/gtk-3.0` This folder contains my GTK 3.0 configuration. I don't edit this configuration directly but use [LXAppearance](https://www.archlinux.org/packages/community/x86_64/lxappearance/) for configuring. ### `.config/htop` This folder contains my configuration for [htop](https://hisham.hm/htop/). ### `.config/i3` This folder contains the configuration for my preferred window manager [i3](https://i3wm.org/). Instead of the normal i3 I use the [i3-gaps](https://www.archlinux.org/packages/community/x86_64/i3-gaps/) fork. ### `.config/mpv` This folder contains my configuration for mpv. ### `.config/polybar` This folder contains my bar configuration and launch script for [Polybar](https://polybar.github.io/). ### `.config/redshift` This folder contains my [Redshift](http://jonls.dk/redshift/) configuration. Redshift adjusts the color temperature of my screens depending on the time of day. ### `.config/streamlink` This folder contains my [Streamlink](https://streamlink.github.io/) configuration. I use it to directly watch Twitch livestreams in a local video player. ### `.config/termite` This folder contains my configuration for my terminal emulator [Termite](https://github.com/thestinger/termite). ### `.config/vue` This file contains my configuration for [vue-cli](https://github.com/vuejs/vue-cli). ### `.config/Trolltech.conf` This file contains my QT4 configuration. ### `bin` This folder contains a bunch of scripts that I use. Some of them are used by Polybar or i3 and others are used directly and some like `utils.sh` contain functions that I use in other scripts. ### `udev` This folder contains my custom udev rules. They are moved to `/etc/udev/rules.d/` by the installation script. ### `.aliases` This file contains my aliases that I use on a regular basis. I also use it to replace some standard commands wiht alternatives, like using `exa` instead of `ls`. ### `.bash_logout` This file contains code that gets executed when the shell is existed. ### `.bash_profile` This file contains code that gets executed when a login shell is started. ### `.bashrc` This file contains code that gets executed when a new shell is started. ### `.dircolors` This file contains my used color scheme for `ls`. ### `.env` This file contains my used environment variables. ### `.gtkrc-2.0` This file contains the GTK 2 configuration. This file is created by LXAppearance just like the GTK 3 configuration. I don't edit things in this file directly. ### `.gtkrc-2.0.mine` This file is used for my custom GTK 2 configuration. This file gets included in `.gtkrc-2.0`. ### `.keyleds` This file contains the configuration for my keyboard backlight. ### `.vimrc` This file contains my [Vim](https://www.vim.org/) configuration. ### `.xinitrc` This file is called when a new x-server is started manually. It loads the contents of `.xsetup` and then starts i3. ### `.xprofile` This file is used by some display managers to load my normal `.bash_profile` file and `.xsetup`. ### `.Xresources` This file currently contains my color configuration for [Rofi](https://github.com/DaveDavenport/rofi). ### `.xsetup` This file contains code that I need on start. That's why it's sourced by both `.xinitrc` and `.xprofile`. This way I only need to write this code once.