{ config, pkgs, inputs, lib, osConfig, ... }: { imports = [ inputs.noctalia.homeModules.default ]; config = { programs.noctalia = 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"; # } # { # defaultSettings = { # barWidgetMaxWidth = 300; # barWidgetSrollingMode = "hover"; # showVolumePercentage = false; # }; # id = "plugin:c4ed72:homeassistant"; # } # { # 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"; # } # ]; # 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"; # }; # 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 { }; }; }