For syncing and sharing yet another arch + hyprland configuration
- bash
- neovim
- kitty
- starship
- hyprland
- hypridle
- hyprlauncher
- hyprlock
- hyprpicker
- hyprshutdown
- waybar
- mako
- kvantum
- qt6ct
- slurp
- grim
- wl-clipboard
- libnotify
- hyprpolkitagent
- xdg-desktop-portal-hyprland
- dolphin
- wayscriber
- setup up a base arch install,
- recommended to have
efivarsandsystemdboot networkmanager- make a user account
- recommended to have
- install
yay
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si- install these packages with yay
compositor and desktop
hyprland hypridle hyprlock hyprpaper wofi kitty fastfetch waybar starship
fonts
noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-jetbrains-mono-nerd
text, code, and pdf
neovim fzf zaread zathura-pdf-poppler tree-sitter tree-sitter-grammars
other tools
man stow brightnessctl gnome-keyring nm-connection-editor network-manager-applet pavucontrol pamixer blueman xdg-desktop-portal-hyprland zoxide
customization
kvantum nwg-look
optional apps
qutebrowser nextcloud-client rnote discord thunderbird spotify spicetify-cli tailscale
- download dotfiles
cd ~
mkdir .config # Important for not adding undesireable dotfiles
git clone https://github.com/usymmij/dotfiles
cd dotfiles
git submodule update --init
# copy files to home
cp -r ./* ../ # OPTION 1: copy directly if updates won't be pushed
stow . # OPTION 2: symlink them if updating from this system- by default, this config is configured start once logged in from
tty1without a display manager
- to configure autologin on tty, find
getty@tty1.serviceorgetty@tty1.service.din/etc/systemd/system/or one of its subdirectories, and add to the config the following
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noreset --noclear --autologin username - ${TERM}
- Referenced from the Arch wiki
- add
exec-once = hyprlockto the hyprland config to launch to a locked screen
this section is only related for pushing the dotfiles if you used
stowsome of the configs (system specific) should not be pushed, but also need to exist on the repo as a templatelocal.lua for example will cause a crash on new systems if it doesn't exist after being cloned it needs to exist in the repo, but not on local copies so it can't be gitignored other unsynced configs can simply be gitignored
.config/hypr/local.lua.config/cyclebackground/current_background
- go to the home directory copy of relevant file(s): make a backup elsewhere if they are changed
- delete the symlink (likely a parent directory) and create each directory that leads to the file
- do this for each one
- go back to the
dotfilesrepository folder and runstow- if it fails because changed files exist and you dont want them updated, repeat the above
- otherwise, add
--adoptto copy the changes
- got back to the home directory: delete each symlink for the non-updated files, and replace with a hard copy (your backup)
- the
dotfiles/copy will not be updated anymore
assume-unchanged tells git you haven't changed the file for performance, but shouldn't be exploited in this way if you have changed it
# removing a file
git update-index --assume-unchanged file_name
# adding a file back
git update-index --no-assume-unchanged file_name
# see what files are assumed unchanged
git ls-files -v | grep '^[[:lower:]]'git submodule update --recursive
- under
.config/spicetify/Themes, make sure to install spicetify-themes - make sure that the themes are in the
Themesfolder, not the new one git created - you can use the following commands
cd ~/.config/spicetify/Themes
git clone https://github.com/spicetify/spicetify-themes .- to use the ssh orca alias, add
ORCA_SSH_IP=<ip address>andORCA_SSH_PORT="<port number>"to/etc/environment - then, generate a new ssh key, and store it as
~/.ssh/orca- add
orca.pubto~/.ssh/authorized_keyson the target server
- add
I like the themes made by Eliver Lara
- candy-icons
- Sweet KDE theme (Kvantum)
- Sweet GTK theme
/etc/environment
ORCA_SSH_IP=<ip address>ORCA_SSH_PORT=<port number>
- As of 2025, the steam login webhelper crashes with some GTK theme configurations
- see here
- this only happens to the login webhelper - the workaround was to change the widget, icon, and cursor themes to Adwaita first, then login, then set them back to the custom theme. Autologin works fine.
- install both kvantum and qt6ct, then the theme and icons
- qt6ct-kde sometimes fixes various issues
- unzip the icons in
~/.icons(or/usr/share/.icons/or~/.local/share/.icons)- theme can go anywhere, but I like to match icons
- run kvantum, then install and apply the theme (it wont show until you set qt6ct as well)
- use qt6ct to apply the
kvantumtheme, then the set the right icon theme as well
- this sets the theme for qt6 apps
- to set the same theme for gtk apps, use nwg-look
- set widget theme to Sweet-Gtk
- set candy-icons in
Icon Theme
- these themes can also be quickly installed as
sweet-kvantum-gitcandy-icons-git- the gtk theme from AUR is kinda broken and out of date, I would just install it from git
- SolDoesTech for HyprV2
- this video about GNU stow by DreamsofAutnomy
- kickstart.nvim