Skip to content
This repository was archived by the owner on Sep 19, 2026. It is now read-only.
aethctlPublic archive

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

◈ AetherShift

A wallpaper-driven Hyprland environment that changes with you.


Arch Linux Hyprland Quickshell Matugen Status


AetherShift is my personal Arch Linux and Hyprland environment.

It combines adaptive wallpaper-based colours, a custom Quickshell desktop shell, glass Rofi menus, media controls, gaming tools, system utilities and workflow automation into one cohesive daily-driver setup.


Change the wallpaper.
Shift the atmosphere.
Keep the workflow.


Preview • Features • Components • Installation • Keybinds • Credits



✦ Preview

AetherShift Hyprland desktop



AetherShift glass action menu AetherShift music panel


✦ What Is AetherShift?

AetherShift began as a personal fork inspired by Vroomies by maxchennn.

It has since grown into a larger daily-driver environment with its own:

  • Wallpaper-driven theme system
  • Custom scripts and utilities
  • Glass application menus
  • Gaming and performance controls
  • Screenshot and recording workflow
  • Snapshot and restoration tools
  • Maintenance and repair systems
  • Productivity helpers
  • Audio-device shortcuts
  • Personal workflow integrations

This repository contains the configuration files behind that environment.

It is designed primarily for my own system, but it can also be used as a reference, starting point or source of individual components for another Hyprland setup.



✦ Design Philosophy

AetherShift is built around three ideas.

Adaptive

The visual identity should come from the wallpaper rather than from one permanently hardcoded palette.

Functional

Every menu, panel and animation should serve a real purpose instead of existing only for screenshots.

Recoverable

Experimenting with a rice should not mean losing a working configuration. Repair scripts, backups and snapshots are treated as part of the desktop itself.



✦ Theme Pipeline

┌─────────────────┐
│    Wallpaper    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│     Matugen     │
│ Colour analysis │
└────────┬────────┘
         │
         ├──────────────┬──────────────┬──────────────┐
         ▼              ▼              ▼              ▼
   Quickshell          Rofi           Kitty        Hyprland
   panels and UI    glass menus    terminal theme   borders

Wallpapers are stored in:

~/Pictures/visions

Selecting a wallpaper can regenerate colours for:

  • Quickshell
  • Rofi
  • Kitty
  • Hyprland borders and effects
  • Wallpaper menus
  • Supporting scripts and widgets

Main theme controls:

SUPER + Shift + A    Open wallpaper and theme picker
SUPER + Ctrl + A     Apply a random adaptive theme

An optional boot-shuffle script can also apply a random wallpaper and colour scheme when Hyprland starts.



✦ Features

Adaptive desktop

  • Wallpaper-derived colour palettes
  • Coordinated colours across desktop components
  • Animated wallpaper transitions
  • Random theme switching
  • Generated glass-menu styling

Quickshell environment

  • Vertical workspace bar
  • Workspace indicators
  • Adaptive foreground and accent colours
  • MPRIS media integration
  • Wallpaper-picker integration
  • Compact music panel
  • Desktop information widgets

Glass menus

  • Central category-based action menu
  • Adaptive borders and highlights
  • Application launcher
  • Theme and wallpaper controls
  • System-management actions
  • Audio and media shortcuts
  • Screenshot and recording tools
  • Gaming controls
  • Maintenance and backup actions
  • Power controls

Gaming workflow

  • One-key gaming mode
  • Dedicated gaming profile
  • Reduced visual effects while gaming
  • MangoHud support
  • GameMode support
  • Performance-oriented workspace controls
  • CS2 troubleshooting profile

Desktop utilities

  • Screenshot editor workflow
  • Screen recording
  • Drop-down terminal
  • Floating system monitor
  • Information centre
  • Welcome and system-status popup
  • Notes and todo menu
  • Focus timer
  • Caffeine mode
  • Display blanking
  • Power menu

Recovery and maintenance

  • Rice repair script
  • Snapshot and restore menu
  • Configuration backups
  • Package update shortcuts
  • Pacman cache maintenance
  • Orphan-package checks
  • Journal cleanup
  • Rice health checks
  • GitHub dotfiles export


✦ Components

Component Role
Hyprland Wayland compositor and window management
Quickshell Main desktop shell, panels and widgets
Matugen Wallpaper-based colour generation
Rofi Glass application and action menus
Kitty Terminal emulator
SwayNC Notifications and notification centre
awww Wallpaper daemon and transitions
PipeWire Audio routing
Playerctl MPRIS media control
Cava Audio visualisation
MangoHud Gaming performance overlay
GameMode Gaming performance integration
Grim Wayland screenshots
Slurp Region selection
Swappy Screenshot editing
wf-recorder Screen recording
btop System monitoring
Fastfetch System information


