sudo pacman -S --noconfirm \
# Window Managers & Core Utils
qtile xmonad xmonad-contrib xmobar xdotool \
# System & Utilities
pacman-contrib trayer picom scrot nitrogen python-psutil dconf-editor dunst pasystray \
# Theming & Appearance
papirus-icon-theme gnome-themes-extra breeze-gtk breeze gnome-tweaks lxappearance \
# Terminal & Shell
zsh zsh-autocomplete zsh-autosuggestions zsh-syntax-highlighting \
# Clipboard & File Management (ranger)
xclip copyq ueberzugpp ffmpegthumbnailer poppler \
# Fonts & Emojis
noto-fonts-emoji rofi-emoji \
# Bluetooth
bluez bluez-utils blueman \
# Keyring
gnome-keyring seahorseyay -S --noconfirm pwvucontrol arc-gtk-themeIf you can see my nvim config, go here.
Install the Astronaut theme following the automated configuration here.
1- Cursor for SDDM
To set a custom cursor theme for SDDM:
-
Navigate to
/usr/share/icons/defaultand edit theindex.themefile:[Icon Theme] Inherits=<your_theme> CursorTheme=True -
To change the cursor size, edit the SDDM configuration file located at
/etc/sddm.conf:[Theme] Current=sddm-astronaut-theme [General] CursorTheme=<your_theme> CursorSize=64
Note
Keep in mind that some cursor themes may only support specific sizes or include only one predefined size.
-
Restart SDDM for the changes to take effect:
sudo systemctl restart sddm
2- Cursor for All Applications (Browser, Terminal, etc.)
To apply the cursor theme system-wide:
-
Edit (or create) the file
~/.gtkrc-2.0:include "/home/a1nz/.gtkrc-2.0.mine" gtk-theme-name="Arc-Dark" gtk-icon-theme-name="Papirus-Dark" gtk-font-name="Cantarell 11" gtk-cursor-theme-name="Kafka" gtk-cursor-theme-size=64 -
Alternatively, you can use
lxappearanceto configure cursor settings via a GUI:sudo pacman -S lxappearance
3- Cursor Settings for X with xsetroot
-
Install the necessary packages:
sudo pacman -S xorg-xinit xorg-xsetroot
-
Create the file
~/.Xresourceswith the following content:Xcursor.theme: Your-Theme Xcursor.size: 64 -
Create or edit
~/.xprofileand add:# Screens hdmi=$(xrandr | grep ' connected' | grep 'HDMI' | awk '{print $1}') if [ "$hdmi" = "HDMI-1" ]; then xrandr \ --output DP-0 --primary --mode 3440x1440 \ --output HDMI-1 --mode 3840x2160 & else xrandr \ --output DP-0 --primary --mode 3440x1440 \ --output HDMI-1 --off \ --output eDP-1 --off & fi
sh install_fonts.shTo list all installed Nerd Font families recognized by your system:
fc-list | grep "Nerd Font" | cut -d: -f2 | sort -uor you can use font manager
sudo pacman -S font-managerGive execute permissions to local scripts:
chmod +x ~/.local/bin/*
chmod +x ~/xmobar/trayer-padding-icon.sh- Install Zsh and plugins:
sudo pacman -S zsh zsh-autosuggestions zsh-syntax-highlighting zsh-autocomplete- Change default shell for user and root:
sudo usermod --shell /usr/bin/zsh a1nz
sudo usermod --shell /usr/bin/zsh root- Link root's zshrc to user configuration:
sudo ln -sf /home/a1nz/.zshrc /root/.zshrc- Install Elegant GRUB theme:
https://github.com/vinceliuice/Elegant-grub2-themes
- Configuration details:
- Theme path:
/boot/grub/themes/Elegant-forest-window-right-dark - Configuration file:
/etc/default/grub - Apply changes:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Convert GRUB background for ultrawide displays:
magick \
\( background.jpg -crop 1x1080+0+0 -resize 440x1440! \) \
\( background.jpg -resize 2560x1440! \) \
\( background.jpg -crop 1x1080+1919+0 -resize 440x1440! \) \
+append extended_image.jpgsudo pacman -S open-vm-tools
sudo systemctl enable vmtoolsd.service
sudo systemctl enable vmware-vmblock-fuse.serviceSet up custom resolution for ultrawide displays:
sudo pacman -S xorg-xrandr
# Generate modeline for 3440x1440@60Hz
cvt 3440 1440 60 -r
# Add custom resolution
xrandr --newmode "3440x1440R" 319.75 3440 3488 3520 3600 1440 1443 1453 1481 +hsync -vsync
xrandr --addmode Virtual-1 "3440x1440R"
xrandr --output Virtual-1 --mode "3440x1440R"sudo pacman -S xss-lock
yay -S betterlockscreenSet wallpaper for lockscreen
betterlockscreen -u ~/wallpapers/some-image.jpgManual lock
betterlockscreen --lock
betterlockscreen --lock blurTest lock inmediately
xset s activateTo automatically lock the screen after a given time (e.g. 5 minutes), add the following to your .xprofile
xset s 300 300
xss-lock -- ~/.local/bin/lock &| Keybinding | Description |
|---|---|
+ + q |
Quit XMonad |
+ w |
Kill focused window |
| Switch to Workspace | |
+ [1-9] |
Switch to workspace [1–9] |
+ + [1-9] |
Send window to workspace [1–9] |
| Window Navigation | |
+ ↓ |
Move focus down |
+ ↑ |
Move focus up |
+ → |
Swap focused window with next |
+ ← |
Swap focused window with previous |
| Rofi | |
+ m |
App launcher (rofi -show drun) |
+ + m |
Window switcher (rofi -show) |
+ + . |
Emoji picker (rofi -modi emoji) |
+ g |
Google search launcher via rofi |
| Scrot (Screenshots) | |
+ + s |
Select area screenshot (file + clipboard) |
+ s |
Full screenshot (file + clipboard) |
| Favorite Programs | |
+ Return |
Launch terminal |
+ b |
Launch web browser |
+ e |
Launch file manager |
| Monitors | |
+ . |
Focus next monitor |
+ , |
Focus previous monitor |
| Layouts | |
+ Tab |
Switch to next layout |
+ Space |
Toggle full/noborder layout + toggle struts |
| Window Resizing | |
+ + ← |
Shrink window horizontally |
+ + → |
Expand window horizontally |
+ + ↓ |
Shrink window vertically |
+ + ↑ |
Expand window vertically |
| Floating Windows | |
+ t |
Sink (tile) focused floating window |
+ + t |
Sink all floating windows |
| Scratchpads | |
+ + Return |
Toggle scratchpad terminal |
| Keybinding | Description |
|---|---|
| Split Navigation | |
Alt + ← → ↑ ↓ |
Move between splits |
| Split Management | |
Ctrl + Shift + Return |
Create split |
Ctrl + Shift + W |
Close current split |
Ctrl + Shift + Z |
Fullscreen split |
Ctrl + Shift + R |
Resize split |
| Tabs (Workspaces) | |
Ctrl + Shift + T |
New tab |
Ctrl + Shift + Q |
Close current tab |
Ctrl + Shift + ← → ↑ ↓ |
Move between tabs |
Ctrl + Shift + , . |
Swap tabs position |
Ctrl + Shift + Alt + T |
Rename tab |
| Clipboard Buffers | |
F1 |
Copy to buffer A |
F2 |
Paste from buffer A |
F3 |
Copy to buffer B |
F4 |
Paste from buffer B |
| Misc / Utilities | |
Ctrl + Shift + H |
Open scrollback pager |
Ctrl + Shift + L |
Toggle kitty layout modes |
kitty +kitten show_key |
Show current keybindings |
| Keybinding | Description |
|---|---|
| Normal Mode - Insertion | |
a |
Insert after the cursor |
A |
Insert at the end of the line |
i |
Insert before the cursor |
I |
Insert at the beginning of the line |
o |
Open new line below and enter insert mode |
O |
Open new line above and enter insert mode |
| Normal Mode - Navigation | |
k |
Move cursor up |
j |
Move cursor down |
l |
Move cursor right |
h |
Move cursor left |
w |
Jump forward to the start of next word |
W |
Jump forward to next WORD (ignores punctuation) |
e |
Jump to end of current/next word |
E |
Jump to end of current/next WORD |
b |
Jump to start of previous word |
B |
Jump to start of previous WORD |
$ |
Go to end of line |
0 |
Go to beginning of line |
gg |
Go to first line of file |
G |
Go to last line of file |
Ctrl + d |
Scroll down half a screen |
Ctrl + u |
Scroll up half a screen |
Ctrl + f |
Scroll down one full sreen |
Ctrl + b |
Scroll up one full screen |
| Normal Mode - Editing/Deleting | |
x |
Delete character under cursor |
X |
Delete character before cursor |
dw |
Delete from cursor to end of word |
db |
Delete from cursor to start of word |
dd |
Delete (cut) entire line |
cw |
Change word (delete and enter insert mode) |
cc |
Change entire line |
r<char> |
Replace character under cursor with |
s |
Delete character and enter insert mode |
S |
Delete line and enter insert mode |
| Normal Mode - Yank/Paste | |
y |
Yank (copy) selection |
yy |
Yank entire line |
p |
Paste after cursor |
P |
Paste before cursor |
"+p |
Paste from system clipboard |
"+y |
Yank to system clipboard |
| Normal Mode - Undo/Redo | |
u |
Undo last change |
Ctrl + r |
Redo last undone change |
| Normal Mode - Indentation/Formatting | |
>> |
Indent line to the right |
<< |
Indent line to the left |
= |
Auto-indent current line |
=G |
Auto-indent to end of file |
| Visual Mode | |
v |
Start visual character-wise selection |
V |
Start visual line-wise selection |
Ctrl + v |
Start visual block mode |
Shift + v |
Start visual line mode |
o |
Move to opposite end of selection |
d |
Delete selection |
c |
Change selection (delete and enter insert) |
> |
Indent selection right |
< |
Indent selection left |
= |
Auto-indent selection |
u |
Convert selection to lowercase |
U |
Convert selection to uppercase |
