- Install the config
- Dependencies
- Neovim
- Fonts
- ZSH
- Screen
- Wallpapers
- VSCode
- Basic shortcuts
- Full dependencies
- Documentation
git clone https://github.com/souli-a/dotfiles.git
cd dotfiles
rm -rf .git
cp -R . ~/
NOTE: Be sure to have git
and nano
or any text editor installed.
To download the needed dependencies, you must uncomment all libraries from the /etc/pacman.conf
file if you haven't done it yet.
Uncomment every libraries at the bottom of the file:
sudo nano /etc/pacman.conf
This should be looking like this for every libraries:
[...]
Include = [...]
Also, you can uncomment ParallelDownloads
(in the same /etc/pacman.conf
file) and put a bigger number if you have a good internet connexion, for example:
ParallelDownloads = 50
Run this to download the dependencies (these one from the official repository):
sudo pacman -S sof-firmware nano git dunst rofi pamixer slurp \
pipewire pipewire-alsa pipewire-pulse pipewire-jack \
wireplumber zsh alacritty polkit polkit-gnome \
libnotify gnome-themes-extra xdg-desktop-portal \
xdg-desktop-portal-gtk xdg-desktop-portal-hyprland \
hyprland neovim typescript ripgrep fd prettier mdformat \
python python-pip eslint stylua man-db xdg-utils \
feh mpv noto-fonts-extra noto-fonts-emoji hyprpaper \
Install yay
if you haven't done it:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Run this to download the dependencies (these ones from the AUR repository):
yay -S waybar-hyprland-git wlr-randr visual-studio-code-bin
Run this for certain needed dependencies:
python3 -m pip install --user --upgrade pynvim
And run this too, to update and install everything in Neovim:
nvim +"lua require('lazy').sync({wait=true}); vim.cmd('qa!')" &&
nvim -c ":TSUpdate" +qa &&
nvim -c ":MasonUpdate" +qa
NOTE: Shortcuts for Neovim are present in configuration files, feel free to explore it.
If you want to use the default font for this custom DE, you will need to run this, in order to scan all the fonts directories and inform the system of the roboto-mono
font folder here ~/.local/share/fonts/roboto-mono/
:
fc-cache
In the ~/.zshrc
file there are 2 things activated:
- A zsh theme.
- A history search plugin.
If you want to use them, you need to install them by executing this:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.config/zsh/powerlevel10k/
git clone --depth=1 https://github.com/zsh-users/zsh-history-substring-search.git ~/.config/zsh/zsh-history-substring-search/
After this, you will run this to use zsh
as the default shell:
chsh -s /usr/bin/zsh
And to reload the zsh
configuration from the ~/.zshrc
file, run this:
source ~/.zshrc
My screen name for Wayland is HDMI-A-2
so I put it in ~/.config/hypr/hyprpaper.conf
and ~/.config/hypr/hyprland.conf
.
If your screen name is different, you need to change it in these two files, hyprpaper.conf
and hypr.conf
.
This is the command to know your screen name (be sure to have wlr-randr
installed):
wlr-randr | grep "VGA\|HDMI\|DisplayPort\|DVI"
To change the wallpaper, you just need to change the directory where you store the wallpapers in ~/.config/hypr/hyprpaper.conf
:
nano ~/.config/hypr/hyprpaper.conf
preload = ~/<the-path-of-your-wallpaper>
wallpaper = HDMI-A-2,~/<the-path-of-your-wallpaper>
For the VSCode theming and options related to ~/.config/Code/User/settings.json
, install this (icons theme) and this (color theme).
-
Shutdown the PC:
SUPER + SHIFT + PARENRIGHT
-
Reboot the PC:
SUPER + SHIFT + EQUAL
. -
Launch Alacritty (terminal):
SUPER + G
. -
Launch Rofi (search apps):
SUPER + A
. -
Launch VSCode:
SUPER + E
. -
Launch Google Chrome:
SUPER + D
. -
Put the window in fullscreen:
SUPER + SHIFT + F
. -
Kill the window (close):
SUPER + SPACE
.
You can edit and see all the Hyprland shortcuts in the ~/.config/hypr/hyprland.conf
file.
You can also modify you keyboard layout in hyprland.conf
.
NOTE: Don't install it if you don't know what you are doing.
This is my full Arch installation dependencies:
# AUR repository
pnpm anki google-chrome waybar-hyprland-git wlr-randr visual-studio-code-bin
# Official repository
ntfs-3g ffmpeg4.4 dunst rofi mesa lib32-mesa pamixer \
htop slurp qt5-wayland qt6-wayland obsidian otf-opendyslexic-nerd \
pipewire pipewire-alsa pipewire-pulse pipewire-jack \
wireplumber nodejs zsh alacritty polkit polkit-gnome \
libnotify gammastep gnome-themes-extra xdg-desktop-portal \
xdg-desktop-portal-gtk xdg-desktop-portal-hyprland \
hyprland neovim mdformat prettier typescript ripgrep fd eslint stylua \
python python-pip wl-clipboard \
man-db nnn xdg-utils feh yt-dlp mpv gnu-free-fonts \
noto-fonts-extra noto-fonts-emoji thunar hyprpaper tree \
base linux-zen linux-firmware sof-firmware base-devel \
efibootmgr nano intel-ucode git
For all the specific options present in each tool configuration, please consult the corresponding documentation.