Symlinks configs into ~/.config, ~/.local/bin and ~. Existing real
(non-symlink) files are left untouched — make will refuse and ask you to
move them away first.
git clone --recursive https://github.com/ch3sh1r/dotfiles ~/.local/dotfiles
cd ~/.local/dotfiles
makeFish plugins (fisher, z) are not committed. Install them from
fish/fish_plugins with:
make fish-pluginsSee the Quickshell guide for component ownership, IPC commands, persisted state and checks when changing the shell.
Restore and select the bundled NeuroDance-Dracula theme:
make cursormake includes make cursor: it copies the ready-to-use theme from
icons/NeuroDance-Dracula to ~/.local/share/icons/NeuroDance-Dracula, then
sets size 24 in GTK 3/4 and GSettings, and fixes the user default theme's
inheritance. Other GTK settings are preserved; changed INI files get numbered
.before-cursor backups. Python 3 is required; restoration works offline without
the original theme or Git commands. Identical existing installations are reused;
different existing themes at the destination are left untouched.
Original cursor theme: v1ewport (viewport), NEURODANCE-CURSOR. Original concept art: Anna Kuźmińska, as credited by upstream. This local variant changes the colors to the Dracula palette; the original cursor designs are by their respective authors.
The Dracula variant replaces the main red accent with purple (#bd93f9), maps
neutral details to the background/foreground palette, and uses Dracula accents
for other semantic hues. The native XCursor transform preserves alpha, all frame
headers, sizes, hotspots, and animation delays. The original theme is retained.
Log out and back in after installation so UWSM services and existing apps receive
XCURSOR_THEME=NeuroDance-Dracula. Hyprland uses the same XCursor assets as clients.
The compositor keeps hardware cursors with cursor.use_cpu_buffer = 1 as a
workaround to test on Intel + AMD displays. This is not yet a visually confirmed
fix: verify repeated crossings between displays at scales 1 and 1.5, including
pointer/text shape changes, and check for black squares or flashing duplicates.
If the square persists, temporarily test cursor.no_hardware_cursors = 1 and
check for the previously observed software-cursor duplicate before saving it.
Links should use the shape requested by the application: a theme changes the images, not browser CSS or terminal link-detection rules. Check a reproducible case in the affected app if a text cursor still appears over a clickable link.
greetd starts Hyprland through UWSM. Apply the setup from this directory:
sudo pacman -S --needed uwsm
make uwsm
systemctl --user daemon-reload
systemctl --user enable voxtype.service
sudo cp --backup=numbered -p /etc/greetd/config.toml /etc/greetd/config.toml.before-uwsm
sudoedit /etc/greetd/config.tomlUse the following system config in /etc/greetd/config.toml:
[terminal]
vt = 1
[initial_session]
command = "/usr/bin/uwsm start -- hyprland.desktop"
user = "ch3sh1r"
[default_session]
command = "agreety --cmd '/usr/bin/uwsm start -- hyprland.desktop'"
user = "greeter"This preserves autologin for ch3sh1r; change the username for another account.
Save your work and reboot after the initial setup to use UWSM.
Autostart programs, application shortcuts and the Quickshell launcher use
uwsm app.
After login, check:
systemctl --user status graphical-session.target wayland-wm@hyprland.desktop.service voxtype.serviceTo restore direct startup,
copy /etc/greetd/config.toml.before-uwsm back to /etc/greetd/config.toml
with sudo, then reboot.
Voxtype transcribes locally and copies the result to the Wayland clipboard.
Install voxtype-bin (listed in gpd-p3.list) and download the multilingual
Whisper model with voxtype setup --download --model small. Download
large-v3-turbo the same way for higher-accuracy dictation. UWSM activates
graphical-session.target, which starts the enabled packaged user service:
systemctl --user enable --now voxtype.serviceRussian is fixed as the recognition language. Press Super+D to toggle fast
dictation (small), or Super+Shift+D
to toggle higher-accuracy dictation (large-v3-turbo). Use the same shortcut
to stop the recording. Review the result, then paste it into Codex in Alacritty
with Ctrl+Shift+V. Quickshell keeps a red recording timer or an amber speech
recognition indicator on screen until that phase finishes.
Super+V opens the existing clipboard history if you need an earlier result.