NOTE!!
Many of the config files in this repository are originally from Derek Taylor's Gitlab Also known as DistroTube
These are the links to his work
For the xmonad installation guide, It's from Brian Buccola
This is the original article
I spent so much time looking for answers and trying to make things work in xmonad, so this is a guide to help you get the same outcome I got but whitout getting frustrated!!
Even thought I've done this on Arch
some of the steps will stay the same on other Linux Distributions
Enjoy the last result!!
Install all my needed and favourite apps
Terminals
1.alacritty
2.kitty
File explorer
1.ranger
Deps: w3m, uberzug
2.pcmanfm
Text editor
1.neovim
2.vim
3.gedit
IDE
1.visual-studio-code
2.visual-studio-code-insiders
Shells
1.bash
2.fish
3.zsh
Browsers
1.firefox
2.brave
3.surf
4.qutebrowser
Video Editors
1.kdenlive
2.openshot
3.davinci resolve
- Screenshot utility: scrot
- ScreenLock utility: i3lock-fancy
(or just
i3lock
with an image, it loads faster that way and you make it look the same asi3lock-fancy
just check the official repo for more details on that) - Music player: mocp (terminal based)
- AudioVisualizer: cli-visualizer (terminal based)
System ressources monitor
1.htop
2.gotop
Fonts
1.ttf-ubuntu-font-family
2.otf-fontawesome-5-free
3.ttf-open-sauce-sans
4.ttf-mononoki
5.adobe-source-code-pro-fonts
6.nerd-fonts-mononoki
7.ttf-arabeyes-fonts
8.ttf-amiri
Video player
1.mpv
2.vlc
- PDF reader: evince
- ClipBoard Manager: copyq
Office suite
1.WPS Office
2.LibreOffice
Tools
1.tmux
2.arch-wiki-docs
3.x-on-resize
4.blueman
5.xdg-user-dirs
6.xdotool
7.git
8.paru
9.yay
10.python-pip
11.python2-pip
12.xclip
13.xsel
14.devour
15.shell-color-scripts
16.conky
17.doas
18.lsd
19.bat
20.jp2a
21.figlet
22.lolcat
23.neofetch
24.cowsay
25.tldr
26.tty-clock
27.pipes-rs
28.cmake
29.ninja
30.clang
31.pkgconf
32.base-devel
33.jq
34.zsh-syntax-highlighting
35.zsh-autosuggestions-git
LaTeX
1.texlive-most
2.texlive-lang
3.biber
Xmonad
1.trayer
2.volumeicon
3.pavucontrol
4.pulseaudio
5.lxappearance
6.nitrogen
7.compton
8.dmenu
9.rofi
Apps
1.telegram-desktop
2.discord
3.lightcord
4.blender
5.inkscape
6.gimp
7.krita
8.github-desktop
9.code
10.code-insiders
11.eclipse
12.atom
13.godot
Programming Languages
1.dart/flutter
2.rust
To install the above packages follow the steps below
You might face some errors even if you're following the exact steps here. If you do check the ERRORS guide where I have solution to some common erros.
Clone this repo to your home direcotory using this command (IMPORTANT because all the commands in the steps will only work if you clone it in $HOME)
git clone https://github.com/black-purple/arch-xmonad-setup
To install the packages in the official repos use the following command:
sudo pacman -Syyu --needed dunst jq openshot copyq kitty arch-wiki-docs arch-wiki-lite pavucontrol pulseaudio lxappearance blueman tmux xsel xclip python-pip python2-pip ttf-ubuntu-font-family scrot curl wget base-devel cmake ninja pkgconf clang alacritty ranger w3m ueberzug neovim fish firefox chromium qutebrowser doas vlc mpv texlive-most texlive-lang biber xdg-user-dirs git xdotool lsd bat figlet lolcat neofetch cowsay tldr telegram-desktop discord libreoffice blender inkscape gimp krita atom godot evince rust
To install packages from the aur use the following command:
NOTE!!
If you don't have an aur helper I suggest you use one.
I personally use yay so this is the command I'm using.
yay eclipse-java-bin i3lock-fancy-git gotop jp2a wps-office shell-color-scripts visual-studio-code-bin tty-clock visual-studio-code-insiders-bin pipes-rs github-desktop otf-fontawesome-5-free ttf-open-sauce-sans ttf-mononoki adobe-source-code-pro-fonts ttf-arabeyes-fonts ttf-amiri nerd-fonts-mononoki devour shell-color-scripts zsh-syntax-highlighting zsh-autosuggestions-git
If you want to install yay use this chain of commands:
cd /tmp; git clone https://aur.archlinux.org/yay-git.git; cd yay-git; makepkg -si
Change the dir names for my user dirs (Desktop, Downloads, Pictures...) to shorter lowercase names (dt, dls, pcs...) for quick access in the terminal.
nvim ~/.config/user-dirs.dirs
You can install Xmonad, Xmonad-contrib and Xmobar from the official repos by using this commad
sudo pacman -Sy --needed xmonad xmonad-contrib xmobar
But if you want to build Xmonad with some specific flags, follow the steps here from Brian Buccula's blog.
Install starship prompt using their script
sh -c "$(curl -fsSL https://starship.rs/install.sh)"
Add the appropriate line to your shell's config file
- bash
# ~/.bashrc eval "$(starship init bash)"
- fish
# ~/.config/fish/config.fish starship init fish | source
- zsh
# ~/.zshrc eval "$(starship init zsh)"
Run the following commad for Vim
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Run the following command for Neovim
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
These commads are taken from the official repo of vim plug
Clone the repo to your home directory
cd; git clone https://github.com/black-purple/arch-xmoand-setup
Copy the config files each to it's appropriate location
- xmonad
rm ~/.xmonad/xmonad.hs cp ~/dotfiles/configs/xmonad.hs ~/.xmonad/xmonad.hs cp -r ~/dotfiles/xpm/ ~/.xmonad
- xmobar
rm ~/.config/xmobar/xmobarrc cp ~/dotfiles/configs/xmobarrc ~/.config/xmobar/xmobarrc
- rofi
rm -rf ~/.config/rofi cp -r ~/dotfiles/configs/rofi/ ~/.config/
- neovim
rm ~/.config/nvim/init.vim cp ~/dotfiles/configs/init.vim ~/.config/nvim/init.vim
After copying the config files run this command :PlugInstall
If you face an issue with neovim plugins check the solution in ERRORS.md
- vim
rm ~/.vimrc cp ~/dotfiles/configs/vimrc ~/.vimrc
- alacritty
rm ~/.config/alacritty/alacritty.yml cp ~/dotfiles/configs/alacritty.yml ~/.config/alacritty/alacritty.yml
- fish
rm -rf ~/.config/fish cp -r ~/dotfiles/configs/fish/ ~/.config/
- ranger
rm -rf ~/.config/ranger cp -r ~/dotfiles/configs/ranger/ ~/.config/
- conky
rm -rf ~/.config/conky/ cp -r ~/dotfiles/configs/conky ~/.config/
- tmux
You have to install Tmux Plugin Manager (TPM) in order for this config to work for you.
cp ~/dotfiles/configs/tmux.config ~/.tmux.config
After copying this config file go inside of tmux and use this keyboard shortcut to install the basic tmux theme.
Ctrl a + I (capital)
You can find other themes on github here.
I took the theming from devianart
The creater is Khiky Merveilles
This is the post on devianart
Follow the inscructions there and copy the config files here to have the look in the screenshots
Install flutter by cloning the official repo from github
git clone https://github.com/flutter/flutter.git
Then add the flutter directory to you PATH
Run this command to see if flutter is working fine (it might take some time to download some files)
flutter doctor
You will have some erros concerning Android Studio and Android SDK
Android Studio will install all the needed packages for android developpement including Android SDK.
So to install Android Studio you have three options.
Here I used paru, but you can use whatever AUR helper you feel confortable with
paru -S android-studio
Run this command to make sure that snap is installed. If it's not istalled it will install it for you.
sudo pacman -Sy --needed snapd
To install Android Studio using snap, use this command
snap install android-studio --classic
Download the archive from the official website.
Go to ~/Downloads
and extract the archive.
cd into ~/Downloads/android-studio/
Then open the file Install-Linux-tar.txt and follow the instructions there to install Android Studio
Rerun this command to insure that everything is okay
flutter doctor -v
If you face an error when trying to accept the android licenses
consider checking ERRORS.md
IMPORTANT!!
When done with all the errors you might want to run this command to download some needed packages for Flutter developpement (optional)
flutter precache
If you want to enable desktop support in Flutter use this command
flutter config --enable-linux-desktop
Run flutter doctor again to see if you need any other packages to make apps for Linux / Windows / Mac.
On Linux
you'll need ninja, cmake, clang, pkg-config
You can install them with this command
sudo pacman -S --needed ninja clang cmake pkgconf
- Derek Taylor
- Brian Buccola
- Khiky Merveilles
- Edoardo Vignati