This is a collection of configuration files for my Arch installation.
Clone this repository with git and follow the guide below.
My go-to choice is Hyprland. Before setting up the window manager, install some fonts to avoid issues.
$ sudo pacman -S ttf-dejavu ttf-liberation noto-fonts noto-fonts-cjk ttf-font-awesomeI also use some custom fonts, but these can be installed later:
- Mononoki (Nerd Font)
- apple-fonts-ttf (AUR)
- ttf-segoe-ui (AUR)
First, install Hyprland and some other tools for suspending, locking, screenshots, etc. and its dependencies.
# Terminal
$ sudo pacman -S kitty
# Hyprland
$ sudo pacman -S hyprland hypridle hyprlock hyprshot hyprutils hyprpolkitagent waybar qt5-wayland qt6-wayland xdg-desktop-portal-hyprland qt5-graphicaleffects qt5-quickcontrols2
# Clipboard tools
$ sudo pacman -S wl-clipboard cliphistYou can now login into Hyprland and stow more configs.
I suggest to start editing ~/.config/hyprland/hyprland.conf to your liking, in case you need to setup different monitors, input devices, etc.
Warning
To avoid having weird issues with text display, make sure to install the fonts mentioned above.
Make sure you have stow installed beforehand.
Head over to the root of the repository, you can see different config folders for my setup.
If you want to copy the configuration for Hyprland for instance, run:
stow hypr-laptopThis will create the symlinks to my Hyprland's settings.
I use Gnome's Nautilus file explorer. I also install the following to render thumbnails correctly.
sudo pacman -S ffmpegthumbnailer gst-libav gst-plugins-ugly ffmpeg-audio-thumbnailerTo setup wallpapers, install swww.
$ sudo pacman -S swwwI use Pipewire for audio. Refer to the installation guide for setup details.
$ sudo pacman -S pipewire pipewire-audio pipewire-pulse pipewire-alsa pipewire-jackTo add control via CLI or GUI install pamixer andpavucontrol respectively.
$ sudo pacman -S pavucontrol pamixerInstalling and rebooting should be enough to get audio working.
I use EasyEffects.
I've also included some presets in the extra-config folder.
To apply the presets, move them to ~/.config/easyeffects/output and select them in the EasyEffects GUI.
For equalizer effects to work, install EasyEffects and the required plugins:
$ sudo pacman -S easyeffects calf lsp-pluginsTo control the brightness of the screen, you can use brightnessctl.
You can also install wlsunset to control the color temperature of your screen.
$ sudo pacman -S brightnessctl wlsunsetwlsunset is setup in Hyprland's config file. You can change the location and the color temperature to your liking.
Personally I like to use Orchis Purple Dark as my GTK theme.\
$ yay -S orchis-theme-git
I use hyprlock to lock the session. My configuration automatically invokes hyprlock when returning from a suspend.
$ sudo pacman -S hyprlockI use bluez and blueman to manage bluetooth devices.
$ sudo pacman -S bluez blueman
$ sudo systemctl enable bluetooth.serviceI use Plymouth as my boot screen.
Rofi is a program launcher just like MacOS's Spotlight.
Also install some icons so it looks better with the config.
You can install it with:
$ sudo pacman -S rofi papirus-icon-themeI use swayosd to show my current volume and caps lock status.
To avoid all the hassle of building and installing packages from the AUR, I suggest to install yay to simplify those tasks.
Install the necessary tools for building packages and then clone the yay git repo.
$ sudo pacman -S base-devel
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -siEasily control the network with an applet.
$ sudo pacman -S network-manager-appletWith Hyprland no further notification setup is needed aside from installing a notification daemon.
sudo pacman -S swayncI use zsh as my shell and oh-my-zsh as my configuration manager.
My selected theme is gnzh.
To install zsh and oh-my-zsh:
$ sudo pacman -S zsh
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Install the zsh-autosuggestions, zsh-syntax-highlighting and zsh-shift-select plugins.\
$ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
$ git clone https://github.com/jirutka/zsh-shift-select.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-shift-selectBelow is the rest of programs that I use that don't need detailed explanation or configuration.
| Software | Description |
|---|---|
| Less | Pager for Git and Arch journal |
| visual-studio-code-bin (AUR) | Propietary VsCode (for extension sync support) |
| spotify (AUR) | ¯_(ツ)_/¯ |
| Discord | Chat |
| NeoVim | Text editor |
| Firefox | Web browser |
| gnome-text-editor | Simple graphical text editor |
| obs-studio (Flatpak) | Screen recording |
| Droidcam OBS Plugin (Flatpak) | Android camera plugin for OBS |
| btop | System monitor |
| cmatrix | Matrix screensaver |
| gnome-calculator | Calculator |
| filelight | Disk usage analyzer |
| evince | PDF viewer |
| 7zip | 7zip |
| Loupe | Image Viewer |
| dbvis | Database Visualizer Tool |
| bleachbit | System Cleaner |
| nmap | Network Scanner |
| tcpdump | Network Analyzer |
| netcat | Network Utility |