Files
garandos/modules/home/noctalia/plugins.nix
T
GarandPLG e4b359c5ca Add screenshot and ntfy plugins; update keybinds
Disable the notify-client module on all hosts. Install hyprshot, enable
screenshot and ntfy‑notifications plugins, set screenshot mode to
region,
and add keybindings for these features. Introduce a restart‑noctalia
script and include it in the home scripts.
2026-05-14 18:14:05 +02:00

98 lines
2.7 KiB
Nix

{lib, ...}: let
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
in {
programs.noctalia-shell = lib.mkForce {
plugins = {
sources = [
{
enabled = true;
name = "Noctalia Plugins";
url = sourceUrl;
}
];
states = {
mini-docker = {
enabled = true;
sourceUrl = sourceUrl;
};
timer = {
enabled = true;
sourceUrl = sourceUrl;
};
keybind-cheatsheet = {
enabled = true;
sourceUrl = sourceUrl;
};
kde-connect = {
enabled = true;
sourceUrl = sourceUrl;
};
screen-recorder = {
enabled = true;
sourceUrl = sourceUrl;
};
screenshot = {
enabled = true;
sourceUrl = sourceUrl;
};
ntfy-notifications = {
enabled = true;
sourceUrl = sourceUrl;
};
};
version = 2;
};
pluginSettings = {
mini-docker.refreshInterval = 5000;
timer.compactMode = true;
keybind-cheatsheet = {
niriConfigPath = "~/.config/niri/config.kdl";
hyprlandConfigPath = "~/.config/hypr/hyprland.conf";
modKeyVariable = "SUPER";
windowHeight = 850;
windowWidth = 1100;
columnCount = 2;
autoHeight = true;
};
kde-connect = {
hideIfNoDeviceConnected = true;
};
screen-recorder = {
hideInactive = true;
iconColor = "none";
directory = "";
filenamePattern = "recording_yyyyMMdd_HHmmss";
frameRate = 60;
audioCodec = "aac";
videoCodec = "hevc";
quality = "ultra";
colorRange = "full";
showCursor = true;
copyToClipboard = false;
audioSource = "both";
videoSource = "portal";
resolution = "1920x1080";
replayEnabled = true;
replayDuration = 60;
customReplayDuration = 30;
replayStorage = "disk";
restorePortalSession = true;
customFrameRate = 6;
};
screenshot.mode = "region";
# ntfy-notifications = {
# serverUrl = "https://ntfy.garandplg.com";
# topics = "beszel,dockhand,jellyfin,nixos-unstable,radarr,rss-feeds,seerr,sonarr";
# authMethod = "basic";
# authToken = "";
# authUsername = ''$(cat ${config.sops.secrets."credentials/ntfy/username".path})'';
# authPassword = ''$(cat ${config.sops.secrets."credentials/ntfy/password".path})'';
# pollInterval = 30;
# enableToasts = true;
# maxMessages = 100;
# readMessageIds = [];
# };
};
};
}