A comprehensive setup script for Arch Linux that installs and configures a complete i3 window manager environment with modern tools, audio system, security features, and theming for a productive standalone desktop experience.
- Complete i3 window manager configuration with Windows key mod
- Modern audio system (PipeWire) with media players
- Security tools (firewall, policy kit)
- Terminal setup (Alacritty with Tokyo Night theme)
- File management (Thunar with plugins)
- System monitoring and maintenance tools
- Modern CLI tools (exa, bat, fastfetch)
- Bluetooth support and device management
- Display manager (ly) with auto-start
- Desktop integration and user directories
- Comprehensive theming (Tokyo Night GTK theme, custom fonts)
The script installs these main package groups:
- Window Manager: i3-wm, i3blocks, i3status-rust
- Terminal: alacritty with Tokyo Night theme
- System Tools: htop, exa, bat, fastfetch, brightnessctl
- Desktop Integration: xdg-user-dirs, polkit, gparted
- Development: github-cli, visual-studio-code-bin, npm
- Utilities: copyq, wget, xclip, jq, bash-completion
- Display: ly (display manager), xss-lock
- Bluetooth: bluez, bluez-utils, blueman
- Network: network-manager-applet, xdg-desktop-portal-gtk
- Audio System: pipewire, pipewire-pulse, pipewire-alsa, pavucontrol
- Codecs: ffmpeg
- Media Players: vlc, mpv
- Firewall: firewalld
- File Manager: thunar with plugins (volman, archive-plugin)
- Archive Support: unrar, zip, unzip, xarchiver, p7zip
- Device Support: gvfs, gvfs-mtp
- Application Launcher: rofi with emoji support
- Notifications: dunst
- Screenshots: flameshot
- Wallpaper: feh with random wallpaper script
- Lock Screen: i3lock-color
- Fonts: otf-font-awesome, ttf-jetbrains-mono-nerd, noto-fonts-emoji
- Theme: tokyonight-gtk-theme-git
- Icons: tumbler (thumbnail generation)
- Web Browser: firefox
- Fresh Arch Linux installation with Xorg
- Internet connection
- Non-root user with sudo privileges
-
Clone this repository:
git clone https://github.com/awtawsif/arch-i3-setup.git cd arch-i3-setup -
Run the setup script:
./setup.sh
-
During installation, you'll be prompted to:
- Configure Git (optional)
- Enter sudo password when required
- System Checks: Validates user permissions, internet connection, and required files
- Git Configuration: Optional setup of Git user details
- AUR Setup: Installs yay AUR helper and configures Chaotic-AUR repository
- Package Installation: Installs all required packages from official repos and AUR
- Service Configuration: Enables bluetooth and ly display manager services
- Directory Structure: Creates standard user directories (Documents, Downloads, etc.)
- Configuration Files: Copies all dotfiles and config files to home directory
- Input Devices: Configures touchpad and input device settings
- System Integration: Sets up desktop integration components
After installation completes:
- Reboot your system to apply all changes
- Log in through ly display manager
- i3 will start automatically with your configured environment
- $mod+Return: Open terminal (Alacritty)
- $mod+d: Application launcher (Rofi)
- $mod+Shift+f: File manager (Thunar)
- $mod+Shift+b: Browser (Firefox)
- $mod+Shift+t: Text editor (Mousepad)
- $mod+Print: Screenshot (Flameshot)
- $mod+Shift+r: Restart i3
- $mod+Shift+c: Reload i3 configuration
- Mod Key: Windows/Super key (Mod4)
- Theme: Tokyo Night GTK theme with matching colors
- Terminal: Alacritty with Tokyo Night theme and JetBrains Mono Nerd Font
- Audio: PipeWire with pavucontrol for volume management
- Display: ly display manager with auto-start
- Wallpaper: Random wallpaper script that changes on i3 reload
- Main Config:
.config/i3/config- Complete i3 configuration - Keybindings:
.config/i3/config.d/keybindings.conf- All window management keybindings - Workspaces:
.config/i3/config.d/workspaces.conf- Workspace configuration - Startup:
.config/i3/config.d/startup.conf- Autostart applications - Wallpaper:
.config/i3/set_random_wallpaper.sh- Random wallpaper script
- Alacritty:
.config/alacritty/alacritty.toml- Terminal configuration - Theme:
.config/alacritty/themes/tokyo_night.toml- Tokyo Night theme - Bash:
.bashrc- Shell configuration and aliases - Profile:
.profile- Environment variables and PATH setup
- Rofi:
.config/rofi/config.rasi- Application launcher styling - Theme:
.config/rofi/themes/tokyonight.rasi- Tokyo Night Rofi theme - i3status:
.config/i3rs-config.toml- Status bar configuration
- Nano:
.config/nano/nanorc- Enhanced nano editor configuration - Htop:
.config/htop/htoprc- Process monitor configuration - Thunar:
.config/Thunar/uca.xml- Custom actions for file manager
- Input:
40-libinput.conf- Touchpad and input device configuration
- Missing Files: Ensure all required files are present before running the script
- Internet Connection: Verify stable internet connection for package downloads
- Permissions: Run script as non-root user with sudo privileges
- Directory: Make sure script is run from the correct directory
- Audio: If audio doesn't work, check PipeWire service status
- Display: If ly doesn't start, check Xorg installation and graphics drivers
Feel free to submit issues and pull requests for:
- Bug fixes and improvements
- New package suggestions
- Documentation updates
- Configuration enhancements
- Theme customizations
This project is open source and available under the MIT License.