pełna konfiguracja noctalia i czystka waybar, swaync, wlogout i skryptów

This commit is contained in:
2026-02-02 21:23:05 +01:00
parent 80d7fc08cc
commit e5b5d68808
117 changed files with 1041 additions and 6119 deletions

View File

@@ -0,0 +1,33 @@
{
config,
lib,
...
}: let
stylix = config.stylix.base16Scheme;
in {
programs.noctalia-shell.colors = lib.mkForce {
mPrimary = "#${stylix.base04}";
mOnPrimary = "#${stylix.base00}";
mSecondary = "#${stylix.base05}";
mOnSecondary = "#${stylix.base00}";
mTertiary = "#${stylix.base03}";
mOnTertiary = "#${stylix.base00}";
mError = "#${stylix.base02}";
mOnError = "#${stylix.base00}";
mSurface = "#${stylix.base01}";
mOnSurface = "#${stylix.base0E}";
mSurfaceVariant = "#${stylix.base00}";
mOnSurfaceVariant = "#${stylix.base0A}";
mOutline = "#${stylix.base08}";
mShadow = "#${stylix.base00}";
mOnHover = "#${stylix.base0B}";
mHover = "#${stylix.base00}";
};
}

View File

@@ -0,0 +1,21 @@
{
lib,
inputs,
system,
...
}: {
programs.noctalia-shell = {
enable = true;
package = inputs.noctalia.packages.${system}.default.override {
calendarSupport = true;
};
systemd.enable = true;
settings.settingsVersion = lib.mkForce 46;
};
imports = [
./settings
./colors.nix
./plugins.nix
];
}

View File

@@ -0,0 +1,40 @@
{lib, ...}: {
programs.noctalia-shell = lib.mkForce {
plugins = {
sources = [
{
enabled = true;
name = "Noctalia Plugins";
url = "https://github.com/noctalia-dev/noctalia-plugins";
}
];
states = {
mini-docker = {
enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
};
timer = {
enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
};
keybind-cheatsheet = {
enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
};
};
version = 1;
};
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 = 700;
autoHeight = true;
};
};
};
}

View File

@@ -0,0 +1,25 @@
{lib, ...}: {
programs.noctalia-shell.settings.appLauncher = lib.mkForce {
enableClipboardHistory = true;
autoPasteClipboard = false;
enableClipPreview = true;
clipboardWrapText = true;
clipboardWatchTextCommand = "wl-paste --type text --watch cliphist store";
clipboardWatchImageCommand = "wl-paste --type image --watch cliphist store";
position = "center";
pinnedApps = [];
useApp2Unit = true;
sortByMostUsed = true;
terminalCommand = "kitty -e";
customLaunchPrefixEnabled = false;
customLaunchPrefix = "";
viewMode = "list";
showCategories = true;
iconMode = "native";
showIconBackground = false;
enableSettingsSearch = true;
enableWindowsSearch = true;
ignoreMouseInput = false;
screenshotAnnotationTool = "";
};
}

View File

