Universal Arch Linux installer with integrated dotfiles management Built by a CS student, optimized for productivity and low-resource systems
Features β’ Installation β’ Keybindings β’ Customization β’ Credits
- Philosophy
- Features
- Screenshots
- Installation
- What's Included
- Keybindings
- Customization
- Hardware Optimizations
- Dotfiles Management
- Troubleshooting
- Credits
- License
This configuration is designed for students and developers who:
- Need a productive environment for work
- Works on limited hardware
- Want reproducible setups across multiple machines
- Value performance over eye candy (but still want it to look good)
- Prefer keyboard-driven workflows
- Need version-controlled configurations
- One-command installation: From Arch ISO to complete desktop
- Interactive installer: Choose encryption, LVM, disk layout
- Minimal resource usage: Runs smoothly on 4GB RAM
- Workflow automation: multiple scripts
- GNU Stow management: Clean, modular dotfiles structure
- Hardware optimized: Tuned for Intel i3-6006U + AMD Radeon M330
- Interactive installation wizard with toggle options
- Flexible partitioning: Single/dual disk, LVM, encryption support
- Hardware detection: Automatically detects and configures GPU, CPU
- Dual-boot friendly: GRUB configuration for Windows/Linux
- Post-install automation: One script to deploy everything
- Hyprland: Modern Wayland compositor with smooth animations
- Waybar: Customizable status bar with system stats
- Rofi: Fast application launcher
- Dunst: Minimal notification daemon
- Catppuccin Mocha: Beautiful, battery-friendly color scheme
- Neovim + VS Code: Full-featured editors
- Wezterm: GPU-accelerated terminal
- Zsh + Starship: Beautiful, fast shell with git integration
- Modern CLI tools: eza, bat, ripgrep, fzf, zoxide, just
- Docker support: Containerized development
- Git integration: GitHub CLI, git-lfs
- Anaconda: Full ML/AI stack
- Communication: Discord, Telegram
- Media: Spotify, MPV, VLC
- Browsers: Firefox, Google-Chrome
Hyprland desktop with Waybar and Catppuccin Mocha theme
Wezterm terminal with Zsh, Starship prompt, and modern CLI tools
Perfect for clean installs. This will format your disk and install Arch from scratch.
- Download Arch Linux ISO
- Create bootable USB with
ddor Rufus/Etcher - Boot from USB (UEFI mode required)
# For WiFi
iwctl
[iwd]# device list
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect "SSID"
[iwd]# exit
# For Ethernet (usually automatic)
ping archlinux.orgThe installer will prompt you for:
| Option | Description | Recommendation |
|---|---|---|
| Hostname | Computer name | archie-laptop |
| Username | Your username | Your name |
| Passwords | User & root passwords | Strong passwords |
| Timezone | Your timezone | Asia/Kolkata (for India) |
| Locale | Language/region | en_US.UTF-8 |
| Encryption | LUKS disk encryption | Yes (recommended) |
| LVM | Logical Volume Manager | Yes (flexible) |
| Separate Home | Dedicated /home partition | No (unless dual disk) |
| Dual Boot | Windows/Linux setup | If needed |
Already have Arch installed? Just deploy dotfiles and applications.
# Clone repository
git clone https://github.com/adityamoghaa/aetherland.git ~/.dotfiles
# Navigate to dotfiles
cd ~/.dotfiles
# Run setup script
chmod +x setup.sh
./setup.shThe setup script will:
- β Install AUR helper (paru)
- β Prompt for each component (Hyprland, dev Tools etc.)
- β Backup existing configs
- β Deploy dotfiles with GNU Stow
- β Configure system optimizations
Logout and login for changes to take effect.
Only want the configuration files? Manual deployment:
# Clone repository
git clone https://github.com/adityamoghaa/aetherland.git ~/.dotfiles
cd ~/.dotfiles
# Install GNU Stow
sudo pacman -S stow
# Backup existing configs
mkdir -p ~/.config-backup
mv ~/.config/hypr ~/.config-backup/ 2>/dev/null
mv ~/.config/waybar ~/.config-backup/ 2>/dev/null
mv ~/.zshrc ~/.config-backup/ 2>/dev/null
# Deploy dotfiles
stow *
# Verify
ls -la ~/.config/hypr # Should show symlink| Component | Description |
|---|---|
| Hyprland | Dynamic tiling Wayland compositor |
| Waybar | Status bar with modules |
| Rofi | Application launcher |
| Dunst | Notification daemon |
| Polkit | Authentication agent |
| Tool | Purpose |
|---|---|
| Wezterm | GPU-accelerated terminal |
| Zsh | Feature-rich shell |
| Starship | Cross-shell prompt |
| eza | Modern ls replacement |
| bat | cat with syntax highlighting |
| ripgrep | Fast search tool |
| fzf | Fuzzy finder |
| zoxide | Smart directory jumper |
| Tool | Purpose |
|---|---|
| Neovim | Modal text editor |
| VS Code | Full IDE |
| Docker | Containerization |
| Git | Version control |
| GitHub CLI | GitHub integration |
| Category | Tools |
|---|---|
| ML/AI | Anaconda, Python, pip |
| Communication | Discord, Telegram |
| Media | Spotify, MPV, VLC |
| Browsers | Firefox, Google-Chrome |
| Keybinding | Action |
|---|---|
Super + Return |
Open terminal |
Super + Q |
Close window |
Super + F |
Toggle fullscreen |
Super + Space |
Toggle floating |
Super + J/K/L/H |
Move focus (Vim-like) |
Super + Shift + J/K/L/H |
Move window |
Super + Ctrl + J/K/L/H |
Resize window |
Super + Mouse |
Move/resize window |
| Keybinding | Action |
|---|---|
Super + 1-9 |
Switch to workspace 1-9 |
Super + Shift + 1-9 |
Move window to workspace |
Super + Mouse wheel |
Cycle workspaces |
Super + Tab |
Next workspace |
Super + Shift + Tab |
Previous workspace |
| Keybinding | Action |
|---|---|
Super + Space |
Application launcher (Rofi) |
Super + E |
File manager (Yazi) |
Super + W |
Browser (Firefox) |
Super + SHIFT + V |
Clipboard history |
| Keybinding | Action |
|---|---|
Super + L |
Lock screen |
Super + X |
Power menu |
Super + esc |
Reload Hyprland |
Print |
Screenshot (full) |
Shift + Print |
Screenshot (selection) |
| Keybinding | Action |
|---|---|
XF86AudioPlay |
Play/Pause |
XF86AudioNext |
Next track |
XF86AudioPrev |
Previous track |
XF86AudioRaiseVolume |
Volume up |
XF86AudioLowerVolume |
Volume down |
XF86AudioMute |
Toggle mute |
XF86MonBrightnessUp |
Brightness up |
XF86MonBrightnessDown |
Brightness down |
Waybar:
nvim ~/.config/waybar/colors.css
# Edit @define-color variablesHyprland:
nvim ~/.config/hypr/modules/colors.conf
# Edit colors in decoration sectionWezterm:
nvim ~/.config/wezterm/wezterm.lua
# Change theme linenvim ~/.config/hypr/modules/keybind.conf
# Edit bind statements
# Format: bind = MODS, KEY, ACTION, PARAMS# Create new script
nvim ~/.local/bin/my-script
# Make executable
chmod +x ~/.local/bin/my-script
# Use it
my-scriptnvim ~/.config/wezterm/wezterm.lua
# Modify font_family linenvim ~/.config/waybar/config
# Add/remove modules in modules-left/center/rightIncluded optimizations:
- TLP power management
- Swappiness reduced to 10
- Lightweight applications prioritized
- Minimal background services
- Efficient compositor settings
Manual tweaks:
# Check current swappiness
cat /proc/sys/vm/swappiness
# Adjust if needed
echo "vm.swappiness=5" | sudo tee -a /etc/sysctl.d/99-swappiness.confAuto-configured during setup:
- AMDGPU driver (modern open-source)
- Vulkan support
- Power-efficient settings
Manual verification:
# Check GPU driver
lspci -k | grep -A 3 -i "VGA"
# Test Vulkan
vulkaninfo | grep -i "device name"Optimizations:
- Intel microcode updates
- CPU governor: powersave
- Turbo boost management
- Thermal throttling prevention
Check CPU governor:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor# Enable TLP (already done in setup)
sudo systemctl enable --now tlp
# Check battery stats
sudo tlp-stat -b
# Laptop mode
sudo systemctl enable --now laptop-modeThis repository uses GNU Stow for symlink management.
~/.dotfiles/
βββ hypr/ # Hyprland package
β βββ .config/
β βββ hyprland/
βββ waybar/ # Waybar package
β βββ .config/
β βββ waybar/
βββ wezterm/ # Wezterm package
β βββ .config/
β βββ wezterm/
βββ nvim/ # Neovim package
β βββ .config/
β βββ nvim/
βββ zsh/ # Zsh package
β βββ .zshrc
β βββ .zshenv
βββ scripts/ # Custom scripts
βββ .local/
βββ bin/
# Deploy package
stow package-name
# Remove package
stow -D package-name
# Re-deploy (update symlinks)
stow -R package-name
# Deploy all packages
stow */
# Dry run (see what would happen)
stow --no -v package-name
---
## π§ Troubleshooting
### Hyprland won't start
```bash
# Check logs
cat ~/.local/share/hyprland/hyprland.log
# Test Hyprland
Hyprland
# If crashes, try from TTY
Ctrl + Alt + F2
hyprland# Check NetworkManager
sudo systemctl status NetworkManager
# Enable if needed
sudo systemctl enable --now NetworkManager
# Connect to WiFi
nmtui# Verify structure
cd ~/.dotfiles
tree -L 3
# Re-stow everything
stow -R */
# Check symlinks
ls -la ~/.config/# Check PipeWire status
systemctl --user status pipewire pipewire-pulse
# Restart audio
systemctl --user restart pipewire pipewire-pulse wireplumber
# Check volume
pamixer --get-volume# Check driver
glxinfo | grep "OpenGL renderer"
# For AMD
lspci -k | grep -A 3 -i "VGA"
# Rebuild initramfs
sudo mkinitcpio -P# Edit Hyprland config
nvim ~/.config/hyprland/hyprland.conf
# Add/ensure:
# general {
# allow_tearing = true
# }# Check processes
btop
# Disable animations
nvim ~/.config/hyprland/hyprland.conf
# Set animations:enabled = false# Check install log
cat ~/install.log
# Verify internet
ping archlinux.org
# Update keyring
sudo pacman -Sy archlinux-keyringThis configuration was inspired by these excellent dotfiles:
- ericmurphyxyz/dotfiles - Minimalist approach
- prasanthrangan/hyprdots - Beautiful Hyprland setup
- JaKooLit/Hyprland-Dots - Comprehensive configs
- mylinuxforwork/dotfiles - ML-series inspiration
- dreamsofautonomy/arch-from-scratch - Installation methodology
- Hyprland team - Amazing Wayland compositor
- Arch Linux community - Best documentation
- r/unixporn - Endless inspiration
Tested on:
- Dell Inspiron 15 5000 Series
- Intel Core i3-6006U @ 2.00GHz
- AMD Radeon R5 M330 (2GB)
- 4GB DDR3 RAM
- 256GB SSD + 1TB HDD
Compatibility:
- Any x86_64 system with UEFI
- 2GB+ RAM (4GB+ recommended)
- 20GB+ storage
- Intel/AMD/NVIDIA graphics
- Add more color scheme options
- Create installation video tutorial
- Add fully script-based installation
- Improve power management scripts
- Add automatic backup script
- Create GUI configuration tool
Contributions are welcome! If you have improvements:
This project is licensed under the MIT License - see the LICENSE file for details.
TL;DR: You can use, modify, and distribute this freely. Credit appreciated but not required.
If this project helped you, consider giving it a star! β
Made with β€οΈ by a CS student who loves tinkering
Optimized for productivity β’ Designed for students β’ Built for low-spec systems

