Back to plugins
Profiles

Profiles

Save, load, and manage Noctalia configuration profiles.

v1.0.1 Archlexx MIT Apr 25, 2026

About

๐Ÿ—‚๏ธ Profile manager for Noctalia

License: MIT Noctalia Version Languages

A powerful plugin to save, load, and manage your entire desktop configuration snapshots. Switch between setups, colors, and wallpapers in a single click.

๐Ÿ“ท Widget Preview

Preview

Gif

โœจ Features

  • Save profiles โ€” Snapshot settings.json, colors.json, plugins.json, and wallpapers.
  • Apply profiles โ€” Restore a full configuration instantly.
  • Active indicator โ€” Visual feedback (accent bar + check icon) for the current profile.
  • Auto-backup โ€” Safety first! Current config is backed up before applying new ones.
  • Search โ€” Real-time filtering by profile name.
  • IPC Support โ€” Fully scriptable via qs ipc.
  • i18n โ€” Support for 12 languages out of the box.

๐ŸŽจ Assets

[!NOTE] To keep the plugin repository lightweight, the themes shown in the screenshots and GIF are available at the link below. They include high-resolution wallpapers and full configurations.

๐Ÿ‘‰ Download Themes here

Caelestia Darklestia Demon
Caelestia Darklestia Demon
MacOS MacOS Dark Windows 26
MacOS ![MacOS Dark](https://raw.githubusercontent.com/noctalia-dev/noctalia-plugins/main/shell-profiles/<assets/profiles/MacOS Dark/preview.png>) ![Windows 26](https://raw.githubusercontent.com/noctalia-dev/noctalia-plugins/main/shell-profiles/<assets/profiles/Windows 26/preview.png>)

๐Ÿ› ๏ธ Installation

  1. Go to plugins in your noctalia settings, and download it.
  2. Enable the plugin.

โš™๏ธ Settings

Setting Default Description
profilesDir ~/.config/noctalia/profiles/ Directory where profiles are stored
icon bookmark Tabler icon shown in the bar widget
iconColor primary Accent color for the bar icon (primary, secondary, tertiary, error)
includeWallpapers true Whether new profile rows default to applying wallpapers
backupEnabled true Create an auto-backup before each profile apply
backupCount 5 Maximum number of backups to keep (1โ€“20)

Profile structure

~/.config/noctalia/profiles/
โ”œโ”€โ”€ my-profile/
โ”‚   โ”œโ”€โ”€ settings.json
โ”‚   โ”œโ”€โ”€ colors.json
โ”‚   โ”œโ”€โ”€ plugins.json
โ”‚   โ”œโ”€โ”€ wallpapers.json
โ”‚   โ””โ”€โ”€ meta.json          โ† { "savedAt": "2026-04-03T00:35:00.000Z" }
โ””โ”€โ”€ _backups/
    โ””โ”€โ”€ 2026-04-03_00-35-00/
        โ”œโ”€โ”€ settings.json
        โ”œโ”€โ”€ colors.json
        โ”œโ”€โ”€ plugins.json
        โ”œโ”€โ”€ wallpapers.json
        โ””โ”€โ”€ meta.json

Profiles whose folder name starts with _ or . are hidden from the list.


โŒจ๏ธ IPC

Send commands to the plugin from a script or keybind:

# Toggle the profiles panel
qs ipc call plugin:shell-profiles toggleProfiles

# Apply a profile by name (uses the default includeWallpapers setting)
qs ipc call plugin:shell-profiles applyProfile 'my-profile'

Binding IPC to keybinds by compositor

Hyprland (~/.config/hypr/hyprland.conf)

bind = SUPER, P, exec, qs -c noctalia-shell ipc call plugin:shell-profiles toggleProfiles
bind = SUPER SHIFT, F1, exec, qs -c noctalia-shell ipc call plugin:shell-profiles applyProfile 'Darklestia'

Niri (~/.config/niri/config.kdl)

binds {
    Mod+Shift+P { spawn "sh" "-c" "qs ipc call plugin:shell-profiles toggleProfiles"; }
    Mod+Shift+F1 { spawn "sh" "-c" "qs ipc call plugin:shell-profiles applyProfile 'my-profile'"; }
}

Sway (~/.config/sway/config)

bindsym $mod+Shift+p exec qs ipc call plugin:shell-profiles toggleProfiles
bindsym $mod+Shift+F1 exec qs ipc call plugin:shell-profiles applyProfile 'my-profile'

labwc (~/.config/labwc/rc.xml)

<keybind key="W-S-p">
  <action name="Execute">
    <command>qs ipc call plugin:shell-profiles toggleProfiles</command>
  </action>
</keybind>
<keybind key="W-S-F1">
  <action name="Execute">
    <command>qs ipc call plugin:shell-profiles applyProfile 'my-profile'</command>
  </action>
</keybind>

๐ŸŒ Languages

Code Language
en English
es Spanish
de German
fr French
it Italian
pt Portuguese
nl Dutch
ru Russian
ja Japanese
zh-CN Chinese (Simplified)
tr Turkish
uk-UA Ukrainian

๐Ÿ“œ License

This project is licensed under the MIT License.