After minimal Arch linux setup, then
My setup for Arch Linux with Hyprland, Waybar, Ghostty, and other tools. This setup is based on solarized-dark colors.
- Gallery
- Project Structure
- Installation
- 1. Install AUR helper (paru or yay)
- 2. Install dependencies
- 3. Oh-my-zsh
- 4. Create symlinks for configurations
- 5. Icons and Cursor Theme (optional)
- 6. Utils for development (optional)
- 7. Darkman (optional)
- 8. rEFInd (optional)
.
├── install.sh
├── README.md
├── .config/
│ ├── gammastep/
│ ├── ghostty/
│ ├── helix/
│ ├── hypr/
│ ├── lazygit/
│ ├── swaync/
│ ├── waybar/
│ ├── wlogout/
│ ├── wofi/
│ ├── yazi/
│ ├── zed/
│ └── zellij/
├── utils/
├── wallpapers/
├── .zprofile
└── .zshrc
There are two ways to install this setup:
-
Clone the repository:
sudo pacman -S git && git clone https://github.com/rxtsel/.dot.git ~/.dot
-
Make the install script executable and run it:
chmod +x ~/.dot/install.sh && ~/.dot/install.sh
The script will guide you through the installation process and ask for your preferences on optional components.
Follow the steps below to install manually:
You have 2 options to install an AUR helper:
-
Paru:
sudo pacman -S --needed base-devel git clone https://aur.archlinux.org/paru.git cd paru makepkg -si
-
Yay:
sudo pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si
-
Pacman packages:
sudo pacman -Syyu --noconfirm git neovim qt5-wayland qt6-wayland slurp wofi grim hyprland \ polkit-gnome swaync ghostty xdg-desktop-portal-hyprland chromium yazi fd \ mpv nautilus ark bluez bluez-utils ripgrep wl-clipboard pavucontrol unzip libnotify fuse2 \ 7zip zsh imagemagick feh bat exa fzf thunderbird bluetui wget tree btop macchina lazygit waybar \ gst-plugin-pipewire libpipewire pipewire pipewire-alsa pipewire-audio pipewire-jack pipewire-pulse discord aichat \ darkman xdg-desktop-portal-gtk nwg-look gnome-keyring libsecret ntfs-3g \ hyprpicker zoxide hyprlock
-
Fonts for emoji support:
sudo pacman -S noto-fonts noto-fonts-emoji unicode-emoji ttf-cascadia-code-nerd ttf-nerd-fonts-symbols ttf-font-awesome powerline-fonts --noconfirm
-
AUR packages:
paru -S swww gammastep wlr-randr brave-bin ttf-twemoji-color wlogout otf-san-francisco rust-analyzer-git crush-bin # Or yay -S swww gammastep wlr-randr brave-bin ttf-twemoji-color wlogout otf-san-francisco crush-bin
-
Install Oh-my-zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
-
Exit the terminal and open it again. Oh-my-zsh will ask if she wants to have zsh by default, you say
yes
. -
Install plugins:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions && git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
If a folder exists, it is deleted before create symlinks.
Note: Only base configurations are included. You can add more configurations if you want. With
ln -s
command.
[ -f ~/.zshrc ] && rm -f ~/.zshrc
[ -f ~/.zprofile ] && rm -f ~/.zprofile
[ -d ~/.config/gammastep ] && rm -rf ~/.config/gammastep
[ -d ~/.config/ghostty ] && rm -rf ~/.config/ghostty
[ -d ~/.config/hypr ] && rm -rf ~/.config/hypr
[ -d ~/.config/lazygit ] && rm -rf ~/.config/lazygit
[ -d ~/.config/swaync ] && rm -rf ~/.config/swaync
[ -d ~/.config/waybar ] && rm -rf ~/.config/waybar
[ -d ~/.config/wlogout ] && rm -rf ~/.config/wlogout
[ -d ~/.config/wofi ] && rm -rf ~/.config/wofi
[ -d ~/.config/yazi ] && rm -rf ~/.config/yazi
[ -d ~/.config/zellij ] && rm -rf ~/.config/zellij
[ -d ~/.config/uwsm ] && rm -rf ~/.config/uwsm
ln -s ~/.dot/.zshrc ~/.zshrc &&
ln -s ~/.dot/.zprofile ~/.zprofile &&
ln -s ~/.dot/.config/{gammastep,ghostty,hypr,lazygit,swaync,waybar,wlogout,wofi,yazi,zellij,uwsm} ~/.config
Download and install the macOS-style icon theme:
cd ~/Downloads/ &&
ICON_VERSION=$(curl -s https://api.github.com/repos/zayronxio/Mkos-Big-Sur/releases/latest | grep -Po '"tag_name": "\K.*?(?=")') &&
wget https://github.com/zayronxio/Mkos-Big-Sur/releases/download/$ICON_VERSION/Mkos-Big-Sur.tar.xz &&
7z x ~/Downloads/Mkos-Big-Sur.tar.xz &&
7z x ~/Downloads/Mkos-Big-Sur.tar &&
mkdir -p ~/.icons &&
rm -rf ~/Downloads/Mkos-Big-Sur.tar ~/Downloads/Mkos-Big-Sur.tar.xz &&
sudo mv ~/Downloads/Mkos-Big-Sur* ~/.icons/
Download and install the macOS cursor theme:
cd ~/Downloads/ &&
CURSOR_VERSION=$(curl -s https://api.github.com/repos/ful1e5/apple_cursor/releases/latest | grep -Po '"tag_name": "\K.*?(?=")') &&
wget https://github.com/ful1e5/apple_cursor/releases/download/$CURSOR_VERSION/macOS.tar.xz &&
7z x ~/Downloads/macOS.tar.xz &&
7z x ~/Downloads/macOS.tar &&
mkdir -p ~/.icons &&
rm -rf ~/Downloads/macOS.tar ~/Downloads/macOS.tar.xz &&
mv ~/Downloads/macOS* ~/.icons/
Note
The cursor theme environment variables are already configured in the UWSM configuration (~/.config/uwsm/env
):
# `env-hyprland` file
env = HYPRCURSOR_THEME,macOS
env = HYPRCURSOR_SIZE,24
# `env` file
env = XCURSOR_THEME,macOS
env = XCURSOR_SIZE,24
-
Install fnm node version manager:
curl -fsSL https://fnm.vercel.app/install | zsh && export PATH="/home/rxtsel/.local/share/fnm:$PATH" eval "`fnm env`"
-
Install a node version:
# list node versions remote fnm list-remote # install node version fnm install <your_version>
-
Install fast package manager:
npm i -g @antfu/ni
-
Install
cz-cli
globally:npm install -g commitizen cz-conventional-changelog && echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
-
Install Docker (optional):
sudo pacman -S docker && sudo systemctl enable docker.service && sudo usermod -aG docker $(whoami) &&
7. Darkman (optional)
Darkman is a tool for automatically switching between light and dark modes on Linux. It works by calculating sunrise and sunset times based on your geographical location to automatically change system themes. Key features include:
- Automatic light/dark mode switching based on time of day
- Manual toggle support with
darkman toggle
command - Integration with GTK themes and desktop portals
- Configurable based on geographical coordinates
For detailed installation instructions, configuration, and setup, please refer to the Darkman documentation.
8. rEFInd (optional)
rEFInd is more customizable than GRUB or systemd-boot; for example, you can change the theme, add icons, etc. It also allows the use of a mouse or touchpad, which is very useful when you have a wireless keyboard. Some features include:
- More customizable interface
- Ability to change themes and add icons
- Option to use mouse or touchpad
- Automatic detection of other operating systems, useful for multiboot setups
For detailed installation instructions, theme customization, and configuration, please refer to the rEFInd documentation.