Let's try it
This commit is contained in:
parent
e8d0950852
commit
3f4ec09e0a
@ -10,6 +10,11 @@ SCRIPTS_DIR="$SCRIPT_DIR/scripts"
|
||||
|
||||
echo "Starting Arch Hyprland Setup..."
|
||||
|
||||
# Make all scripts executable
|
||||
echo "Making scripts executable..."
|
||||
find "$SCRIPTS_DIR" -name "*.sh" -type f -exec chmod +x {} \;
|
||||
echo "✓ All scripts are now executable"
|
||||
|
||||
# Function to run a script and check for errors
|
||||
run_script() {
|
||||
local script="$1"
|
||||
@ -17,7 +22,6 @@ run_script() {
|
||||
|
||||
if [[ -f "$script" ]]; then
|
||||
echo "Running $name..."
|
||||
chmod +x "$script"
|
||||
bash "$script"
|
||||
echo " $name completed"
|
||||
else
|
||||
@ -37,7 +41,25 @@ run_script "$SCRIPTS_DIR/config/power.sh" "Power management"
|
||||
run_script "$SCRIPTS_DIR/config/fix-fkeys.sh" "Function keys configuration"
|
||||
run_script "$SCRIPTS_DIR/config/config.sh" "General system configuration"
|
||||
|
||||
# Step 3: Desktop environment
|
||||
# Step 3: Copy configuration files
|
||||
echo "Copying configuration files..."
|
||||
CONFIG_DIR="$SCRIPT_DIR/config"
|
||||
if [[ -d "$CONFIG_DIR" ]]; then
|
||||
# Create config directories if they don't exist
|
||||
mkdir -p "$HOME/.config/hypr"
|
||||
|
||||
# Copy hyprland.conf to ~/.config/hypr/
|
||||
if [[ -f "$CONFIG_DIR/hyprland.conf" ]]; then
|
||||
cp "$CONFIG_DIR/hyprland.conf" "$HOME/.config/hypr/hyprland.conf"
|
||||
echo "✓ Hyprland configuration copied"
|
||||
fi
|
||||
|
||||
echo "✓ Configuration files copied"
|
||||
else
|
||||
echo "⚠ Warning: Config directory not found at $CONFIG_DIR"
|
||||
fi
|
||||
|
||||
# Step 4: Desktop environment
|
||||
echo "Installing desktop environment..."
|
||||
run_script "$SCRIPTS_DIR/desktop/fonts.sh" "Font installation"
|
||||
run_script "$SCRIPTS_DIR/desktop/hyprlandia.sh" "Hyprland installation"
|
||||
@ -46,7 +68,7 @@ run_script "$SCRIPTS_DIR/desktop/desktop.sh" "Desktop applications"
|
||||
run_script "$SCRIPTS_DIR/desktop/bluetooth.sh" "Bluetooth setup"
|
||||
run_script "$SCRIPTS_DIR/desktop/theme.sh" "Theme configuration"
|
||||
|
||||
# Step 4: Additional software and configurations
|
||||
# Step 5: Additional software and configurations
|
||||
echo "Installing additional software..."
|
||||
run_script "$SCRIPTS_DIR/development.sh" "Development tools"
|
||||
run_script "$SCRIPTS_DIR/firewall.sh" "Firewall configuration"
|
||||
|
183
config/hyprland.conf
Normal file
183
config/hyprland.conf
Normal file
@ -0,0 +1,183 @@
|
||||
# Hyprland Default Configuration
|
||||
# =================================
|
||||
|
||||
# Monitor configuration
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
# Execute applications at launch
|
||||
exec-once = waybar
|
||||
exec-once = mako
|
||||
# exec-once = swaybg -i ~/.config/omarchy/current/background -m fill
|
||||
# exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec-once = hypridle
|
||||
|
||||
# Environment variables
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
# Look and feel
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 10
|
||||
border_size = 2
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
resize_on_border = false
|
||||
allow_tearing = false
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
drop_shadow = true
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
}
|
||||
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
misc {
|
||||
force_default_wallpaper = -1
|
||||
disable_hyprland_logo = false
|
||||
}
|
||||
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
follow_mouse = 1
|
||||
sensitivity = 0
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# Window rules
|
||||
windowrulev2 = suppressevent maximize, class:.*
|
||||
|
||||
# Keybindings
|
||||
# ===========
|
||||
|
||||
# Main modifier key
|
||||
$mainMod = SUPER
|
||||
$terminal = kitty
|
||||
$browser = brave-browser --new-window
|
||||
$filebrowser = nautilus
|
||||
|
||||
# Application shortcuts
|
||||
bind = $mainMod, Q, exec, $terminal
|
||||
bind = $mainMod SHIFT, O, exec, $browser
|
||||
bind = $mainMod, E, exec, filebrowser
|
||||
bind = $mainMod, R, exec, walker
|
||||
bind = $mainMod SHIFT, S, exec, hyprshot -m region
|
||||
|
||||
# Window management
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, P, pseudo,
|
||||
bind = $mainMod, J, togglesplit,
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Move focus with mainMod + hjkl (vim-like)
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, l, movefocus, r
|
||||
bind = $mainMod, k, movefocus, u
|
||||
bind = $mainMod, j, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Media keys
|
||||
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
|
||||
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
|
||||
bind = , XF86AudioMute, exec, pamixer --toggle-mute
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioPause, exec, playerctl play-pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
# Brightness keys
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl set +5%
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||
|
||||
# Lock screen
|
||||
bind = $mainMod, L, exec, hyprlock
|
@ -12,9 +12,6 @@
|
||||
|
||||
# --- GPU Detection ---
|
||||
if [ -n "$(lspci | grep -i 'nvidia')" ]; then
|
||||
show_logo
|
||||
show_subtext "Install NVIDIA drivers..."
|
||||
|
||||
# --- Driver Selection ---
|
||||
# Turing (16xx, 20xx), Ampere (30xx), Ada (40xx), and newer recommend the open-source kernel modules
|
||||
if echo "$(lspci | grep -i 'nvidia')" | grep -q -E "RTX [2-9][0-9]|GTX 16"; then
|
||||
|
@ -6,7 +6,7 @@ yay -S --noconfirm --needed \
|
||||
nautilus sushi ffmpegthumbnailer gvfs-mtp \
|
||||
slurp satty \
|
||||
mpv evince imv \
|
||||
chromium
|
||||
brave-bin
|
||||
|
||||
# Add screen recorder based on GPU
|
||||
if lspci | grep -qi 'nvidia'; then
|
||||
|
@ -15,10 +15,10 @@ xdg-mime default imv.desktop image/tiff
|
||||
# Open PDFs with the Document Viewer
|
||||
xdg-mime default org.gnome.Evince.desktop application/pdf
|
||||
|
||||
# Use Chromium as the default browser
|
||||
# Use Brave as the default browser
|
||||
xdg-settings set default-web-browser brave.desktop
|
||||
xdg-mime default chromium.desktop x-scheme-handler/http
|
||||
xdg-mime default chromium.desktop x-scheme-handler/https
|
||||
xdg-mime default brave.desktop x-scheme-handler/http
|
||||
xdg-mime default brave.desktop x-scheme-handler/https
|
||||
|
||||
# Open video files with mpv
|
||||
xdg-mime default mpv.desktop video/mp4
|
||||
|
32
scripts/neovim.sh
Executable file
32
scripts/neovim.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Neovim Installation Script
|
||||
# Installs Neovim and essential dependencies
|
||||
|
||||
# Install Neovim from official repositories
|
||||
yay -S --noconfirm --needed neovim
|
||||
|
||||
# Install Node.js and npm for Neovim plugins that require it
|
||||
yay -S --noconfirm --needed nodejs npm
|
||||
|
||||
# Install Python and pip for Python-based plugins
|
||||
yay -S --noconfirm --needed python python-pip python-pynvim
|
||||
|
||||
# Install clipboard utilities for system clipboard integration
|
||||
yay -S --noconfirm --needed wl-clipboard xclip
|
||||
|
||||
# Install ripgrep, fd, and other search tools commonly used by Neovim plugins
|
||||
yay -S --noconfirm --needed ripgrep fd
|
||||
|
||||
# Install tree-sitter for syntax highlighting
|
||||
yay -S --noconfirm --needed tree-sitter
|
||||
|
||||
# Install language servers for common languages
|
||||
yay -S --noconfirm --needed \
|
||||
lua-language-server \
|
||||
bash-language-server \
|
||||
typescript-language-server
|
||||
|
||||
echo "✓ Neovim and essential dependencies installed successfully!"
|
||||
echo " You can now run 'nvim' to start Neovim"
|
||||
echo " Consider installing a Neovim configuration like LazyVim or AstroNvim for enhanced functionality"
|
Loading…
x
Reference in New Issue
Block a user