Skip to content

Instantly share code, notes, and snippets.

@jpalala
Created September 26, 2025 13:00
Show Gist options
  • Save jpalala/3067dc93f06ad9d4f9680047c81cc39d to your computer and use it in GitHub Desktop.
Save jpalala/3067dc93f06ad9d4f9680047c81cc39d to your computer and use it in GitHub Desktop.
manjaro or arch to install hyperland with rounded corners and sane defaults
#!/usr/bin/env bash
set -e
echo "=== Updating system and installing packages ==="
sudo pacman -Syu --noconfirm
# Hyprland dependencies (skip if already installed on Manjaro Sway)
sudo pacman -S --noconfirm hyprland waybar alacritty albert dunst rofi \
pipewire pipewire-pulse wireplumber brightnessctl wl-clipboard grim slurp swaybg
echo "=== Setting up Hyprland config ==="
mkdir -p ~/.config/hypr
CONFIG=~/.config/hypr/hyprland.conf
# Backup existing config
if [ -f "$CONFIG" ]; then
cp "$CONFIG" "$CONFIG.bak.$(date +%s)"
fi
cat > "$CONFIG" <<'EOF'
# ========== Hyprland Base Config ==========
# Hyprland default monitor layout
monitor=,preferred,auto,auto
# ==================== Style ====================
# Rounded corners
decoration {
rounding = 12
blur {
enabled = yes
size = 4
passes = 2
}
drop_shadow = yes
shadow_range = 8
}
# ==================== Keybinds ====================
# Launch Albert with Super+Space
bind = SUPER, SPACE, exec, albert toggle
# Launch terminal
bind = SUPER, RETURN, exec, alacritty
# Close focused window
bind = SUPER, Q, killactive
# Reload config
bind = SUPER, C, exec, hyprctl reload
# ==================== Workspace Navigation ====================
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
# ==================== Wallpaper ====================
exec-once = swaybg -i /usr/share/backgrounds/archlinux/archbtw.jpg -m fill
# ==================== Bar ====================
exec-once = waybar
exec-once = albert
EOF
echo "=== Setting up Waybar config ==="
mkdir -p ~/.config/waybar
cat > ~/.config/waybar/config <<'EOF'
{
"layer": "top",
"position": "top",
"modules-left": ["workspaces", "window"],
"modules-center": ["clock"],
"modules-right": ["pulseaudio", "network", "battery"],
"clock": {
"format": "{:%Y-%m-%d %H:%M}"
}
}
EOF
cat > ~/.config/waybar/style.css <<'EOF'
* {
font-family: "JetBrains Mono", monospace;
font-size: 12px;
}
window#waybar {
background: rgba(30, 30, 30, 0.8);
color: white;
border-bottom: 2px solid #4C566A;
}
#workspaces button {
padding: 0 6px;
border-radius: 10px;
}
#workspaces button.active {
background: #88C0D0;
color: #2E3440;
}
#clock {
margin: 0 10px;
}
#pulseaudio,
#network,
#battery {
margin: 0 8px;
}
EOF
echo "=== Done! ==="
echo "➡ Logout and log back in to see changes (or run 'hyprctl reload')."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment