- Dependencies
- Installing the dependecies
- Clone the dotfiles
- Sytem fonts and theme
- Set up Basic components of de
The following packages are needed:
- python
- i3
- xautolock
- NetworkManager
- pulseaudio
- pavucontrol
- emacs
- alacritty
- qutebrowser
- pcmanfm
- i3blocks
- i3lock-fancy-rapid
- light
- playerctl
- blueman
- nitrogen
- picom
- albert
- xf86-input-synaptics(not available for fedora)
- rclone
- acpi
- dunst
- xkblayout-state-git
- xprop
- xset
- scrot
- git
- isync
- mupdf
- maildir-utils
- libtool
- mpv
- fonts
Run the following as root. Replace dnf install with the package manager command of the distro in use.
# run this as sudo
dnf install i3 python xautolock NetworkManager pulseaudio pavucontrol emacs alacritty qutebrowser pcmanfm i3blocks light playerctl blueman nitrogen picom albert rclone acpi dunst xprop xset scrot git mupdf isync mu4e libtool libvterm mpv
To install xkblayout run the following as root
git clone https://github.com/nonpop/xkblayout-state
cd xkblayout-state
make
cp ~/xkblayout-state/xkblayout-state /usr/bin/xkblayout-state
To install albert launcher follow the instructions on their webpage
Using a git bare repositoriy, so that I will be able to manage dotfiles more easily. More on this here: The best way to store your dotfiles
#!/bin/bash
#create the directory to host the bare repostitory
mkdir .dotfiles
#
echo "alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'" >> .bashrc
git clone --bare https://github.com/PKpers/dotfiles $HOME/.dotfiles
function config {
/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME $@
}
mkdir -p .config-backup
config checkout
if [ $? = 0 ]; then
echo "Checked out config.";
else
echo "Backing up pre-existing dot files.";
config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} .config-backup/{}
fi;
config checkout
config config status.showUntrackedFiles no
Fonts folder is in the repo so when the config-install script runs, fonts are downloaded and placed in the correct path.
System, icons and cursor themes are configured in ~/.config/gtk-3.0/settings.ini . Once the dotfiles repo is cloned, one has to just install the fonts so that setttings.ini can read them:
cd ~
#System theme installation
mkdir ~/.local/share/themes
git clone https://github.com/dracula/gtk ~/.themes/dracula-theme
#Icon theme installation
wget -qO- https://git.io/papirus-icon-theme-install | DESTDIR="$HOME/.icons" sh
mv ~/.icons ~/.local/share/icons
#install the cursor theme
cd ~/.themes/dracula-theme/kde/cursors/
chmod a+x build.sh
./build.sh
cp Dracula-cursors ~/.local/share/.icons/
To install the service do the following, Not as root:
cd ~
cp ~/services/emacs.service ~/.config/systemd/user/emacs.service
systemctl enable --user emacs
systemctl start --user emacs
More about emacs service: Emacs as Daemon
To install the packages that are not in melpa, simply do:
cd ~/.emacs.d
git clone https://github.com/crocket/dired-single
git clone https://github.com/emacs-evil/evil-collection
git clone https://github.com/org-mime/org-mime
script that sets mu4e up. More about mu4e can be found here: Emacs-mail
#Prepare the enviroment
cd ~
echo "Please enter your email address"
read email
echo "please enter you email password"
read password
echo "$password" >> ~/.pswd #put password to this folder so mbsync can read it
mkdir -p ~/Mail/Gmail/Inbox #Create the directories where the mail will be stored
#Start the initial sync
mbsync -a
#Setting up mu to index the mailbox
mu init --maildir=~/Mail --my-address="$email"
mu index
git clone https://github.com/dracula/qutebrowser-dracula-theme.git ~/.config/qutebrowser/dracula/
echo ".config/qutebrowser/dracula/" >> .gitignore #dracula is a git repository