From 5ec404194a06dd4745ed427ac30da97f2e1236dd Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 9 Feb 2026 09:03:55 -0500 Subject: [PATCH] refactor noctalia --- home/tiling/noctalia.nix | 651 ++++++++++++++++++++++++--------------- 1 file changed, 408 insertions(+), 243 deletions(-) diff --git a/home/tiling/noctalia.nix b/home/tiling/noctalia.nix index 3dd0c1f..5997504 100644 --- a/home/tiling/noctalia.nix +++ b/home/tiling/noctalia.nix @@ -25,39 +25,134 @@ mOnHover = base00; }; settings = { - settingsVersion = 0; - brightness = { - brightnessStep = 5; - enforceMinimum = false; + appLauncher = { + autoPasteClipboard = false; + clipboardWatchImageCommand = "wl-paste --type image --watch cliphist store"; + clipboardWatchTextCommand = "wl-paste --type text --watch cliphist store"; + clipboardWrapText = true; + customLaunchPrefix = ""; + customLaunchPrefixEnabled = false; + enableClipPreview = true; + enableClipboardHistory = true; + enableSettingsSearch = true; + enableWindowsSearch = true; + iconMode = "tabler"; + ignoreMouseInput = false; + overviewLayer = false; + pinnedApps = [ ]; + position = "top_left"; + screenshotAnnotationTool = ""; + showCategories = true; + showIconBackground = false; + sortByMostUsed = true; + terminalCommand = "kitty -e"; + useApp2Unit = false; + viewMode = "list"; }; + + audio = { + cavaFrameRate = 30; + mprisBlacklist = [ ]; + preferredPlayer = ""; + visualizerType = "linear"; + volumeFeedback = false; + volumeOverdrive = false; + volumeStep = 5; + }; + bar = { - # position = "top"; - # density = "spacious"; + autoHideDelay = 500; + autoShowDelay = 150; backgroundOpacity = 1; monitors = [ ]; showCapsule = true; + barType = "simple"; + capsuleColorKey = "none"; capsuleOpacity = 1; + displayMode = "always_visible"; floating = false; - marginVertical = 0.25; - marginHorizontal = 0.25; + marginHorizontal = 5; + marginVertical = 5; + frameRadius = 12; + frameThickness = 8; + hideOnOverview = false; outerCorners = false; - exclusive = true; + screenOverrides = [ ]; + showOutline = false; + useSeparateOpacity = false; widgets = { + center = [ ]; left = [ { - id = "Workspace"; + colorizeSystemIcon = "none"; + enableColorization = true; + hideMode = "alwaysExpanded"; + icon = "rocket"; + id = "CustomButton"; + ipcIdentifier = ""; + leftClickExec = "niri msg action spawn -- fuzzel"; + leftClickUpdateText = false; + maxTextLength = { + horizontal = 10; + vertical = 10; + }; + middleClickExec = ""; + middleClickUpdateText = false; + parseJson = false; + rightClickExec = ""; + rightClickUpdateText = false; + showIcon = true; + textCollapse = ""; + textCommand = ""; + textIntervalMs = 3000; + textStream = false; + wheelDownExec = ""; + wheelDownUpdateText = false; + wheelExec = ""; + wheelMode = "unified"; + wheelUpExec = ""; + wheelUpUpdateText = false; + wheelUpdateText = false; } { + characterCount = 2; + colorizeIcons = false; + emptyColor = "secondary"; + enableScrollWheel = true; + focusedColor = "primary"; + followFocusedScreen = false; + groupedBorderOpacity = 1; + hideUnoccupied = true; + iconScale = 0.6; + id = "Workspace"; + labelMode = "index"; + occupiedColor = "secondary"; + pillSize = 0.6; + reverseScroll = false; + showApplications = true; + showBadge = true; + showLabelsOnlyWhenOccupied = true; + unfocusedIconsOpacity = 1; + } + { + compactMode = true; diskPath = "/"; + iconColor = "none"; id = "SystemMonitor"; + showCpuFreq = false; showCpuTemp = false; showCpuUsage = true; + showDiskAvailable = false; showDiskUsage = true; + showDiskUsageAsPercent = false; showGpuTemp = false; + showLoadAverage = false; showMemoryAsPercent = true; showMemoryUsage = true; showNetworkStats = false; - usePrimaryColor = false; + showSwapUsage = false; + textColor = "none"; + useMonospaceFont = true; } { colorizeIcons = false; @@ -66,98 +161,96 @@ maxWidth = 600; scrollingMode = "always"; showIcon = true; + textColor = "none"; useFixedWidth = false; } ]; - center = [ - ]; right = [ { + compactMode = false; + compactShowAlbumArt = true; + compactShowVisualizer = false; hideMode = "hidden"; hideWhenIdle = false; id = "MediaMini"; maxWidth = 380; + panelShowAlbumArt = true; + panelShowVisualizer = true; scrollingMode = "hover"; showAlbumArt = false; showArtistFirst = false; showProgressRing = true; showVisualizer = false; + textColor = "none"; useFixedWidth = false; visualizerType = "linear"; } { + blacklist = [ ]; + chevronColor = "none"; + colorizeIcons = true; + drawerEnabled = false; + hidePassive = false; id = "Tray"; + pinned = [ ]; } { + hideWhenZero = false; + hideWhenZeroUnread = true; + iconColor = "none"; id = "NotificationHistory"; + showUnreadBadge = true; + unreadBadgeColor = "primary"; } { + deviceNativePath = "__default__"; + displayMode = "icon-hover"; + hideIfIdle = false; + hideIfNotDetected = true; id = "Battery"; + showNoctaliaPerformance = false; + showPowerProfiles = true; } { + displayMode = "onhover"; + iconColor = "none"; id = "Volume"; + middleClickCommand = "pwvucontrol || pavucontrol"; + textColor = "none"; } { + displayMode = "onhover"; + iconColor = "none"; id = "Brightness"; + textColor = "none"; } { + colorizeDistroLogo = false; + colorizeSystemIcon = "none"; + customIconPath = ""; + enableColorization = false; + icon = "noctalia"; id = "ControlCenter"; + useDistroLogo = false; } { + clockColor = "none"; + customFont = ""; formatHorizontal = "ddd MMM dd yyyy @ h:mm AP"; formatVertical = "HH mm - dd MM"; id = "Clock"; + tooltipFormat = "HH:mm ddd, MMM dd"; useCustomFont = false; - usePrimaryColor = false; } ]; }; }; - general = { - avatarImage = "/home/${config.userOptions.username}/.face"; - dimmerOpacity = 0.5; - showScreenCorners = false; - forceBlackScreenCorners = false; - scaleRatio = 1; - radiusRatio = 1; - iRadiusRatio = 1; - boxRadiusRatio = 1; - screenRadiusRatio = 1; - animationSpeed = 1; - animationDisabled = false; - compactLockScreen = false; - lockOnSuspend = true; - showSessionButtonsOnLockScreen = true; - showHibernateOnLockScreen = false; - enableShadows = false; - shadowDirection = "bottom_right"; - shadowOffsetX = 2; - shadowOffsetY = 3; - language = ""; - allowPanelsOnScreenWithoutBar = true; - }; - ui = { - fontDefault = config.userOptions.fontSans.name; - fontFixed = config.userOptions.fontMono.name; - fontDefaultScale = 1; - fontFixedScale = 1; - tooltipsEnabled = true; - panelBackgroundOpacity = 1; - panelsAttachedToBar = true; - settingsPanelMode = "attached"; - }; - location = { - name = "Atlanta, US"; - weatherEnabled = true; - weatherShowEffects = true; - useFahrenheit = true; - use12hourFormat = true; - showWeekNumberInCalendar = true; - showCalendarEvents = true; - showCalendarWeather = true; - analogClockInCalendar = false; - firstDayOfWeek = -1; + + brightness = { + brightnessStep = 5; + enforceMinimum = false; }; + calendar = { cards = [ { @@ -178,81 +271,19 @@ } ]; }; - screenRecorder = { - directory = ""; - frameRate = 60; - audioCodec = "opus"; - videoCodec = "h264"; - quality = "very_high"; - colorRange = "limited"; - showCursor = true; - audioSource = "default_output"; - videoSource = "portal"; - }; - wallpaper = { - enabled = false; - overviewEnabled = false; - directory = "/home/sckova/.local/share/wallpaper"; - monitorDirectories = [ ]; - enableMultiMonitorDirectories = false; - recursiveSearch = false; - setWallpaperOnAllMonitors = true; - fillColor = config.scheme.withHashtag.base00; - fillMode = "crop"; - hideWallpaperFilenames = true; - panelPosition = "follow_bar"; - randomEnabled = false; - randomIntervalSec = 300; - transitionDuration = 1500; - transitionEdgeSmoothness = 0.05; - transitionType = "random"; - useWallhaven = false; - }; - appLauncher = { - enableClipboardHistory = true; - enableClipPreview = true; - position = "top_left"; - pinnedExecs = [ ]; - useApp2Unit = false; - sortByMostUsed = true; - terminalCommand = "kitty -e"; - customLaunchPrefixEnabled = false; - customLaunchPrefix = ""; - viewMode = "list"; - showCategories = true; + + colorSchemes = { + darkMode = true; + generationMethod = "tonal-spot"; + manualSunrise = "06:30"; + manualSunset = "18:30"; + monitorForColors = ""; + predefinedScheme = "Noctalia (default)"; + schedulingMode = "off"; + useWallpaperColors = false; }; + controlCenter = { - position = "close_to_bar_button"; - shortcuts = { - left = [ - { - id = "Network"; - } - { - id = "Bluetooth"; - } - { - id = "ScreenRecorder"; - } - { - id = "WallpaperSelector"; - } - ]; - right = [ - { - id = "Notifications"; - } - { - id = "PowerProfile"; - } - { - id = "KeepAwake"; - } - { - id = "NightLight"; - } - ]; - }; cards = [ { enabled = true; @@ -271,47 +302,177 @@ id = "media-sysmon-card"; } ]; + diskPath = "/"; + position = "close_to_bar_button"; + shortcuts = { + left = [ + { id = "Network"; } + { id = "Bluetooth"; } + { id = "WallpaperSelector"; } + ]; + right = [ + { id = "Notifications"; } + { id = "PowerProfile"; } + { id = "KeepAwake"; } + { id = "NightLight"; } + ]; + }; }; - systemMonitor = { - cpuWarningThreshold = 80; - cpuCriticalThreshold = 90; - tempWarningThreshold = 80; - tempCriticalThreshold = 90; - memWarningThreshold = 80; - memCriticalThreshold = 90; - diskWarningThreshold = 80; - diskCriticalThreshold = 90; - cpuPollingInterval = 3000; - tempPollingInterval = 3000; - memPollingInterval = 3000; - diskPollingInterval = 3000; - networkPollingInterval = 3000; - useCustomColors = false; - warningColor = ""; - criticalColor = ""; - }; - dock = { + + desktopWidgets = { enabled = false; - displayMode = "auto_hide"; - backgroundOpacity = 1; - floatingRatio = 1; - size = 1; - onlySameOutput = true; - monitors = [ ]; - pinnedApps = [ ]; - colorizeIcons = false; - pinnedStatic = false; - inactiveIndicators = false; - deadOpacity = 0.6; + gridSnap = false; + monitorWidgets = [ ]; }; + + dock = { + animationSpeed = 1; + backgroundOpacity = 1; + colorizeIcons = false; + deadOpacity = 0.6; + displayMode = "auto_hide"; + enabled = false; + floatingRatio = 1; + inactiveIndicators = false; + monitors = [ ]; + onlySameOutput = true; + pinnedApps = [ ]; + pinnedStatic = false; + position = "bottom"; + size = 1; + }; + + general = { + allowPanelsOnScreenWithoutBar = true; + allowPasswordWithFprintd = false; + animationDisabled = false; + animationSpeed = 1; + autoStartAuth = false; + avatarImage = "/home/sckova/.face"; + boxRadiusRatio = 1; + clockFormat = "hh\\nmm"; + clockStyle = "custom"; + compactLockScreen = false; + dimmerOpacity = 0.5; + enableLockScreenCountdown = true; + enableShadows = false; + forceBlackScreenCorners = false; + iRadiusRatio = 1; + language = ""; + lockOnSuspend = true; + lockScreenAnimations = false; + lockScreenCountdownDuration = 10000; + lockScreenMonitors = [ ]; + radiusRatio = 1; + scaleRatio = 1; + screenRadiusRatio = 1; + shadowDirection = "bottom_right"; + shadowOffsetX = 2; + shadowOffsetY = 3; + showChangelogOnStartup = true; + showHibernateOnLockScreen = false; + showScreenCorners = false; + showSessionButtonsOnLockScreen = true; + telemetryEnabled = false; + }; + + hooks = { + darkModeChange = ""; + enabled = false; + performanceModeDisabled = ""; + performanceModeEnabled = ""; + screenLock = ""; + screenUnlock = ""; + session = ""; + startup = ""; + wallpaperChange = ""; + }; + + location = { + analogClockInCalendar = false; + firstDayOfWeek = -1; + hideWeatherCityName = false; + hideWeatherTimezone = false; + name = "Atlanta, US"; + showCalendarEvents = true; + showCalendarWeather = true; + showWeekNumberInCalendar = true; + use12hourFormat = true; + useFahrenheit = true; + weatherEnabled = true; + weatherShowEffects = true; + }; + network = { + bluetoothDetailsViewMode = "grid"; + bluetoothHideUnnamedDevices = false; + bluetoothRssiPollIntervalMs = 10000; + bluetoothRssiPollingEnabled = false; + wifiDetailsViewMode = "grid"; wifiEnabled = true; }; + + nightLight = { + autoSchedule = true; + dayTemp = "6500"; + enabled = true; + forced = false; + manualSunrise = "06:30"; + manualSunset = "18:30"; + nightTemp = "4000"; + }; + + notifications = { + backgroundOpacity = 1; + criticalUrgencyDuration = 15; + enableBatteryToast = true; + enableKeyboardLayoutToast = true; + enableMediaToast = false; + enabled = true; + location = "top_right"; + lowUrgencyDuration = 3; + monitors = [ ]; + normalUrgencyDuration = 8; + overlayLayer = true; + respectExpireTimeout = false; + saveToHistory = { + critical = true; + low = true; + normal = true; + }; + sounds = { + criticalSoundFile = ""; + enabled = true; + excludedApps = "discord,firefox,chrome,chromium,edge"; + lowSoundFile = ""; + normalSoundFile = ""; + separateSounds = false; + volume = 0.5; + }; + }; + + osd = { + autoHideMs = 2000; + backgroundOpacity = 1; + enabled = true; + enabledTypes = [ + 0 + 1 + 2 + ]; + location = "top_right"; + monitors = [ ]; + overlayLayer = true; + }; + + plugins.autoUpdate = false; + sessionMenu = { - enableCountdown = true; countdownDuration = 5000; + enableCountdown = true; + largeButtonsLayout = "single-row"; + largeButtonsStyle = true; position = "center"; - showHeader = true; powerOptions = [ { action = "lock"; @@ -338,92 +499,96 @@ enabled = true; } ]; + showHeader = true; + showNumberLabels = true; }; - notifications = { - enabled = true; - monitors = [ ]; - location = "top_right"; - overlayLayer = true; - backgroundOpacity = 1; - respectExpireTimeout = false; - lowUrgencyDuration = 3; - normalUrgencyDuration = 8; - criticalUrgencyDuration = 15; - enableKeyboardLayoutToast = true; - sounds = { - enabled = true; - volume = 0.5; - separateSounds = false; - }; - }; - osd = { - enabled = true; - location = "top_right"; - autoHideMs = 2000; - overlayLayer = true; - backgroundOpacity = 1; - enabledTypes = [ - 0 - 1 - 2 - ]; - monitors = [ ]; - }; - audio = { - volumeStep = 5; - volumeOverdrive = false; - cavaFrameRate = 30; - visualizerType = "linear"; - visualizerQuality = "high"; - mprisBlacklist = [ ]; - preferredPlayer = ""; - externalMixer = "pwvucontrol || pavucontrol"; - }; - colorSchemes = { - useWallpaperColors = false; - darkMode = true; - schedulingMode = "off"; - manualSunrise = "06:30"; - manualSunset = "18:30"; - matugenSchemeType = "scheme-fruit-salad"; - generateTemplatesForPredefined = true; + + settingsVersion = 49; + + systemMonitor = { + batteryCriticalThreshold = 5; + batteryWarningThreshold = 20; + cpuCriticalThreshold = 90; + cpuPollingInterval = 1000; + cpuWarningThreshold = 80; + criticalColor = ""; + diskAvailCriticalThreshold = 10; + diskAvailWarningThreshold = 20; + diskCriticalThreshold = 90; + diskPollingInterval = 3000; + diskWarningThreshold = 80; + enableDgpuMonitoring = false; + 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"; + gpuCriticalThreshold = 90; + gpuPollingInterval = 3000; + gpuWarningThreshold = 80; + loadAvgPollingInterval = 3000; + memCriticalThreshold = 90; + memPollingInterval = 1000; + memWarningThreshold = 80; + networkPollingInterval = 1000; + swapCriticalThreshold = 90; + swapWarningThreshold = 80; + tempCriticalThreshold = 90; + tempWarningThreshold = 80; + useCustomColors = false; + warningColor = ""; }; + templates = { - gtk = false; - qt = false; - kcolorscheme = false; - alacritty = false; - kitty = false; - ghostty = false; - foot = false; - wezterm = false; - fuzzel = false; - discord = false; - pywalfox = false; - vicinae = false; - walker = false; - code = false; - spicetify = false; - telegram = false; - cava = false; - yazi = false; - emacs = false; - niri = false; - enableUserTemplates = false; + activeTemplates = [ ]; + enableUserTheming = false; }; - nightLight = { - enabled = true; - forced = false; - autoSchedule = true; - nightTemp = "4000"; - dayTemp = "6500"; - manualSunrise = "06:30"; - manualSunset = "18:30"; + + ui = { + bluetoothDetailsViewMode = "grid"; + bluetoothHideUnnamedDevices = false; + boxBorderEnabled = false; + fontDefault = "Noto Sans"; + fontDefaultScale = 1; + fontFixed = "FiraMono Nerd Font Mono"; + fontFixedScale = 1; + networkPanelView = "wifi"; + panelBackgroundOpacity = 1; + panelsAttachedToBar = true; + settingsPanelMode = "attached"; + tooltipsEnabled = true; + wifiDetailsViewMode = "grid"; }; - hooks = { + + wallpaper = { + automationEnabled = false; + directory = "/home/sckova/.local/share/wallpaper"; + enableMultiMonitorDirectories = false; enabled = false; - wallpaperChange = ""; - darkModeChange = ""; + fillColor = "#1e1e2e"; + fillMode = "crop"; + hideWallpaperFilenames = true; + monitorDirectories = [ ]; + overviewEnabled = false; + panelPosition = "follow_bar"; + randomIntervalSec = 300; + setWallpaperOnAllMonitors = true; + showHiddenFiles = false; + solidColor = "#1a1a2e"; + sortOrder = "name"; + transitionDuration = 1500; + transitionEdgeSmoothness = 0.05; + transitionType = "random"; + useSolidColor = false; + useWallhaven = false; + viewMode = "single"; + wallhavenApiKey = ""; + wallhavenCategories = "111"; + wallhavenOrder = "desc"; + wallhavenPurity = "100"; + wallhavenQuery = ""; + wallhavenRatios = ""; + wallhavenResolutionHeight = ""; + wallhavenResolutionMode = "atleast"; + wallhavenResolutionWidth = ""; + wallhavenSorting = "relevance"; + wallpaperChangeMode = "random"; }; }; };