# Hyprland

## Hyprland

{% code overflow="wrap" %}

```bash
# TODO
# i did the following in chroot

sudo pacman -S sddm weston xdg-user-dirs plymouth hyprland kitty firefox dunst pipewire wireplumber pipewire-pulse pavucontrol xdg-desktop-portal-hyprland xdg-desktop-portal-gtk polkit-gnome qt5-wayland qt6-wayland hyprpaper hyprlock nwg-look qt5ct qt6ct waybar wofi rofi-wayland nautilus noto-fonts noto-fonts-emoji noto-fonts-extra noto-fonts-cjk cliphist wl-clipboard grim slurp flatpak

# AUR
wl-clip-persist wlogout auto-cpufreq batsignal poweralertd-git

# commands to run
# within the $HOME directory
xdg-user-dirs-update
sudo systemctl enable sddm.service

# install paru and install above aur packages here

# import dotfiles here

# if on nvidia fix the hyprland.conf env vars

reboot # next install, yolo it all in chroot ig

# atuin login and sync
# install tmux plugins, C-a I
# nwg-look, qt5ct, qt6ct stuff
# copy only after nwg-look
sudo cp -r .icons/. /usr/share/icons
sudo auto-cpufreq —install

# plymouth install
nvim /etc/mkinitcpio.conf
# must be before systemd and crypt
HOOKS=(... plymouth ...)
# change theme
plymouth-set-default-theme -R bgrt #does it need sudo?
cat /etc/plymouth/plymouthd.conf

sudo mkinitcpio -P
# later on look into that smooth transition thing arch wiki talks about. Apparently GDM has it by default.

# install sddm theme
# i use this https://www.pling.com/p/2011322/
# import theme
sudo cp -r where_is_my_sddm_theme/ /usr/share/sddm/themes
sudoedit /usr/lib/sddm/sddm.conf.d/default.conf
```

{% endcode %}

## Paru

```bash
# base-devel is installed already using my installation steps
sudo pacman -S --needed base-devel

cd ~/Downloads
# I use paru.git on main PCs, but paru-bin installs much faster so I use it on VMs
git clone https://aur.archlinux.org/paru-bin.git
cd paru
makepkg -si
```

## Dotfiles

```bash
# Dotfiles (ideally install after Hyprland/DE is installed)
cd ~/
paru -S stow
git clone https://github.com/specarino/dotfiles
cd dotfiles
cat PACKAGES.md
# install all packages from there
rm ~/.zshrc
stow .
# remove any conflicting packages

# refreshes font cache, idk if needed
fc-cache -f -v

# fix bat theme
bat cache --build

# prep the dotfiles repo properly
gh auth login

cd dotfiles
./scripts/init.sh

# ensure all the changes are pushed
git config --global user.email "<email>"
git config --global user.name "<name>"
git add .
git commit -m "updated"
git push

./scripts/update.sh
# if there are updates
git push
```

## To-Do

* Figure out how to login and sync `atuin`.
* Make `nwg-look`, `qt5ct` and `qt6ct` configs.
* Application icon packs and themes for GTK & Qt, store them in dotfiles repo and source them from the above config.
* Maybe use Catppuccin [GTK](https://github.com/catppuccin/gtk) and [Qt](https://github.com/catppuccin/qt5ct) themes for applications.
* Maybe automatically detect NVIDIA and turn the environment values for it in `hyprland.conf` on?
* Hyprlock is laggy on NVIDIA, tested on 1060.
* Switch to `rofi` as `wofi` is unmaintained.

{% code overflow="wrap" %}

```bash
# Interesting stuff to look at

# maybe poweralertd, unsure yet
# https://wiki.hyprland.org/Useful-Utilities/xdg-desktop-portal-hyprland/#share-picker-doesnt-use-the-system-theme
# https://wiki.hyprland.org/Useful-Utilities/Other/#wireless-settings
# https://wiki.hyprland.org/Configuring/Environment-variables/#theming-related-variables
# https://wiki.archlinux.org/title/Hyprland
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.specarino.com/specs-corner/arch/hyprland.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
