Skip to content
SwiftyChicken edited this page Dec 11, 2021 · 12 revisions

Welcome to the dotfiles wiki!

About

This wiki is meant to help installing the dotfiles. Notice that the wiki isn't finished yet. I will make sure to work daily, if not, weekly on it until most things are explained.

Arch based distros:

This whole wiki will assume that you're running Arch Linux or an Arch based distro. I don't plan on making a guide for distros with other package managers. Meaning that if you want to install it outside of the Arch based distros you will need to figure some stuff out on your own, but it shouldn't be impossible and difficult (depending on your Linux experience).

Clean home directory:

As you might have noticed with my xinitrc and zshenv file, I hate cluttering my home directory with dotfiles. That's why I try to avoid them as much as possible.
Although this is often not recommended because it might ask too much work/hacks for what it's worth or it might even break some programmes in the process.

Installation

1. Introduction

Here I will explain how to install the core functionalities of my rice.
If you're only interested in certain parts of the rice and how to install, configure or troubleshoot them. Than you can find all the desired information in their dedicated section on the sidebar to the right.
The following is only meant for installing my compleet dotfiles from scratch.

2. Login shell

I will assume that you have installed my repo in your home directory. Just after a clean Arch install and having followed the first 3 sections of General recommendations.

First make sure your user login shell is /bin/bash.

grep "^$USER" /etc/passwd| cut -d':' -f7

The reason for using bash over zsh is because the tty doesn't support glyphs making my zsh prompt unreadable when login into a tty.
In case you did set the user login shell to zsh:

usermod -s /bin/bash <username>

3. Installing Window manager

3.1. Needed programmes

Now that you have setup your login shell, it's time to install the Desktop Server, X initialisation program Window Manager, Hotkey Daemon and a Terminal. The terminal is needed to be able to continue setting rest up in bspwm. To do this, just install it with pacman as such:

sudo pacman -S xorg-server xorg-xinit bspwm sxhkbd alacritty

3.2 Create general directory structure

The only thing left to do, to get started, is to move the correct configurations in to the correct folders. But before you can do that, you need to first create the needed directories.
On my system I'm following the XDG Base Directory specification. I suggest you do the same because a lot of my files and scripts are following those specifications.

So first let us create, the XDG user directories that are specified in .config/env and while we are at it we can also install the needed directories for the configurations and scripts needed to startup bspwm.

Use the following command to do this:

mkdir -p ~/.local/{share,state,bin} ~/.config/{sxhkd,bspwm,X11} ~/.cache

The next step is not necessary but you can also create some well known directories like Documents, Downloads, etc. That's at least that's what I have done. So I can keep my files organised.

To do the same use the following command:

mkdir -p ~/Do{cuments,wnloads} ~/Music ~/Pictures ~/Videos

3.3 Moving the needed configurations and scripts.

Now you only need to move the needed configurations to the right place. Here I will assume that you have installed my dotfiles in your home directory. If not make sure you do it now.

For the true newbies: "How to install from github"
In case you really don't know how to install it with git...
First make sure you have git installed on your system: sudo pacman -S git
Then simply use `git clone` to download the repositor:
git clone https://github.com/SwiftyChicken/dotfiles.git ~

So we will start by first moving the bspwm, sxhkd and xinit configurations files to the right folders. We will also make sure the bspwmrc file is executable. It's basically a script that mostly use the bspc command to configure bspwm. The extrnal_rules script located in the bspwm config folder should obviously also be executable.

To do all this you could execute the following commands:

cp -r ~/dotfiles/.config/bspwm/* ~/.config/bspwm/
chmod +x ~/.config/bspwm/{bspwmrc,external_rules.sh}
cp -r ~/dotfiles/.config/sxhkd/* ~/.config/sxhkd/
cp -r ~/dotfiles/.config/X11/* ~/.config/X11/

Packages Overview

Package name Repository Needed for
<++> <++> <++>
<++> <++> <++>

Future plans

<++>