✦ Repository Layout

aethershift-hyprland/
├── .config/
│   ├── MangoHud/       # Gaming overlay configuration
│   ├── cava/           # Audio visualiser
│   ├── fastfetch/      # System-information layout
│   ├── hypr/           # Hyprland configuration and scripts
│   ├── kitty/          # Terminal configuration
│   ├── matugen/        # Adaptive colour templates
│   ├── quickshell/     # Desktop shell and QML components
│   ├── rofi/           # Launchers and glass menus
│   └── swaync/         # Notification styling
├── .gitignore
├── README.md
└── SYSTEM-INFO.txt


✦ Before Installing

Important

AetherShift is a personal configuration repository, not a universal Hyprland installer.

The configuration contains assumptions based on my own setup, including:

  • Arch Linux
  • Hyprland
  • PipeWire
  • NetworkManager
  • NVIDIA graphics
  • Specific monitor names
  • Specific audio-device names
  • Personal directory paths
  • My preferred applications and keybinds

You should read the configuration and installation steps before copying anything.

At minimum, expect to adjust:

  • Monitor names
  • Monitor resolutions and refresh rates
  • Audio-device names
  • Wallpaper paths
  • GPU-related settings
  • Keyboard layout
  • Default applications
  • User-specific paths
  • Quickshell monitor targeting


✦ Requirements

Base system

  • Arch Linux or an Arch-based distribution
  • A working Hyprland installation
  • NetworkManager
  • PipeWire and WirePlumber
  • A regular non-root user
  • An AUR helper such as yay

Fonts

AetherShift expects a Nerd Font, particularly JetBrains Mono Nerd Font.

sudo pacman -S --needed \
  ttf-jetbrains-mono-nerd \
  noto-fonts \
  noto-fonts-emoji

Broken or missing icons usually indicate that the expected font is not installed.



✦ Installation

1. Install the main packages

sudo pacman -S --needed \
  hyprland \
  xdg-desktop-portal \
  xdg-desktop-portal-hyprland \
  xdg-desktop-portal-gtk \
  pipewire \
  pipewire-pulse \
  wireplumber \
  networkmanager \
  kitty \
  dolphin \
  firefox \
  rofi-wayland \
  swaync \
  swayidle \
  grim \
  slurp \
  swappy \
  wl-clipboard \
  cliphist \
  hyprpicker \
  wf-recorder \
  playerctl \
  pamixer \
  pavucontrol \
  bluez \
  bluez-utils \
  blueman \
  flatpak \
  btop \
  fastfetch \
  gamemode \
  mangohud \
  vulkan-tools \
  steam \
  git \
  rsync \
  imagemagick \
  curl \
  libnotify \
  pacman-contrib

Some packages may vary depending on your enabled repositories.

2. Install the adaptive-shell packages

Using yay:

yay -S --needed \
  quickshell-git \
  matugen-bin \
  awww-git

AUR package names can change over time. Search the AUR when one of the listed packages is unavailable.

3. Clone AetherShift

cd ~
git clone https://github.com/Aetherelic/aethershift-hyprland.git
cd aethershift-hyprland

4. Back up existing configurations

BACKUP_DIR="$HOME/.config-backups/aethershift-$(date +%Y%m%d-%H%M%S)"

mkdir -p "$BACKUP_DIR"

for directory in \
  hypr \
  quickshell \
  rofi \
  kitty \
  matugen \
  swaync \
  fastfetch \
  MangoHud \
  cava
do
  if [ -e "$HOME/.config/$directory" ]; then
    cp -a "$HOME/.config/$directory" "$BACKUP_DIR/"
  fi
done

The backup will be stored under:

~/.config-backups/

5. Copy the configuration

mkdir -p ~/.config
rsync -a .config/ ~/.config/

Make the included scripts executable:

find ~/.config/hypr/scripts \
  -type f \
  \( -name '*.sh' -o -name '*.py' \) \
  -exec chmod +x {} +

chmod +x \
  ~/.config/quickshell/components/wall/wall.sh \
  2>/dev/null || true

6. Create the required folders

mkdir -p \
  ~/Pictures/visions \
  ~/Pictures/Screenshots \
  ~/Videos/Recordings \
  ~/Documents/Aetherelic

Place your wallpapers inside:

~/Pictures/visions

High-resolution wallpapers are strongly recommended because they become the visual foundation of the whole desktop.

