Skip to content

About

🍎 Turnkey macOS-style UI on Linux powered by Niri (scrollable tiling), DankMaterialShell (animated dock, spotlight, control center), and automated multi-distro installer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍎 LinuxMacOSUI

Transform Your Linux Desktop into a Sleek, Fluid, macOS-Inspired Workstation

By MUDZ ("Murad Ashkar")

Author

Linux Niri Shell Framework License Style

A complete, turnkey desktop environment combining Niri's revolutionary scrollable-tiling Wayland window manager with DankMaterialShell's macOS-style animated dock, Spotlight search, Launchpad, and Control Center.

Overview β€’ Key Features β€’ Quick Install β€’ Keybindings β€’ Architecture β€’ Customization β€’ Uninstallation


LinuxMacOSUI Desktop Overview

πŸ“Έ Visual Showcase

πŸš€ macOS Launchpad & πŸŽ›οΈ Control Center Dashboard

macOS Launchpad Grid Control Center Dashboard

πŸ’» Fastfetch Terminal & 🌐 Multitasking Workflow

Fastfetch Terminal with Dock macOS Workflow

πŸ”” Native Rounded Notification Toast

Notification Toast


🌟 Overview

LinuxMacOSUI is a fully configured, battery-included desktop setup that gives you the visual refinement, smooth gestures, and ergonomics of macOS, combined with the blazing performance, infinite scrollable tiling, and freedom of Linux.

Why this setup?

  • Smooth Animated Dock: True macOS-style dock with 185% hover magnification, running indicators, and launchpad integration.
  • Spotlight Search: Instant fuzzy file and application searching (Alt+Space or Ctrl+Space) powered by dsearch.
  • macOS Launchpad & Control Center: Full-screen application grid and unified system settings drawer (Wi-Fi, Bluetooth, Audio, Dark Mode).
  • Revolutionary Window Tiling: Powered by Niri β€” an infinite horizontal ribbon of windows, eliminating the claustrophobia of traditional grid tiling.
  • Material You Dynamic Theming: Colors automatically adapt to your desktop wallpaper via Matugen and dgop.

⚑ Key Features

πŸš€ 1. macOS-Style Animated Bottom Dock

  • Hover Magnification: Dynamically scales icons up to 185% with smooth parabolic easing as your cursor sweeps across.
  • Tiling Strut Guard: Automatically reserves 76px at the bottom of the screen (layout.kdl), ensuring tiled windows never obstruct the dock.
  • Visual Indicators: Circular glowing indicators for active and running apps.
  • Dedicated Launchpad Rocket: Vector macos-launchpad.svg launcher built right into the dock.

πŸ” 2. Spotlight-Style Deep Search (dsearch)

  • Supercharged launcher daemon running in the background via systemd.
  • Instantly launches apps, navigates directories, and calculates math expressions.
  • Triggered anywhere via Alt+Space, Ctrl+Space, or Mod+D.

πŸ“± 3. Launchpad Application Grid (Mod + A)

  • Fullscreen macOS-style application drawer with categorized icons and search-as-you-type.

πŸŽ›οΈ 4. Unified Control Center (Mod + Shift + C)

  • macOS Big Sur/Sonoma-inspired control center with toggles for:
    • Wi-Fi network selection
    • Bluetooth device manager
    • Audio output sink & volume slider
    • Display brightness
    • Dark / Light Mode switcher
    • Power profiles & System shutdown

πŸ“Š 5. Desktop Widgets & Specialized Plugins

  • System Monitor Plus: Circular gauges for CPU usage, CPU temp, RAM usage, and GPU metrics.
  • Cava Audio Spectrum Visualizer: Dynamic visualizer synced to your audio output.
  • Desktop Weather Widget: Real-time forecast with weather condition glyphs.
  • Interactive Keybinding Cheat Sheet: Built-in hotkey overlay accessible on the desktop.

πŸ”’ 6. Seamless Lock Screen & Blur

  • Elegant lock screen with background wallpaper Gaussian blur, media controls, and PAM integration.

