Skip to content

souli-a/dotfiles

Repository files navigation

Preview

preview

Table of contents

Install the config

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.

Dependencies

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

Neovim

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.

Fonts

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

ZSH

In the ~/.zshrc file there are 2 things activated:

  1. A zsh theme.
  2. 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

Screen

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"

Wallpapers

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>

VSCode

For the VSCode theming and options related to ~/.config/Code/User/settings.json, install this (icons theme) and this (color theme).

Basic shortcuts

  • 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.

Full dependencies

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

Documentation

For all the specific options present in each tool configuration, please consult the corresponding documentation.