7. Select an initial wallpaper

Replace YOUR_WALLPAPER.png with an existing file:

ln -sf \
  "$HOME/Pictures/visions/YOUR_WALLPAPER.png" \
  "$HOME/.config/hypr/current_wallpaper"

8. Generate the initial themes

~/.config/hypr/scripts/generate-rofi-glass-theme.py \
  2>/dev/null || true

~/.config/hypr/scripts/generate-rofi-theme.py \
  2>/dev/null || true

~/.config/hypr/scripts/generate-hypr-theme.py \
  2>/dev/null || true

~/.config/hypr/scripts/generate-kitty-theme.py \
  2>/dev/null || true

Apply the selected wallpaper through the Quickshell wallpaper script:

bash \
  ~/.config/quickshell/components/wall/wall.sh \
  ~/.config/hypr/current_wallpaper

9. Enable supporting services

Enable Bluetooth when required:

sudo systemctl enable --now bluetooth.service

Start the user audio services:

systemctl --user enable --now \
  pipewire \
  pipewire-pulse \
  wireplumber

Restart the desktop portals:

systemctl --user restart \
  xdg-desktop-portal \
  xdg-desktop-portal-hyprland \
  xdg-desktop-portal-gtk

10. Check the configuration

hyprctl reload
hyprctl configerrors

No output from hyprctl configerrors means Hyprland did not detect a configuration error.



✦ Personalisation

Monitor configuration

Find your monitor names:

hyprctl monitors

Then inspect the Hyprland configuration:

nano ~/.config/hypr/hyprland.conf

The original setup may contain references to a monitor such as:

DP-2

Your outputs may instead be named something like:

DP-1
HDMI-A-1
eDP-1

Also inspect Quickshell files that may contain monitor targeting:

~/.config/quickshell/components/Bar/bar.qml
~/.config/quickshell/components/MusicPanel.qml

Audio devices

The included helper scripts were designed around:

Output: Astro A50 Game
Input:  Fifine Microphone

Find your own device names with:

wpctl status

Then edit:

~/.config/hypr/scripts/audio-game-output.sh
~/.config/hypr/scripts/audio-fifine-input.sh

Default applications

Review the Hyprland configuration and action-menu scripts for references to applications such as:

  • Kitty
  • Dolphin
  • Firefox
  • Vesktop
  • Steam
  • btop

Replace them with your preferred applications where necessary.



✦ Keybinds

Keybind Action
SUPER + F1 Open the main action menu
SUPER + Enter Open terminal
SUPER + Shift + Enter Open file manager
SUPER + Q Close active window
SUPER + F Toggle fullscreen
SUPER + Shift + F Open Firefox
SUPER + Shift + A Open wallpaper and theme picker
SUPER + Ctrl + A Apply a random adaptive theme
SUPER + F12 Toggle gaming mode
SUPER + G Enter gaming profile
SUPER + Shift + G Leave gaming profile
Print Capture an area and open the editor
SUPER + Print Capture the full screen
SUPER + I Open information centre
SUPER + W Open welcome and system-status popup
SUPER + Shift + M Open maintenance menu
SUPER + Shift + B Open snapshot and restore menu
SUPER + Shift + R Repair and refresh the rice
SUPER + K Open notes and todo menu
SUPER + Shift + K Open focus timer
SUPER + Shift + C Toggle caffeine mode
SUPER + Ctrl + Z Turn displays off
SUPER + Shift + L Open power menu
SUPER + Ctrl + B Export keybind cheat sheet
SUPER + Ctrl + D Export GitHub dotfiles

A full keybind reference can be exported to:

~/Documents/Aetherelic/AETHERELIC-KEYBINDS.md


✦ Main Action Menu

Open the action menu with:

SUPER + F1

The menu is divided into functional categories:

Apps
Rice / Theme
System
Audio / Media
Screenshots / Recording
Gaming
Notes / Info
Maintenance / Backup
Power

Its colours, borders and highlights are generated from the current wallpaper.



✦ Gaming Mode

Toggle gaming mode with:

SUPER + F12

Gaming mode attempts to reduce desktop overhead by disabling or reducing effects such as:

  • Blur
  • Transparency
  • Animations
  • Non-essential visual processes

The dedicated gaming profile can be controlled with:

SUPER + G            Enter gaming profile
SUPER + Shift + G    Leave gaming profile

Basic Steam launch option:

gamemoderun %command%

With MangoHud:

mangohud gamemoderun %command%

Test without MangoHud when a game has problems with Vulkan overlays.



✦ Screenshots and Recording

Area screenshot

Print

Full screenshot

SUPER + Print

The workflow uses:

grim → slurp → swappy → wl-copy

Screenshots are stored in:

~/Pictures/Screenshots

Screen recording uses wf-recorder and can be accessed through:

SUPER + F1
└── Screenshots / Recording

Recordings are stored in:

~/Videos/Recordings


✦ Repair System

AetherShift includes a repair script for refreshing the main desktop components.

Run it with:

SUPER + Shift + R

Or manually:

bash ~/.config/hypr/scripts/repair-rice.sh

The repair process can refresh:

  • Quickshell
  • Wallpaper daemon
  • SwayNC
  • Adaptive themes
  • Audio defaults
  • Hyprland configuration


✦ Snapshots

Open the snapshot and restore menu with:

SUPER + Shift + B

Snapshots are stored in:

~/Aetherelic-Rice-Snapshots

This allows experimental changes to be reverted without rebuilding the entire environment manually.



✦ Maintenance

Open the maintenance menu with:

SUPER + Shift + M

Available actions include:

  • Check for package updates
  • Update the system
  • Clean the Pacman cache
  • List orphan packages
  • Remove orphan packages
  • Clean journal logs
  • Run a rice health check

Review every maintenance action before confirming it.



✦ Productivity Tools

Notes and todo

SUPER + K

Focus timer

SUPER + Shift + K

Personal productivity files are stored in:

~/Documents/Aetherelic

Drop-down terminal

SUPER + key above Tab

Floating system monitor

SUPER + Shift + key above Tab


✦ Safe Idle and Caffeine

The current configuration uses display blanking rather than an automatic lock workflow.

SUPER + Shift + C    Toggle caffeine mode
SUPER + Ctrl + Z     Turn displays off

Warning

This configuration may not automatically lock your session.

Anyone using AetherShift on a shared or portable computer should review the idle configuration and add a secure lock screen appropriate for their system.



✦ Troubleshooting

Hyprland reports configuration errors

hyprctl configerrors

Inspect the file and line reported by Hyprland.

Quickshell does not start

pkill quickshell 2>/dev/null || true

QML_XHR_ALLOW_FILE_READ=1 \
  quickshell --path ~/.config/quickshell/shell.qml

Wallpaper does not apply

pkill awww-daemon 2>/dev/null || true
awww-daemon &

Then apply the current wallpaper:

awww img \
  ~/.config/hypr/current_wallpaper \
  --transition-type fade \
  --transition-duration 1.2 \
  --resize crop

Rofi colours look incorrect

~/.config/hypr/scripts/generate-rofi-glass-theme.py

Kitty colours do not update

~/.config/hypr/scripts/generate-kitty-theme.py

Open a new Kitty window after regenerating the theme.

Audio uses the wrong device

wpctl status

Set the correct device manually:

wpctl set-default DEVICE_ID

Then update the included audio helper scripts.

Screen sharing does not work

Restart the desktop portals:

systemctl --user restart \
  xdg-desktop-portal \
  xdg-desktop-portal-hyprland \
  xdg-desktop-portal-gtk

AetherShift uses Vesktop as the recommended Discord client for this workflow:

flatpak install flathub dev.vencord.Vesktop


✦ Known Personal Settings

Some parts of the repository were written specifically for my hardware and workflow.

These include references to:

  • Astro A50 audio output
  • Fifine microphone input
  • NVIDIA graphics
  • DP-2 monitor targeting
  • The aetherelic username
  • Personal document folders
  • Personal wallpaper locations

These values are not intended to work unchanged on every computer.



✦ Credits

AetherShift is based on and heavily inspired by Vroomies by maxchennn.

The original project established much of the visual direction, Quickshell foundation and music-player concept that inspired this environment.

Original showcase:

Blame It on Your Love feat. Vroomies

AetherShift adds my own:

  • Adaptive theme scripts
  • Glass action menus
  • Gaming profiles
  • Repair utilities
  • Snapshot system
  • Maintenance tools
  • Recording workflow
  • Information popups
  • Productivity tools
  • Daily-driver customisation

Credit remains with the original authors for their work and inspiration.



✦ Disclaimer

AetherShift is provided as a personal dotfiles repository.

It may require substantial editing before it is suitable for another system.

Installing it may overwrite existing configuration files. Always create and verify a backup before copying the repository into ~/.config.

Use the project as:

  • A reference
  • A personal fork
  • A source of individual components
  • A foundation for your own Hyprland environment

Do not treat it as a guaranteed universal installation script.




AetherShift Aetherelic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages