Skip to content

rxtsel/.dot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My setup for Arch Linux with Hyprland, Waybar, Ghostty, and other tools. This setup is based on solarized-dark colors.

Indice

Gallery

desktop1

desktop2

Click here for more photos

desktop3

desktop4

Project Structure

.
├── install.sh
├── README.md
├── .config/
│   ├── gammastep/
│   ├── ghostty/
│   ├── helix/
│   ├── hypr/
│   ├── lazygit/
│   ├── swaync/
│   ├── waybar/
│   ├── wlogout/
│   ├── wofi/
│   ├── yazi/
│   ├── zed/
│   └── zellij/
├── utils/
├── wallpapers/
├── .zprofile
└── .zshrc

Installation

There are two ways to install this setup:

  1. Clone the repository:

    sudo pacman -S git &&
    git clone https://github.com/rxtsel/.dot.git ~/.dot

Option 1: Automatic Installation (Recommended)

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

Option 2: Manual Installation

Follow the steps below to install manually:

1. Install AUR helper (paru or yay)

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

2. Install dependencies

  1. 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
  2. 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
  3. 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

3. Oh-my-zsh

  1. Install Oh-my-zsh:

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  2. Exit the terminal and open it again. Oh-my-zsh will ask if she wants to have zsh by default, you say yes.

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

4. Create symlinks for configurations

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

5. Icons and Cursor Theme (optional)

Install Mkos-Big-Sur Icon Theme

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/

Install macOS Cursor Theme

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

6. Utils for development (optional)

  1. Install fnm node version manager:

    curl -fsSL https://fnm.vercel.app/install | zsh &&
    export PATH="/home/rxtsel/.local/share/fnm:$PATH"
    eval "`fnm env`"
  2. Install a node version:

    # list node versions remote
    fnm list-remote
    
    # install node version
    fnm install <your_version>
  3. Install fast package manager:

    npm i -g @antfu/ni
  4. Install cz-cli globally:

    npm install -g commitizen cz-conventional-changelog &&
    echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
  5. 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.