πŸ’» 7. Modern Terminal Setup

  • Custom Kitty and Alacritty themes (dank-theme.conf, dank-tabs.conf).
  • Pre-configured Fastfetch banner displaying hardware and desktop specifications.
  • Bundled WhiteSur macOS cursor theme.

πŸš€ One-Click Quick Installation

Run the automated installer directly in your terminal:

git clone https://github.com/gmudz/LinuxMacOSUI.git
cd LinuxMacOSUI
chmod +x install.sh
./install.sh

Supported Distributions

  • Debian 12/13 / Ubuntu 24.04+ / Linux Mint / Pop!_OS
  • Arch Linux / Manjaro / EndeavourOS (via pacman & yay/paru)
  • Fedora 39/40+

What the installer does:

  1. Automatically detects your package manager and installs all necessary dependencies (niri, quickshell, matugen, dgop, danksearch, kitty, swaybg).
  2. Downloads and sets up the latest DankMaterialShell QML engine.
  3. Creates a timestamped backup of any existing configurations in ~/.config/backup_before_niri_<timestamp>/.
  4. Deploys the macOS-style dock, themes, wallpapers, and WhiteSur cursors.
  5. Enables user background services (dms.service, dsearch.service).
  6. Registers the Niri session in /usr/share/wayland-sessions/ for your login display manager (GDM, SDDM, greetd).

⌨️ Keyboard Shortcuts Cheatsheet

Shortcut Action Description
Super + Return / Super + T πŸ“Ÿ Launch Terminal Opens Kitty with macOS Dank theme
Ctrl + Space / Alt + Space / Mod + D πŸ” Spotlight Search Opens DankSearch fuzzy app & file launcher
Mod + A / (Dock Rocket Icon) πŸš€ Launchpad Toggles macOS fullscreen application grid
Mod + Shift + C πŸŽ›οΈ Control Center Opens Quick Settings (Wi-Fi, Bluetooth, Audio, Power)
Mod + Shift + N πŸ”” Notification Center Opens notification drawer & history
Mod + Shift + , βš™οΈ DMS Settings Opens GUI settings (Theme, Dock, Blur, Widgets)
Super + Left / Right ↔️ Scroll Workspace Smoothly scrolls the horizontal window ribbon
Super + Shift + Left / Right πŸ”€ Move Window Moves active window column left or right
Super + Up / Down ↕️ Window Column Moves focus between windows in the same column
Super + F πŸ”² Maximize / Fullscreen Expands window to full workspace width
Super + Shift + Q ❌ Close Window Closes focused window
Super + Shift + S πŸ“Έ Screenshot Interactive area screenshot tool
Volume / Brightness Keys πŸ”Š / πŸ”† Hardware Controls Adjusts audio sink and backlight with HUD feedback

πŸ›οΈ Architecture & Components

                               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                               β”‚       Display Manager     β”‚
                               β”‚    (GDM / SDDM / greetd)  β”‚
                               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                             β”‚ Launches /usr/share/wayland-sessions/niri.desktop
                                             β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                 Niri Wayland Compositor                                     β”‚
β”‚                                (~/.config/niri/config.kdl)                                  β”‚
β”‚                                                                                             β”‚
β”‚  Top Strut: 38px (Top Bar Reserved)        β”‚   Bottom Strut: 76px (Dock Reserved)           β”‚
β”‚  Horizontal Scrollable Window Columns      β”‚   Border Radius: 16px, Focus Rings             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                             β”‚
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚                                           β”‚
                       β–Ό                                           β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         DankMaterialShell Daemon             β”‚   β”‚             DankSearch Daemon            β”‚