@@ -0,0 +1,11 @@
{lib, ...}: {
programs.noctalia-shell.settings.audio = lib.mkForce {
"volumeStep" = 5;
"volumeOverdrive" = true;
"cavaFrameRate" = 144;
"visualizerType" = "linear";
"mprisBlacklist" = [];
"preferredPlayer" = "mpv";
"volumeFeedback" = false;
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
username,
...
}: {
programs.noctalia-shell.settings.bar = lib.mkForce {
barType = "simple";
position = "top";
monitors = [];
density = "default";
showOutline = false;
showCapsule = true;
capsuleOpacity = 0;
backgroundOpacity = 0;
useSeparateOpacity = true;
floating = false;
marginVertical = 4;
marginHorizontal = 4;
frameThickness = 8;
frameRadius = 12;
outerCorners = true;
hideOnOverview = false;
displayMode = "always_visible";
autoHideDelay = 500;
autoShowDelay = 150;
screenOverrides = [];
widgets = {
left = (import ./widgets/left.nix {}).left;
center = (import ./widgets/center.nix {}).center;
right = (import ./widgets/right.nix {inherit username;}).right;
};
};
}

View File

@@ -0,0 +1,23 @@
_: {
center = [
{
id = "Workspace";
characterCount = 2;
colorizeIcons = false;
emptyColor = "secondary";
enableScrollWheel = true;
focusedColor = "primary";
followFocusedScreen = false;
groupedBorderOpacity = 0;
hideUnoccupied = false;
iconScale = 1;
labelMode = "index";
occupiedColor = "secondary";
reverseScroll = false;
showApplications = true;
showBadge = true;
showLabelsOnlyWhenOccupied = true;
unfocusedIconsOpacity = 1;
}
];
}

View File

@@ -0,0 +1,57 @@
_: {
left = [
{
id = "Launcher";
icon = "rocket";
usePrimaryColor = true;
}
{
id = "Clock";
customFont = "";
formatHorizontal = "HH:mm:ss";
formatVertical = "HH mm ss - ddd MMM d";
tooltipFormat = "ddd MMM d HH:mm:ss";
useCustomFont = false;
usePrimaryColor = false;
}
{
id = "SystemMonitor";
compactMode = true;
diskPath = "/home";
showCpuFreq = false;
showCpuTemp = false;
showCpuUsage = true;
showDiskAsFree = true;
showDiskUsage = true;
showGpuTemp = false;
showLoadAverage = false;
showMemoryAsPercent = false;
showMemoryUsage = true;
showNetworkStats = true;
showSwapUsage = false;
useMonospaceFont = true;
usePrimaryColor = false;
}
{
id = "plugin:mini-docker";
}
{
id = "MediaMini";
compactMode = true;
compactShowAlbumArt = true;
compactShowVisualizer = true;
hideMode = "hidden";
hideWhenIdle = false;
maxWidth = 145;
panelShowAlbumArt = true;
panelShowVisualizer = true;
scrollingMode = "hover";
showAlbumArt = true;
showArtistFirst = true;
showProgressRing = true;
showVisualizer = true;
useFixedWidth = false;
visualizerType = "linear";
}
];
}

View File

@@ -0,0 +1,61 @@
{username, ...}: {
right = [
{
id = "Tray";
blacklist = [];
colorizeIcons = false;
drawerEnabled = false;
hidePassive = false;
pinned = [];
}
{
id = "plugin:keybind-cheatsheet";
}
{
id = "plugin:timer";
defaultSettings = {
compactMode = true;
defaultDuration = 0;
};
}
{
id = "NotificationHistory";
hideWhenZero = false;
hideWhenZeroUnread = false;
showUnreadBadge = true;
unreadBadgeColor = "primary";
}
{
id = "Bluetooth";
displayMode = "onhover";
}
{
id = "Battery";
deviceNativePath = "__default__";
displayMode = "onhover";
hideIfIdle = false;
hideIfNotDetected = true;
showNoctaliaPerformance = false;
showPowerProfiles = false;
warningThreshold = 30;
}
{
id = "Volume";
displayMode = "alwaysShow";
middleClickCommand = "pwvucontrol || pavucontrol";
}
# {
# "id" = "Brightness";
# "displayMode" = "onhover";
# }
{
id = "ControlCenter";
colorizeDistroLogo = false;
colorizeSystemIcon = "none";
customIconPath = "/home/${username}/garandos/GarandOS.svg";
enableColorization = false;
icon = "noctalia";
useDistroLogo = false;
}
];
}

View File

@@ -0,0 +1,7 @@
{lib, ...}: {
programs.noctalia-shell.settings.brightness = lib.mkForce {
brightnessStep = 5;
enforceMinimum = true;
enableDdcSupport = true;
};
}

View File

@@ -0,0 +1,16 @@
{lib, ...}: {
programs.noctalia-shell.settings.calendar.cards = lib.mkForce [
{
enabled = true;
id = "calendar-header-card";
}
{
enabled = true;
id = "calendar-month-card";
}
{
enabled = true;
id = "weather-card";
}
];
}

View File

@@ -0,0 +1,12 @@
{lib, ...}: {
programs.noctalia-shell.settings.colorSchemes = lib.mkForce {
useWallpaperColors = false;
predefinedScheme = "Noctalia (default)";
darkMode = true;
schedulingMode = "off";
manualSunrise = "06:30";
manualSunset = "18:30";
generationMethod = "tonal-spot";
monitorForColors = "";
};
}

View File

@@ -0,0 +1,62 @@
{lib, ...}: {
programs.noctalia-shell.settings.controlCenter = lib.mkForce {
position = "close_to_bar_button";
diskPath = "/home";
shortcuts = {
left = [
{
id = "Network";
}
{
id = "Bluetooth";
}
{
id = "WallpaperSelector";
}
{
id = "NoctaliaPerformance";
}
];
right = [
{
id = "Notifications";
}
{
id = "PowerProfile";
}
{
id = "KeepAwake";
}
{
id = "NightLight";
}
];
};
cards = [
{
enabled = true;
id = "profile-card";
}
{
enabled = true;
id = "shortcuts-card";
}
{
enabled = true;
id = "audio-card";
}
{
enabled = true;
id = "brightness-card";
}
{
enabled = true;
id = "weather-card";
}
{
enabled = true;
id = "media-sysmon-card";
}
];
};
}

View File

@@ -0,0 +1,25 @@
_: {
imports = [
./bar
./notifications
./app-launcher.nix
./audio.nix
./brightness.nix
./calendar.nix
./color-schemes.nix
./control-center.nix
./desktop-widgets.nix
./dock.nix
./general.nix
./hooks.nix
./location.nix
./network.nix
./night-light.nix
./osd.nix
./session-menu.nix
./system-monitor.nix
./templates.nix
./ui.nix
./wallpapers.nix
];
}

View File

@@ -0,0 +1,7 @@
{lib, ...}: {
programs.noctalia-shell.settings.desktop-widgets = lib.mkForce {
"enabled" = false;
"gridSnap" = false;
"monitorWidgets" = [];
};
}

View File

@@ -0,0 +1,18 @@
{lib, ...}: {
programs.noctalia-shell.settings.dock = lib.mkForce {
enabled = false;
position = "bottom";
displayMode = "auto_hide";
backgroundOpacity = 0;
floatingRatio = 1;
size = 1.5;
onlySameOutput = false;
monitors = [];
pinnedApps = [];
colorizeIcons = false;
pinnedStatic = false;
inactiveIndicators = false;
deadOpacity = 0.5;
animationSpeed = 1;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
host,
username,
...
}: let
inherit (import ../../../../hosts/${host}/variables.nix) keyboardLayout;
in {
programs.noctalia-shell.settings.general = lib.mkForce {
avatarImage = "/home/${username}/.face.icon";
dimmerOpacity = 0.2;
showScreenCorners = false;
forceBlackScreenCorners = false;
scaleRatio = 1;
radiusRatio = 2;
iRadiusRatio = 2;
boxRadiusRatio = 1;
screenRadiusRatio = 1;
animationSpeed = 1;
animationDisabled = false;
compactLockScreen = false;
lockOnSuspend = true;
showSessionButtonsOnLockScreen = true;
showHibernateOnLockScreen = false;
enableShadows = true;
shadowDirection = "bottom_right";
shadowOffsetX = 2;
shadowOffsetY = 3;
language = "${keyboardLayout}";
allowPanelsOnScreenWithoutBar = true;
showChangelogOnStartup = true;
telemetryEnabled = false;
enableLockScreenCountdown = true;
lockScreenCountdownDuration = 10000;
autoStartAuth = false;
allowPasswordWithFprintd = false;
};
}

View File

@@ -0,0 +1,13 @@
{lib, ...}: {
programs.noctalia-shell.settings.hooks = lib.mkForce {
"enabled" = false;
"wallpaperChange" = "";
"darkModeChange" = "";
"screenLock" = "";
"screenUnlock" = "";
"performanceModeEnabled" = "";
"performanceModeDisabled" = "";
"startup" = "";
"session" = "";
};
}

View File

@@ -0,0 +1,22 @@
{
lib,
host,
...
}: let
inherit (import ../../../../hosts/${host}/variables.nix) location;
in {
programs.noctalia-shell.settings.location = lib.mkForce {
name = "${location}";
weatherEnabled = true;
weatherShowEffects = true;
useFahrenheit = false;
use12hourFormat = false;
showWeekNumberInCalendar = false;
showCalendarEvents = true;
showCalendarWeather = true;
analogClockInCalendar = false;
firstDayOfWeek = -1;
hideWeatherTimezone = false;
hideWeatherCityName = false;
};
}

View File

@@ -0,0 +1,10 @@
{lib, ...}: {
programs.noctalia-shell.settings.network = lib.mkForce {
wifiEnabled = true;
bluetoothRssiPollingEnabled = true;
bluetoothRssiPollIntervalMs = 10000;
wifiDetailsViewMode = "grid";
bluetoothDetailsViewMode = "grid";
bluetoothHideUnnamedDevices = false;
};
}

View File

@@ -0,0 +1,11 @@
{lib, ...}: {
programs.noctalia-shell.settings.nightLight = lib.mkForce {
"enabled" = false;
"forced" = false;
"autoSchedule" = true;
"nightTemp" = "4177";
"dayTemp" = "6500";
"manualSunrise" = "06:30";
"manualSunset" = "18:30";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
username,
...
}: {
programs.noctalia-shell.settings.notifications = lib.mkForce {
enabled = true;
monitors = [];
location = "top_right";
overlayLayer = true;
backgroundOpacity = 0;
respectExpireTimeout = false;
lowUrgencyDuration = 3;
normalUrgencyDuration = 8;
criticalUrgencyDuration = 15;
enableKeyboardLayoutToast = false;
saveToHistory = {
low = true;
normal = true;
critical = true;
};
sounds = {
enabled = true;
volume = 0.5;
separateSounds = false;
criticalSoundFile = "/home/${username}/garandos/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3";
normalSoundFile = "/home/${username}/garandos/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3";
lowSoundFile = "/home/${username}/garandos/modules/home/noctalia/settings/notifications/payday-2-new-objective-sound-effect.mp3";
excludedApps = "discord,firefox,chrome,chromium,edge";
};
enableMediaToast = false;
};
}

View File

@@ -0,0 +1,15 @@
{lib, ...}: {
programs.noctalia-shell.settings.osd = lib.mkForce {
"enabled" = true;
"location" = "right";
"autoHideMs" = 2000;
"overlayLayer" = true;
"backgroundOpacity" = 0;
"enabledTypes" = [
0
1
2
];
"monitors" = [];
};
}

View File

@@ -0,0 +1,49 @@
{lib, ...}: {
programs.noctalia-shell.settings.sessionMenu = lib.mkForce {
enableCountdown = false;
countdownDuration = 10000;
position = "center";
showHeader = true;
largeButtonsStyle = true;
largeButtonsLayout = "grid";
showNumberLabels = true;
powerOptions = [
{
action = "lock";
command = "";
countdownEnabled = true;
enabled = true;
}
{
action = "suspend";
command = "";
countdownEnabled = true;
enabled = true;
}
{
action = "hibernate";
command = "";
countdownEnabled = true;
enabled = true;
}
{
action = "reboot";
command = "";
countdownEnabled = true;
enabled = true;
}
{
action = "logout";
command = "";
countdownEnabled = true;
enabled = true;
}
{
action = "shutdown";
command = "";
countdownEnabled = true;
enabled = true;
}
];
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
config,
...
}: let
stylix = config.stylix.base16Scheme;
in {
programs.noctalia-shell.settings.systemMonitor = lib.mkForce {
cpuWarningThreshold = 80;
cpuCriticalThreshold = 90;
tempWarningThreshold = 80;
tempCriticalThreshold = 90;
gpuWarningThreshold = 80;
gpuCriticalThreshold = 90;
memWarningThreshold = 80;
memCriticalThreshold = 90;
swapWarningThreshold = 80;
swapCriticalThreshold = 90;
diskWarningThreshold = 80;
diskCriticalThreshold = 90;
cpuPollingInterval = 3000;
tempPollingInterval = 3000;
gpuPollingInterval = 3000;
enableDgpuMonitoring = false;
memPollingInterval = 3000;
diskPollingInterval = 30000;
networkPollingInterval = 3000;
loadAvgPollingInterval = 3000;
useCustomColors = true;
warningColor = "#${stylix.base03}";
criticalColor = "#${stylix.base02}";
externalMonitor = "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor";
};
}

View File

@@ -0,0 +1,6 @@
{lib, ...}: {
programs.noctalia-shell.settings.templates = lib.mkForce {
activeTemplates = [];
enableUserTheming = false;
};
}

View File

@@ -0,0 +1,17 @@
{lib, ...}: {
programs.noctalia-shell.settings.ui = lib.mkForce {
fontDefault = "Fira Code";
fontFixed = "Fira Mono for Powerline";
fontDefaultScale = 1;
fontFixedScale = 1;
tooltipsEnabled = true;
panelBackgroundOpacity = 0.76;
panelsAttachedToBar = true;
settingsPanelMode = "attached";
wifiDetailsViewMode = "grid";
bluetoothDetailsViewMode = "grid";
networkPanelView = "wifi";
bluetoothHideUnnamedDevices = false;
boxBorderEnabled = false;
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
host,
username,
...
}: let
inherit (import ../../../../hosts/${host}/variables.nix) stylixImage;
in {
programs.noctalia-shell.settings.wallpaper = lib.mkForce {
enabled = true;
overviewEnabled = false;
directory = "/home/${username}/Pictures/Wallpapers";
monitorDirectories = [];
enableMultiMonitorDirectories = false;
showHiddenFiles = false;
viewMode = "single";
setWallpaperOnAllMonitors = true;
fillMode = "crop";
fillColor = "#000000";
useSolidColor = false;
solidColor = "#1a1a2e";
automationEnabled = false;
wallpaperChangeMode = "random";
randomIntervalSec = 300;
transitionDuration = 1500;
transitionType = "random";
transitionEdgeSmoothness = 0.05;
panelPosition = "follow_bar";
hideWallpaperFilenames = false;
useWallhaven = false;
wallhavenQuery = "";
wallhavenSorting = "relevance";
wallhavenOrder = "desc";
wallhavenCategories = "111";
wallhavenPurity = "100";
wallhavenRatios = "";
wallhavenApiKey = "";
wallhavenResolutionMode = "atleast";
wallhavenResolutionWidth = "";
wallhavenResolutionHeight = "";
sortOrder = "name";
};
home.file.".cache/noctalia/wallpapers.json".text = lib.mkForce (builtins.toJSON {
defaultWallpaper = ../../../../wallpapers/${stylixImage};
});
}