{ pkgs, lib, ... }: { programs.niri = { enable = true; package = pkgs.niri-stable; settings = { spawn-at-startup = [ { argv = ["noctalia-shell"]; } ]; hotkey-overlay.skip-at-startup = true; cursor = { size = 22; theme = "Bibata-Modern-Ice"; }; input.keyboard.xkb.layout = "gb"; input.mouse.accel-speed = 1.0; input.touchpad = { accel-profile = "flat"; accel-speed = 0.75; disabled-on-external-mouse = true; tap = true; dwt = true; natural-scroll = true; click-method = "clickfinger"; }; binds = { "Mod+Space".action.toggle-overview = {}; "Mod+Shift+E".action.quit = {}; "Mod+F".action.fullscreen-window = {}; "Mod+Return".action.spawn = "kitty"; "Mod+Q".action.close-window = {}; "Mod+E".action.spawn = "nautilus"; "Mod+B".action.spawn = "floorp"; "Mod+D".action.spawn = "fuzzel"; "Mod+Z".action.spawn = ["kitty" "nh" "os" "switch" "./nixos"]; "Mod+TouchpadScrollLeft".action.focus-column-left = {}; "Mod+TouchpadScrollRight".action.focus-column-right = {}; "Mod+TouchpadScrollUp".action.focus-workspace-up = {}; "Mod+TouchpadScrollDown".action.focus-workspace-down = {}; "Mod+Left".action.focus-column-left = {}; "Mod+Shift+Left".action.move-column-left = {}; "Mod+Right".action.focus-column-right = {}; "Mod+Shift+Right".action.move-column-right = {}; "Mod+Up".action.focus-workspace-up = {}; "Mod+Shift+Up".action.move-window-to-workspace-up = {}; "Mod+Down".action.focus-workspace-down = {}; "Mod+Shift+Down".action.move-window-to-workspace-down = {}; "XF86MonBrightnessUp".action.spawn = ["brightnessctl" "set" "+5%"]; "XF86MonBrightnessDown".action.spawn = ["brightnessctl" "set" "5%-"]; "XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "msg" "volume" "increase"]; "XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "msg" "volume" "decrease"]; "Mod+Shift+P".action.spawn = ["noctalia-shell" "msg" "sessionMenu" "toggle"]; }; prefer-no-csd = true; layout = { gaps = 16; struts.left = 64; struts.right = 64; always-center-single-column = true; empty-workspace-above-first = true; # fog of war focus-ring = { enable = true; width = 2.5; active.color = "#b2b2b2d6"; }; # border.active.gradient = { # from = "red"; # to = "blue"; # in' = "oklch shorter hue"; # }; shadow.enable = true; # default-column-display = "tabbed"; tab-indicator = { position = "top"; gaps-between-tabs = 10; # hide-when-single-tab = true; # place-within-column = true; # active.color = "red"; }; }; overview.zoom = 0.5; window-rules = [ { draw-border-with-background = false; geometry-corner-radius = let n = 10.0; in { top-right = n; top-left = n; bottom-left = n; bottom-right = n; }; clip-to-geometry = true; } { matches = [ { app-id = "^floorp$"; } { app-id = "^code$"; } ]; default-column-width.proportion = 1.0; } { matches = [ { app-id = "^kitty$"; } ]; default-column-width.proportion = 0.66; } ]; debug = { honor-xdg-activation-with-invalid-serial = {}; }; xwayland-satellite.path = "${lib.getExe pkgs.xwayland-satellite-unstable}"; }; }; programs.noctalia-shell = { enable = true; settings = { settingsVersion = 0; bar = { barType = "simple"; position = "top"; monitors = [ ]; density = "default"; showOutline = false; showCapsule = true; capsuleOpacity = 1; backgroundOpacity = 0.93; useSeparateOpacity = false; floating = false; marginVertical = 4; marginHorizontal = 4; frameThickness = 8; frameRadius = 12; outerCorners = true; hideOnOverview = false; displayMode = "always_visible"; autoHideDelay = 500; autoShowDelay = 150; widgets = { left = [ { id = "Clock"; formatHorizontal = "h:mm A"; } { id = "SystemMonitor"; } { id = "MediaMini"; scrollingMode="never"; useFixedWidth = false; maxWidth = 900; } ]; center = [ { id = "Workspace"; } ]; right = [ { id = "Tray"; } { id = "NotificationHistory"; } { id = "Brightness"; } { id = "Battery"; displayMode="alwaysShow"; } { id = "Volume"; displayMode="alwaysShow"; } { id = "Bluetooth"; displayMode="alwaysShow"; } { id = "ControlCenter"; useDistroLogo = true; } ]; }; screenOverrides = [ ]; }; general = { avatarImage = ""; dimmerOpacity = 0.2; showScreenCorners = true; forceBlackScreenCorners = true; scaleRatio = 1; radiusRatio = 1; iRadiusRatio = 1; boxRadiusRatio = 1; screenRadiusRatio = 1; animationSpeed = 1.25; animationDisabled = false; compactLockScreen = false; lockOnSuspend = true; showSessionButtonsOnLockScreen = true; showHibernateOnLockScreen = false; enableShadows = true; shadowDirection = "bottom_right"; shadowOffsetX = 1; shadowOffsetY = 1; language = ""; allowPanelsOnScreenWithoutBar = true; showChangelogOnStartup = false; telemetryEnabled = false; enableLockScreenCountdown = true; lockScreenCountdownDuration = 10000; autoStartAuth = false; allowPasswordWithFprintd = true; }; ui = { fontDefault = ""; fontFixed = ""; fontDefaultScale = 1; fontFixedScale = 1; tooltipsEnabled = true; panelBackgroundOpacity = 0.93; panelsAttachedToBar = true; settingsPanelMode = "attached"; wifiDetailsViewMode = "grid"; bluetoothDetailsViewMode = "grid"; networkPanelView = "wifi"; bluetoothHideUnnamedDevices = false; boxBorderEnabled = false; }; location = { name = "London"; weatherEnabled = true; weatherShowEffects = true; useFahrenheit = false; use12hourFormat = false; showWeekNumberInCalendar = false; showCalendarEvents = true; showCalendarWeather = true; analogClockInCalendar = false; firstDayOfWeek = -1; hideWeatherTimezone = false; hideWeatherCityName = 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/grey/nixos/assets/wallpapers"; monitorDirectories = [ ]; enableMultiMonitorDirectories = false; showHiddenFiles = true; viewMode = "single"; setWallpaperOnAllMonitors = true; fillMode = "crop"; fillColor = "#000000"; useSolidColor = true; 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"; }; appLauncher = { enableClipboardHistory = false; 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 = false; sortByMostUsed = true; terminalCommand = "alacritty -e"; customLaunchPrefixEnabled = false; customLaunchPrefix = ""; viewMode = "list"; showCategories = true; iconMode = "tabler"; showIconBackground = false; enableSettingsSearch = true; enableWindowsSearch = true; ignoreMouseInput = false; screenshotAnnotationTool = ""; }; controlCenter = { position = "close_to_bar_button"; diskPath = "/"; 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 = 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; cpuPollingInterval = 1000; gpuPollingInterval = 3000; enableDgpuMonitoring = false; memPollingInterval = 1000; diskPollingInterval = 30000; networkPollingInterval = 1000; loadAvgPollingInterval = 3000; 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"; }; dock = { enabled = false; position = "bottom"; displayMode = "auto_hide"; backgroundOpacity = 1; floatingRatio = 1; size = 1; onlySameOutput = true; monitors = [ ]; pinnedApps = [ ]; colorizeIcons = false; pinnedStatic = false; inactiveIndicators = false; deadOpacity = 0.6; animationSpeed = 1; }; network = { wifiEnabled = true; bluetoothRssiPollingEnabled = false; bluetoothRssiPollIntervalMs = 10000; wifiDetailsViewMode = "grid"; bluetoothDetailsViewMode = "grid"; bluetoothHideUnnamedDevices = false; }; sessionMenu = { enableCountdown = false; countdownDuration = 10000; position = "center"; showHeader = true; largeButtonsStyle = true; largeButtonsLayout = "single-row"; showNumberLabels = true; powerOptions = [ { action = "lock"; enabled = false; } { action = "suspend"; enabled = true; } { action = "hibernate"; enabled = false; } { action = "reboot"; enabled = true; } { action = "logout"; enabled = false; } { action = "shutdown"; enabled = true; } ]; }; notifications = { enabled = true; monitors = [ ]; location = "top_right"; overlayLayer = true; backgroundOpacity = 1; respectExpireTimeout = false; lowUrgencyDuration = 3; normalUrgencyDuration = 8; criticalUrgencyDuration = 15; enableKeyboardLayoutToast = 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; }; 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"; mprisBlacklist = [ ]; preferredPlayer = ""; volumeFeedback = false; }; brightness = { brightnessStep = 5; enforceMinimum = true; enableDdcSupport = false; }; colorSchemes = { useWallpaperColors = false; predefinedScheme = "Nord"; darkMode = true; monitorForColors = ""; }; nightLight = { enabled = true; forced = false; autoSchedule = true; nightTemp = "5000"; dayTemp = "6250"; manualSunrise = "06:30"; manualSunset = "18:30"; }; hooks = { enabled = false; wallpaperChange = ""; darkModeChange = ""; screenLock = ""; screenUnlock = ""; performanceModeEnabled = ""; performanceModeDisabled = ""; startup = ""; session = ""; }; desktopWidgets = { enabled = false; gridSnap = false; monitorWidgets = [ ]; }; }; }; }