β”‚                 (dms.service)                β”‚   β”‚             (dsearch.service)            β”‚
β”‚                                              β”‚   β”‚                                          β”‚
β”‚  β€’ Animated macOS Bottom Dock (185% Zoom)    β”‚   β”‚  β€’ Spotlight App & File Search           β”‚
β”‚  β€’ Material Design 3 Top Panel & Status      β”‚   β”‚  β€’ Lightning fast indexing (<10ms)       β”‚
β”‚  β€’ Control Center & Quick Toggles            β”‚   β”‚  β€’ IPC Integration with Niri Binds       β”‚
β”‚  β€’ Launchpad Application Drawer              β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚  β€’ Cava Visualizer & System Monitor Gauges   β”‚
β”‚  β€’ Lock Screen with Wallpaper Blur           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‚ Repository Structure

LinuxMacOSUI/
β”œβ”€β”€ install.sh                       # Universal one-click installer script
β”œβ”€β”€ uninstall.sh                     # Safe uninstaller & rollback tool
β”œβ”€β”€ README.md                        # Documentation & keybindings guide
β”œβ”€β”€ LICENSE                          # Boost Software License
β”‚
β”œβ”€β”€ config/                          # Dotfiles copied to ~/.config/
β”‚   β”œβ”€β”€ niri/
β”‚   β”‚   β”œβ”€β”€ config.kdl               # Master Niri compositor config
β”‚   β”‚   └── dms/                     # Injected struts, colors & binds
β”‚   β”œβ”€β”€ DankMaterialShell/           # DMS Desktop Shell Configuration
β”‚   β”‚   β”œβ”€β”€ settings.json            # Dock, widgets, themes, lockscreen
β”‚   β”‚   β”œβ”€β”€ plugin_settings.json     # Cava, Weather, SystemMonitor, CheatSheet
β”‚   β”‚   β”œβ”€β”€ firefox.css              # Custom browser styling
β”‚   β”‚   └── themes/                  # synthwaveElectric & custom themes
β”‚   β”œβ”€β”€ danksearch/                  # Spotlight search configuration
β”‚   β”œβ”€β”€ dgop/                        # Matugen dynamic color templates
β”‚   β”œβ”€β”€ kitty/                       # Kitty terminal configuration
β”‚   β”œβ”€β”€ alacritty/                   # Alacritty configuration
β”‚   └── fastfetch/                   # Terminal info banner
β”‚
β”œβ”€β”€ systemd/                         # Systemd user services (dms, dsearch)
β”œβ”€β”€ bin/                             # Helper scripts (dms-runner, macos-screenshot)
β”œβ”€β”€ session/                         # Wayland session files (niri.desktop, niri-session)
└── assets/                          # WhiteSur cursors, macOS icons, and wallpapers

🎨 Customization Guide

1. Changing the Wallpaper & Auto-Theming

LinuxMacOSUI uses Matugen to automatically generate a matching Material You color palette from your wallpaper:

  1. Open DMS Settings via Mod + Shift + ,.
  2. Navigate to Wallpaper and select your desired image (or place it in ~/.local/share/wallpapers/).
  3. The shell, dock, borders, and terminal will re-color dynamically to complement the new wallpaper!

2. Adjusting Dock Settings

Open Mod + Shift + , and click Dock:

  • Enlarge on Hover: Toggle magnification on or off.
  • Zoom Percentage: Adjust the scale percentage (default: 185%).
  • Autohide: Enable smart autohide if you prefer full-screen immersion.
  • Position: Change dock placement (Bottom, Left, Right).

3. Keyboard Layouts

To add or change keyboard layouts, edit ~/.config/niri/config.kdl:

input {
    keyboard {
        xkb {
            layout "us,tr,ara"
            options "grp:alt_shift_toggle"
        }
    }
}

Niri reloads changes instantly upon saving.


πŸ—‘οΈ Uninstallation / Rollback

If you ever wish to restore your original setup, simply run:

cd LinuxMacOSUI
./uninstall.sh

The script will disable the user services and prompt you to restore your configurations from the automatic backup created during installation.


🀝 Credits & Acknowledgments


Maintained with ❀️ by Murad Ashkar (gmudz)

About

🍎 Turnkey macOS-style UI on Linux powered by Niri (scrollable tiling), DankMaterialShell (animated dock, spotlight, control center), and automated multi-distro installer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages