{ config, pkgs, inputs, lib, osConfig, ... }: { imports = [ inputs.noctalia.homeModules.default ]; config = { programs.noctalia-shell = if osConfig.desktop.shell.noctalia.enable then { enable = true; package = (pkgs.noctalia-shell.override { calendarSupport = true; }); settings = { settingsVersion = 0; bar = { barType = "floating"; position = "top"; monitors = [ ]; density = "comfortable"; showOutline = true; showCapsule = true; capsuleOpacity = 1; capsuleColorKey = "none"; widgetSpacing = 6; contentPadding = 6; fontScale = 1; enableExclusionZoneInset = true; backgroundOpacity = 0; useSeparateOpacity = true; marginVertical = 6; marginHorizontal = 6; frameThickness = 8; frameRadius = 30; outerCorners = true; hideOnOverview = false; displayMode = "always_visible"; autoHideDelay = 500; autoShowDelay = 150; showOnWorkspaceSwitch = true; widgets = { left = [ { colorizeSystemIcon = "none"; customIconPath = ""; enableColorization = false; icon = "rocket"; iconColor = "none"; id = "Launcher"; useDistroLogo = true; } { compactMode = false; hideMode = "hidden"; hideWhenIdle = false; id = "MediaMini"; maxWidth = 145; panelShowAlbumArt = true; scrollingMode = "hover"; showAlbumArt = true; showArtistFirst = true; showProgressRing = true; showVisualizer = false; textColor = "none"; useFixedWidth = false; visualizerType = "linear"; } { hideWhenZero = false; hideWhenZeroUnread = false; iconColor = "none"; id = "NotificationHistory"; showUnreadBadge = true; unreadBadgeColor = "primary"; } { compactMode = true; diskPath = "/"; iconColor = "none"; id = "SystemMonitor"; showCpuCores = false; showCpuFreq = false; showCpuTemp = true; showCpuUsage = true; showDiskAvailable = false; showDiskUsage = true; showDiskUsageAsPercent = false; showGpuTemp = false; showLoadAverage = false; showMemoryAsPercent = false; showMemoryUsage = true; showNetworkStats = false; showSwapUsage = true; textColor = "none"; useMonospaceFont = true; usePadding = false; } ( if (osConfig.device.type == "laptop") then { deviceNativePath = "__default__"; displayMode = "icon-hover"; hideIfIdle = false; hideIfNotDetected = false; id = "Battery"; showNoctaliaPerformance = true; showPowerProfiles = true; } else { } ) { displayMode = "alwaysHide"; iconColor = "none"; id = "Network"; textColor = "none"; } { displayMode = "alwaysHide"; iconColor = "none"; id = "Bluetooth"; textColor = "none"; } { defaultSettings = { autoHeight = true; cheatsheetData = [ ]; columnCount = 3; detectedCompositor = ""; hyprlandConfigPath = "~/.config/hypr/hyprland.conf"; modKeyVariable = "$mod"; niriConfigPath = "~/.config/niri/config.kdl"; windowHeight = 0; windowWidth = 1400; }; id = "plugin:keybind-cheatsheet"; } { defaultSettings = { autoCloseManagedObs = true; barLabelMode = "short-label"; launchBehavior = "minimized-to-tray"; leftClickAction = "panel"; openVideosAfterStop = true; pollIntervalMs = 2500; showBarWhenReady = true; showBarWhenRecording = true; showBarWhenReplay = false; showBarWhenStreaming = true; showControlCenterWhenReady = false; showControlCenterWhenRecording = true; showControlCenterWhenReplay = true; showControlCenterWhenStreaming = true; showElapsedInBar = false; videosOpener = "xdg-open"; videosPath = ""; }; id = "plugin:obs-control"; } { defaultSettings = { activeColor = "primary"; enableToast = true; hideInactive = false; iconSpacing = 4; inactiveColor = "none"; micFilterRegex = ""; removeMargins = false; }; id = "plugin:privacy-indicator"; } { defaultSettings = { colorHistory = [ ]; detectedCompositor = ""; detectedRecorder = ""; filenameFormat = ""; installedLangs = [ "eng" ]; paletteColors = [ ]; screenshotPath = ""; selectedOcrLang = "eng"; transAvailable = false; videoPath = ""; }; id = "plugin:screen-toolkit"; } ]; center = [ { defaultSettings = { hideBackground = false; minimumThreshold = 10; }; id = "plugin:catwalk"; } { clockColor = "none"; customFont = ""; formatHorizontal = "HH:mm ddd, dd. MMM"; formatVertical = "HH mm - dd MM"; id = "Clock"; tooltipFormat = "HH:mm ddd, dd. MMM"; useCustomFont = false; } { id = "plugin:weekly-calendar"; } { characterCount = 2; colorizeIcons = false; emptyColor = "none"; enableScrollWheel = true; focusedColor = "primary"; followFocusedScreen = false; fontWeight = "bold"; groupedBorderOpacity = 1; hideUnoccupied = false; iconScale = 0.8; id = "Workspace"; labelMode = "index"; occupiedColor = "none"; pillSize = 0.6; showApplications = false; showApplicationsHover = false; showBadge = true; showLabelsOnlyWhenOccupied = true; unfocusedIconsOpacity = 1; } { defaultSettings = { enableTodoIntegration = false; notecardsEnabled = true; pincardsEnabled = true; showCloseButton = true; }; id = "plugin:clipper"; } { defaultSettings = { catColor = "default"; catOffsetY = 0; catSize = 1; idleTimeout = 150; raveMode = false; tappyMode = false; useMprisFilter = false; waitingTimeout = 30000; }; id = "plugin:slowbongo"; } ]; right = [ { blacklist = [ "*kdeconnect*" "*syncthing*" ]; chevronColor = "none"; colorizeIcons = false; drawerEnabled = false; hidePassive = false; id = "Tray"; pinned = [ ]; } { defaultSettings = { }; id = "plugin:kde-connect"; } { defaultSettings = { apiKey = ""; apiUrl = ""; configPath = ""; enabled = true; folderIds = [ ]; pollIntervalMs = 10000; verifyTls = false; }; id = "plugin:syncthing-status"; } { defaultSettings = { compactMode = false; defaultPeerAction = "copy-ip"; hideDisconnected = false; hideMullvadExitNodes = true; pingCount = 5; refreshInterval = 5000; showIpAddress = true; showPeerCount = true; sshUsername = ""; taildropDownloadDir = "~/Downloads"; taildropEnabled = true; taildropReceiveMode = "operator"; terminalCommand = ""; }; id = "plugin:tailscale"; } ( if (osConfig.device.type == "laptop") then { applyToAllMonitors = false; displayMode = "onhover"; iconColor = "none"; id = "Brightness"; textColor = "none"; } else { } ) { displayMode = "onhover"; iconColor = "none"; id = "Volume"; middleClickCommand = "pwvucontrol || pavucontrol"; textColor = "none"; } { displayMode = "onhover"; iconColor = "none"; id = "Microphone"; middleClickCommand = "pwvucontrol || pavucontrol"; textColor = "none"; } { iconColor = "none"; id = "WallpaperSelector"; } ]; }; mouseWheelAction = "workspace"; reverseScroll = false; mouseWheelWrap = true; middleClickAction = "settings"; middleClickFollowMouse = true; middleClickCommand = ""; rightClickAction = "controlCenter"; rightClickFollowMouse = true; rightClickCommand = ""; screenOverrides = [ ]; }; general = { avatarImage = ""; dimmerOpacity = 0.1; showScreenCorners = false; forceBlackScreenCorners = false; scaleRatio = 1; radiusRatio = 2; iRadiusRatio = 2; boxRadiusRatio = 1; screenRadiusRatio = 1; animationSpeed = 1; animationDisabled = false; compactLockScreen = false; lockScreenAnimations = true; lockOnSuspend = true; showSessionButtonsOnLockScreen = true; showHibernateOnLockScreen = false; enableLockScreenMediaControls = true; enableShadows = true; enableBlurBehind = true; shadowDirection = "bottom_right"; shadowOffsetX = 2; shadowOffsetY = 3; language = ""; allowPanelsOnScreenWithoutBar = true; showChangelogOnStartup = true; telemetryEnabled = false; enableLockScreenCountdown = true; lockScreenCountdownDuration = 5000; autoStartAuth = true; allowPasswordWithFprintd = true; clockStyle = "custom"; clockFormat = "HH:mm - dd.MM.yyyy"; passwordChars = true; lockScreenMonitors = [ ]; lockScreenBlur = 0.05; lockScreenTint = 0; keybinds = { keyUp = [ "Up" ]; keyDown = [ "Down" ]; keyLeft = [ "Left" ]; keyRight = [ "Right" ]; keyEnter = [ "Return" "Enter" ]; keyEscape = [ "Esc" ]; keyRemove = [ "Del" ]; }; reverseScroll = false; smoothScrollEnabled = true; }; ui = { fontDefault = "FiraCode Nerd Font"; fontFixed = "FiraCode Nerd Font"; fontDefaultScale = 1; fontFixedScale = 1; tooltipsEnabled = true; scrollbarAlwaysVisible = true; boxBorderEnabled = true; panelBackgroundOpacity = 1; translucentWidgets = false; panelsAttachedToBar = false; settingsPanelMode = "centered"; settingsPanelSideBarCardStyle = true; }; location = { name = ""; weatherEnabled = true; weatherShowEffects = true; useFahrenheit = false; use12hourFormat = false; showWeekNumberInCalendar = true; showCalendarEvents = true; showCalendarWeather = true; analogClockInCalendar = false; firstDayOfWeek = 1; hideWeatherTimezone = false; hideWeatherCityName = true; autoLocate = true; }; calendar = { cards = [ { enabled = true; id = "calendar-header-card"; } { enabled = true; id = "calendar-month-card"; } { enabled = true; id = "weather-card"; } ]; }; wallpaper = { enabled = true; overviewEnabled = true; directory = "/home/${osConfig.user.userName}/.local/share/wallpapers"; monitorDirectories = [ ]; enableMultiMonitorDirectories = false; showHiddenFiles = false; viewMode = "recursive"; setWallpaperOnAllMonitors = true; linkLightAndDarkWallpapers = true; fillMode = "crop"; fillColor = "#000000"; useSolidColor = false; solidColor = "#1a1a2e"; automationEnabled = true; wallpaperChangeMode = "random"; randomIntervalSec = 900; transitionDuration = 1500; transitionType = [ "fade" "disc" "stripes" "wipe" "pixelate" "honeycomb" ]; skipStartupTransition = false; transitionEdgeSmoothness = 0.05; panelPosition = "follow_bar"; hideWallpaperFilenames = false; useOriginalImages = false; overviewBlur = 0.4; overviewTint = 0.6; useWallhaven = false; wallhavenQuery = ""; wallhavenSorting = "relevance"; wallhavenOrder = "desc"; wallhavenCategories = "111"; wallhavenPurity = "100"; wallhavenRatios = ""; wallhavenApiKey = ""; wallhavenResolutionMode = "atleast"; wallhavenResolutionWidth = ""; wallhavenResolutionHeight = ""; sortOrder = "name"; favorites = [ ]; }; appLauncher = { enableClipboardHistory = true; autoPasteClipboard = false; enableClipPreview = true; clipboardWrapText = true; enableClipboardSmartIcons = true; enableClipboardChips = true; clipboardWatchTextCommand = "wl-paste --type text --watch cliphist store"; clipboardWatchImageCommand = "wl-paste --type image --watch cliphist store"; position = "top_center"; pinnedApps = [ ]; sortByMostUsed = true; terminalCommand = "kitty -e"; customLaunchPrefixEnabled = false; customLaunchPrefix = ""; viewMode = "grid"; showCategories = true; iconMode = "native"; showIconBackground = true; enableSettingsSearch = true; enableWindowsSearch = true; enableSessionSearch = true; ignoreMouseInput = false; screenshotAnnotationTool = "gradia"; overviewLayer = true; density = "default"; }; controlCenter = { position = "close_to_bar_button"; diskPath = "/"; shortcuts = { left = [ { id = "Network"; } { id = "Bluetooth"; } { id = "WallpaperSelector"; } { id = "NoctaliaPerformance"; } ]; right = [ { id = "Notifications"; } { id = "PowerProfile"; } { id = "NightLight"; } ]; }; cards = [ { enabled = true; id = "profile-card"; } { enabled = true; id = "shortcuts-card"; } { enabled = true; id = "audio-card"; } { enabled = false; id = "brightness-card"; } { enabled = true; id = "weather-card"; } { enabled = true; id = "media-sysmon-card"; } ]; }; systemMonitor = { cpuWarningThreshold = 80; cpuCriticalThreshold = 90; tempWarningThreshold = 80; tempCriticalThreshold = 90; gpuWarningThreshold = 80; gpuCriticalThreshold = 90; memWarningThreshold = 80; memCriticalThreshold = 90; swapWarningThreshold = 80; swapCriticalThreshold = 90; diskWarningThreshold = 80; diskCriticalThreshold = 90; diskAvailWarningThreshold = 20; diskAvailCriticalThreshold = 10; batteryWarningThreshold = 20; batteryCriticalThreshold = 5; enableDgpuMonitoring = false; useCustomColors = false; warningColor = ""; criticalColor = ""; 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"; }; noctaliaPerformance = { disableWallpaper = true; disableDesktopWidgets = true; }; dock = { enabled = false; position = "bottom"; displayMode = "auto_hide"; dockType = "floating"; backgroundOpacity = 1; floatingRatio = 1; size = 1; onlySameOutput = true; monitors = [ ]; pinnedApps = [ ]; colorizeIcons = false; showLauncherIcon = false; launcherPosition = "end"; launcherUseDistroLogo = false; launcherIcon = ""; launcherIconColor = "none"; pinnedStatic = false; inactiveIndicators = false; groupApps = false; groupContextMenuMode = "extended"; groupClickAction = "cycle"; groupIndicatorStyle = "dots"; deadOpacity = 0.6; animationSpeed = 1; sitOnFrame = false; showDockIndicator = false; indicatorThickness = 3; indicatorColor = "primary"; indicatorOpacity = 0.6; }; network = { bluetoothRssiPollingEnabled = false; bluetoothRssiPollIntervalMs = 60000; networkPanelView = "wifi"; wifiDetailsViewMode = "grid"; bluetoothDetailsViewMode = "grid"; bluetoothHideUnnamedDevices = false; disableDiscoverability = false; bluetoothAutoConnect = true; }; sessionMenu = { enableCountdown = true; countdownDuration = 5000; position = "center"; showHeader = true; showKeybinds = true; largeButtonsStyle = true; largeButtonsLayout = "single-row"; powerOptions = [ { action = "lock"; enabled = true; keybind = "1"; } { action = "suspend"; enabled = true; keybind = "2"; } { action = "hibernate"; enabled = true; keybind = "3"; } { action = "reboot"; enabled = true; keybind = "4"; } { action = "logout"; enabled = true; keybind = "5"; } { action = "shutdown"; enabled = true; keybind = "6"; } { action = "rebootToUefi"; enabled = true; keybind = "7"; } ]; }; notifications = { enabled = true; enableMarkdown = true; density = "compact"; monitors = [ ]; location = "top"; overlayLayer = true; backgroundOpacity = 1; respectExpireTimeout = true; lowUrgencyDuration = 3; normalUrgencyDuration = 8; criticalUrgencyDuration = 15; clearDismissed = true; saveToHistory = { low = true; normal = true; critical = true; }; sounds = { enabled = false; volume = 0.5; separateSounds = false; criticalSoundFile = ""; normalSoundFile = ""; lowSoundFile = ""; excludedApps = "discord,firefox,chrome,chromium,edge"; }; enableMediaToast = false; enableKeyboardLayoutToast = true; enableBatteryToast = true; }; osd = { enabled = true; location = "top_right"; autoHideMs = 2000; overlayLayer = true; backgroundOpacity = 1; enabledTypes = [ 0 1 2 ]; monitors = [ ]; }; audio = { volumeStep = 5; volumeOverdrive = false; spectrumFrameRate = 30; visualizerType = "linear"; spectrumMirrored = true; mprisBlacklist = [ ]; preferredPlayer = ""; volumeFeedback = false; volumeFeedbackSoundFile = ""; }; brightness = { brightnessStep = 5; enforceMinimum = true; enableDdcSupport = false; backlightDeviceMappings = [ ]; }; colorSchemes = { useWallpaperColors = true; predefinedScheme = "Noctalia (default)"; darkMode = true; schedulingMode = "off"; manualSunrise = "06:30"; manualSunset = "18:30"; generationMethod = "tonal-spot"; monitorForColors = ""; syncGsettings = true; }; templates = { activeTemplates = [ { id = "alacritty"; active = true; enable = true; } { id = "btop"; active = true; enable = true; } { id = "cava"; active = true; enable = true; } { id = "emacs"; active = true; enable = true; } { id = "gtk"; active = true; enable = true; } { id = "hyprland"; active = true; enable = true; } { id = "hyprtoolkit"; active = true; enable = true; } { id = "kcolorscheme"; active = true; enable = true; } { id = "kitty"; active = true; enable = true; } { id = "mango"; active = true; enable = true; } { id = "niri"; active = true; enable = true; } { id = "qt"; active = true; enable = true; } { id = "steam"; active = true; enable = true; } { id = "sway"; active = true; enable = true; } { id = "code"; active = true; enable = true; } { id = "walker"; active = true; enable = true; } { id = "zed"; active = true; enable = true; } { id = "zenBrowser"; active = true; enable = true; } ]; enableUserTheming = false; }; nightLight = { enabled = false; forced = false; autoSchedule = true; nightTemp = "4000"; dayTemp = "6500"; manualSunrise = "06:30"; manualSunset = "18:30"; }; hooks = { enabled = false; wallpaperChange = ""; darkModeChange = ""; screenLock = ""; screenUnlock = ""; performanceModeEnabled = ""; performanceModeDisabled = ""; startup = ""; session = ""; colorGeneration = ""; }; plugins = { autoUpdate = false; notifyUpdates = true; sources = [ { enabled = true; name = "Official Noctalia Plugins"; url = "https://github.com/noctalia-dev/noctalia-plugins"; } { enabled = true; name = "Mic92"; url = "https://github.com/Mic92/noctalia-plugins"; } { enabled = true; name = "anthonyhab"; url = "https://github.com/anthonyhab/noctalia-plugins"; } ]; states = { catwalk = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; clipper = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; file-search = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; giphy-search = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; kagi-quick-search = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; kaomoji-provider = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; kde-connect = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; keybind-cheatsheet = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; obs-control = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; parallax-wallpaper = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; polkit-agent = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; privacy-indicator = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; rss-feed = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; screen-toolkit = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; slowbongo = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; syncthing-status = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; tailscale = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; vscode-provider = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; weekly-calendar = { enabled = true; sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; }; homeassistant = { enabled = true; sourceUrl = "https://github.com/anthonyhab/noctalia-plugins"; }; rbw-provider = { enabled = true; sourceUrl = "https://github.com/Mic92/noctalia-plugins"; }; fprint-notify = { enabled = true; sourceUrl = "https://github.com/Mic92/noctalia-plugins"; }; }; }; idle = { enabled = false; screenOffTimeout = 600; lockTimeout = 660; suspendTimeout = 1800; fadeDuration = 5; screenOffCommand = ""; lockCommand = ""; suspendCommand = ""; resumeScreenOffCommand = ""; resumeLockCommand = ""; resumeSuspendCommand = ""; customCommands = "[]"; }; desktopWidgets = { enabled = false; overviewEnabled = true; gridSnap = false; gridSnapScale = false; monitorWidgets = [ ]; }; }; } else { }; }; }