diff --git a/flake.nix b/flake.nix index 7635066..c461fb9 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,10 @@ nixvim.url = "github:nix-community/nixvim"; agenix.url = "github:ryantm/agenix"; nix-homebrew.url = "github:zhaofengli/nix-homebrew"; + inputs.paneru = { + url = "github:karinushka/paneru"; + inputs.nixpkgs.follows = "nixpkgs"; + }; dms = { url = "github:AvengeMedia/DankMaterialShell/stable"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/homebrew/default.nix b/modules/homebrew/default.nix index 6781eb6..5b7281a 100644 --- a/modules/homebrew/default.nix +++ b/modules/homebrew/default.nix @@ -42,6 +42,9 @@ in "keyboard-cowboy" "krita" "darktable" + "beekeeper-studio" + "qbittorrent" + "tpvirtual" ]; masApps = { diff --git a/modules/hosts/dnsc-air/default.nix b/modules/hosts/dnsc-air/default.nix index 8bef6fc..ff1226f 100644 --- a/modules/hosts/dnsc-air/default.nix +++ b/modules/hosts/dnsc-air/default.nix @@ -18,6 +18,7 @@ in neovim terminal browser + scrolling-desktop ( { ... }: diff --git a/modules/scrolling-desktop/default.nix b/modules/scrolling-desktop/default.nix index 2724413..0dacaad 100644 --- a/modules/scrolling-desktop/default.nix +++ b/modules/scrolling-desktop/default.nix @@ -63,711 +63,766 @@ { imports = [ inputs.dms.homeModules.dank-material-shell - ({ lib, pkgs, ... }: lib.mkIf pkgs.stdenv.isDarwin { }) + inputs.paneru.homeModules.paneru + ( + { lib, pkgs, ... }: + lib.mkIf pkgs.stdenv.isDarwin { + services.paneru = { + enable = true; + settings = { + options = { + preset_column_widths = [ + 0.25 + 0.5 + 0.75 + ]; + swipe_gesture_fingers = 4; + swipe_gesture_direction = "Natural"; + animation_speed = 4000; + padding_top = 4; + padding_bottom = 4; + padding_left = 4; + padding_right = 4; + }; + bindings = { + window_focus_west = "cmd - h"; + window_focus_east = "cmd - l"; + window_focus_north = "cmd - k"; + window_focus_south = "cmd - j"; + window_swap_west = "alt - h"; + window_swap_east = "alt - l"; + window_swap_first = "alt + shift - h"; + window_swap_last = "alt + shift - l"; + window_center = "alt - c"; + window_resize = "alt - r"; + window_fullwidth = "alt - f"; + window_manage = "ctrl + alt - t"; + window_stack = "alt - ]"; + window_unstack = "alt + shift - ]"; + quit = "ctrl + alt - q"; + }; + windows = { + all = { + horizontal_padding = 4; + vertical_padding = 4; + }; + pip = { + title = "Picture.*(in)?.*[Pp]icture"; + floating = true; + }; + }; + }; + }; + } + ) + ( + { lib, pkgs, ... }: + lib.mkIf pkgs.stdenv.isLinux { + services.polkit-gnome.enable = true; + services.mpris-proxy.enable = true; + + xdg.desktopEntries = { + screenshot = { + type = "Application"; + name = "Screenshot"; + exec = "niri msg action screenshot"; + icon = "screenie"; + }; + screenshot-screen = { + type = "Application"; + name = "Screenshot Screen"; + exec = "niri msg action screenshot-screen"; + icon = "screenie"; + }; + color-pickers = { + type = "Application"; + name = "Color Picker"; + exec = "hyprpicker -a -f=hex -n -l -q"; + icon = "colorpicker"; + }; + notes = { + type = "Application"; + name = "Notes"; + exec = "ghostty --working-directory=${config.home.homeDirectory}/notes -e nvim -c \":lua Snacks.picker('files')\""; + icon = "gnotes"; + }; + lock = { + type = "Application"; + name = "Lock"; + exec = "hyprlock"; + icon = "lock-screen"; + }; + logout = { + type = "Application"; + name = "Logout"; + exec = "niri msg action quit"; + icon = "administration"; + }; + shutdown = { + type = "Application"; + name = "Shutdown"; + exec = "shutdown now"; + icon = "com.github.bcedu.shutdownscheduler"; + }; + }; + + fonts.fontconfig = { + enable = true; + antialiasing = true; + defaultFonts = { + monospace = [ "VictorMono Nerd Font" ]; + sansSerif = [ + "Adwaita Sans" + "Noto Color Emoji" + ]; + serif = [ "Bodoni Moda" ]; + }; + }; + + gtk = { + enable = true; + colorScheme = "dark"; + theme.name = "adw-gtk3"; + font = { + package = pkgs.adwaita-fonts; + name = "Adwaita Sans"; + size = 11; + }; + iconTheme = { + package = pkgs.reversal-icon-theme; + name = "Reversal-dark"; + }; + gtk4.iconTheme = { + package = pkgs.reversal-icon-theme; + name = "Reversal-dark"; + }; + cursorTheme = { + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Ice"; + size = 24; + }; + }; + + home.packages = with pkgs; [ + nerd-fonts.victor-mono + ]; + + programs.dank-material-shell = { + enable = true; + systemd = { + enable = true; + restartIfChanged = true; + }; + + enableSystemMonitoring = true; + enableVPN = true; + enableClipboardPaste = true; + + settings = { + currentThemeName = "dynamic"; + currentThemeCategory = "dynamic"; + customThemeFile = ""; + registryThemeVariants = { }; + matugenScheme = "scheme-tonal-spot"; + runUserMatugenTemplates = true; + matugenTargetMonitor = ""; + popupTransparency = 1; + dockTransparency = 1; + widgetBackgroundColor = "sch"; + widgetColorMode = "default"; + controlCenterTileColorMode = "primary"; + buttonColorMode = "primary"; + cornerRadius = 12; + niriLayoutGapsOverride = 8; + layoutBorderSize = 2; + showSeconds = false; + padHours12Hour = false; + useFahrenheit = false; + windSpeedUnit = "ms"; + nightModeEnabled = false; + animationSpeed = 1; + customAnimationDuration = 500; + syncComponentAnimationSpeeds = true; + popoutAnimationSpeed = 1; + popoutCustomAnimationDuration = 150; + modalAnimationSpeed = 1; + modalCustomAnimationDuration = 150; + enableRippleEffects = false; + wallpaperFillMode = "Fill"; + blurredWallpaperLayer = false; + blurWallpaperOnOverview = false; + showLauncherButton = true; + showWorkspaceSwitcher = true; + showFocusedWindow = true; + showWeather = true; + showMusic = true; + showClipboard = true; + showCpuUsage = true; + showMemUsage = true; + showCpuTemp = true; + showGpuTemp = true; + selectedGpuIndex = 0; + enabledGpuPciIds = [ ]; + showSystemTray = true; + showClock = true; + showNotificationButton = true; + showBattery = true; + showControlCenterButton = true; + showCapsLockIndicator = true; + controlCenterShowNetworkIcon = true; + controlCenterShowBluetoothIcon = true; + controlCenterShowAudioIcon = true; + controlCenterShowAudioPercent = false; + controlCenterShowVpnIcon = true; + controlCenterShowBrightnessIcon = false; + controlCenterShowBrightnessPercent = false; + controlCenterShowMicIcon = false; + controlCenterShowMicPercent = false; + controlCenterShowBatteryIcon = false; + controlCenterShowPrinterIcon = false; + controlCenterShowScreenSharingIcon = true; + showPrivacyButton = true; + privacyShowMicIcon = false; + privacyShowCameraIcon = false; + privacyShowScreenShareIcon = false; + controlCenterWidgets = [ + { + id = "volumeSlider"; + enabled = true; + width = 50; + } + { + id = "brightnessSlider"; + enabled = true; + width = 50; + } + { + id = "wifi"; + enabled = true; + width = 50; + } + { + id = "bluetooth"; + enabled = true; + width = 50; + } + { + id = "audioOutput"; + enabled = true; + width = 50; + } + { + id = "audioInput"; + enabled = true; + width = 50; + } + { + id = "nightMode"; + enabled = true; + width = 50; + } + { + id = "darkMode"; + enabled = true; + width = 50; + } + ]; + showWorkspaceIndex = true; + showWorkspaceName = false; + showWorkspacePadding = false; + workspaceScrolling = false; + showWorkspaceApps = false; + workspaceDragReorder = true; + maxWorkspaceIcons = 3; + workspaceAppIconSizeOffset = 0; + groupWorkspaceApps = true; + workspaceFollowFocus = false; + showOccupiedWorkspacesOnly = false; + reverseScrolling = false; + dwlShowAllTags = false; + workspaceColorMode = "default"; + workspaceOccupiedColorMode = "none"; + workspaceUnfocusedColorMode = "default"; + workspaceUrgentColorMode = "default"; + workspaceFocusedBorderEnabled = false; + workspaceFocusedBorderColor = "primary"; + workspaceFocusedBorderThickness = 2; + workspaceNameIcons = { }; + waveProgressEnabled = true; + scrollTitleEnabled = true; + audioVisualizerEnabled = false; + audioScrollMode = "volume"; + audioWheelScrollAmount = 5; + clockCompactMode = false; + focusedWindowCompactMode = false; + runningAppsCompactMode = true; + barMaxVisibleApps = 0; + barMaxVisibleRunningApps = 0; + barShowOverflowBadge = true; + appsDockHideIndicators = false; + appsDockColorizeActive = false; + appsDockActiveColorMode = "primary"; + appsDockEnlargeOnHover = false; + appsDockEnlargePercentage = 125; + appsDockIconSizePercentage = 100; + keyboardLayoutNameCompactMode = false; + runningAppsCurrentWorkspace = true; + runningAppsGroupByApp = false; + runningAppsCurrentMonitor = false; + appIdSubstitutions = [ + { + pattern = "Spotify"; + replacement = "spotify"; + type = "exact"; + } + { + pattern = "beepertexts"; + replacement = "beeper"; + type = "exact"; + } + { + pattern = "home assistant desktop"; + replacement = "homeassistant-desktop"; + type = "exact"; + } + { + pattern = "com.transmissionbt.transmission"; + replacement = "transmission-gtk"; + type = "contains"; + } + { + pattern = "^steam_app_(\\d+)$"; + replacement = "steam_icon_$1"; + type = "regex"; + } + ]; + centeringMode = "index"; + clockDateFormat = "dddd, MMMM d"; + lockDateFormat = "dddd, MMMM d"; + mediaSize = 1; + appLauncherViewMode = "list"; + spotlightModalViewMode = "list"; + browserPickerViewMode = "grid"; + browserUsageHistory = { }; + appPickerViewMode = "grid"; + filePickerUsageHistory = { }; + sortAppsAlphabetically = false; + appLauncherGridColumns = 4; + spotlightCloseNiriOverview = true; + spotlightSectionViewModes = { }; + appDrawerSectionViewModes = { }; + niriOverviewOverlayEnabled = true; + dankLauncherV2Size = "compact"; + dankLauncherV2BorderEnabled = false; + dankLauncherV2BorderThickness = 2; + dankLauncherV2BorderColor = "primary"; + dankLauncherV2ShowFooter = true; + dankLauncherV2UnloadOnClose = false; + useAutoLocation = false; + weatherEnabled = true; + networkPreference = "auto"; + iconTheme = "System Default"; + cursorSettings = { + theme = "Bibata-Modern-Ice"; + size = 24; + niri = { + hideWhenTyping = false; + hideAfterInactiveMs = 0; + }; + hyprland = { + hideOnKeyPress = false; + hideOnTouch = false; + inactiveTimeout = 0; + }; + dwl = { + cursorHideTimeout = 0; + }; + }; + launcherLogoMode = "apps"; + launcherLogoCustomPath = ""; + launcherLogoColorOverride = ""; + launcherLogoColorInvertOnMode = false; + launcherLogoBrightness = 0.5; + launcherLogoContrast = 1; + launcherLogoSizeOffset = 0; + fontFamily = "Adwaita Sans"; + monoFontFamily = "Fira Code"; + fontWeight = 400; + fontScale = 1; + notepadUseMonospace = true; + notepadFontFamily = ""; + notepadFontSize = 14; + notepadShowLineNumbers = false; + adLastCustomTransparency = 0.7; + soundsEnabled = true; + useSystemSoundTheme = false; + soundNewNotification = true; + soundVolumeChanged = true; + soundPluggedIn = true; + acMonitorTimeout = 0; + acLockTimeout = 0; + acSuspendTimeout = 0; + acSuspendBehavior = 0; + acProfileName = ""; + batteryMonitorTimeout = 0; + batteryLockTimeout = 0; + batterySuspendTimeout = 0; + batterySuspendBehavior = 0; + batteryProfileName = ""; + batteryChargeLimit = 100; + lockBeforeSuspend = false; + loginctlLockIntegration = true; + fadeToLockEnabled = true; + fadeToLockGracePeriod = 5; + fadeToDpmsEnabled = true; + fadeToDpmsGracePeriod = 5; + launchPrefix = ""; + brightnessDevicePins = { }; + wifiNetworkPins = { }; + bluetoothDevicePins = { }; + audioInputDevicePins = { }; + audioOutputDevicePins = { }; + gtkThemingEnabled = false; + qtThemingEnabled = false; + syncModeWithPortal = true; + terminalsAlwaysDark = false; + runDmsMatugenTemplates = true; + matugenTemplateGtk = true; + matugenTemplateNiri = true; + matugenTemplateHyprland = true; + matugenTemplateMangowc = true; + matugenTemplateQt5ct = true; + matugenTemplateQt6ct = true; + matugenTemplateFirefox = true; + matugenTemplatePywalfox = true; + matugenTemplateZenBrowser = true; + matugenTemplateVesktop = true; + matugenTemplateEquibop = true; + matugenTemplateGhostty = false; + matugenTemplateKitty = true; + matugenTemplateFoot = true; + matugenTemplateAlacritty = true; + matugenTemplateNeovim = false; + matugenTemplateWezterm = true; + matugenTemplateDgop = true; + matugenTemplateKcolorscheme = true; + matugenTemplateVscode = true; + matugenTemplateEmacs = true; + showDock = false; + dockAutoHide = false; + dockSmartAutoHide = false; + dockGroupByApp = false; + dockOpenOnOverview = false; + dockPosition = 1; + dockSpacing = 4; + dockBottomGap = 0; + dockMargin = 0; + dockIconSize = 40; + dockIndicatorStyle = "circle"; + dockBorderEnabled = false; + dockBorderColor = "surfaceText"; + dockBorderOpacity = 1; + dockBorderThickness = 1; + dockIsolateDisplays = false; + dockLauncherEnabled = false; + dockLauncherLogoMode = "apps"; + dockLauncherLogoCustomPath = ""; + dockLauncherLogoColorOverride = ""; + dockLauncherLogoSizeOffset = 0; + dockLauncherLogoBrightness = 0.5; + dockLauncherLogoContrast = 1; + dockMaxVisibleApps = 0; + dockMaxVisibleRunningApps = 0; + dockShowOverflowBadge = true; + notificationOverlayEnabled = false; + notificationPopupShadowEnabled = true; + notificationPopupPrivacyMode = false; + modalDarkenBackground = true; + lockScreenShowPowerActions = true; + lockScreenShowSystemIcons = true; + lockScreenShowTime = true; + lockScreenShowDate = true; + lockScreenShowProfileImage = true; + lockScreenShowPasswordField = true; + lockScreenShowMediaPlayer = true; + lockScreenPowerOffMonitorsOnLock = false; + lockAtStartup = false; + enableFprint = false; + maxFprintTries = 15; + lockScreenActiveMonitor = "all"; + lockScreenInactiveColor = "#000000"; + lockScreenNotificationMode = 0; + hideBrightnessSlider = false; + notificationTimeoutLow = 5000; + notificationTimeoutNormal = 5000; + notificationTimeoutCritical = 0; + notificationCompactMode = false; + notificationPopupPosition = 0; + notificationAnimationSpeed = 1; + notificationCustomAnimationDuration = 400; + notificationHistoryEnabled = true; + notificationHistoryMaxCount = 50; + notificationHistoryMaxAgeDays = 7; + notificationHistorySaveLow = true; + notificationHistorySaveNormal = true; + notificationHistorySaveCritical = true; + notificationRules = [ ]; + osdAlwaysShowValue = false; + osdPosition = 5; + osdVolumeEnabled = true; + osdMediaVolumeEnabled = true; + osdMediaPlaybackEnabled = false; + osdBrightnessEnabled = true; + osdIdleInhibitorEnabled = true; + osdMicMuteEnabled = true; + osdCapsLockEnabled = true; + osdPowerProfileEnabled = false; + osdAudioOutputEnabled = true; + powerActionConfirm = true; + powerActionHoldDuration = 0.5; + powerMenuActions = [ + "reboot" + "logout" + "poweroff" + "lock" + "suspend" + "restart" + ]; + powerMenuDefaultAction = "logout"; + powerMenuGridLayout = false; + customPowerActionLock = ""; + customPowerActionLogout = ""; + customPowerActionSuspend = ""; + customPowerActionHibernate = ""; + customPowerActionReboot = ""; + customPowerActionPowerOff = ""; + updaterHideWidget = false; + updaterUseCustomCommand = false; + updaterCustomCommand = ""; + updaterTerminalAdditionalParams = ""; + displayNameMode = "system"; + screenPreferences = { }; + showOnLastDisplay = { }; + niriOutputSettings = { }; + hyprlandOutputSettings = { }; + displayProfiles = { }; + activeDisplayProfile = { }; + displayProfileAutoSelect = false; + displayShowDisconnected = false; + displaySnapToEdge = true; + barConfigs = [ + { + id = "default"; + name = "Main Bar"; + enabled = true; + position = 0; + screenPreferences = [ + "all" + ]; + showOnLastDisplay = true; + leftWidgets = [ + { + id = "workspaceSwitcher"; + enabled = true; + } + { + id = "focusedWindow"; + enabled = true; + } + { + id = "appsDock"; + enabled = true; + } + ]; + centerWidgets = [ + "music" + ]; + rightWidgets = [ + { + id = "systemTray"; + enabled = true; + } + { + id = "clipboard"; + enabled = true; + } + { + id = "clock"; + enabled = true; + } + { + id = "controlCenterButton"; + enabled = true; + } + ]; + spacing = 0; + transparency = 1; + widgetTransparency = 1; + squareCorners = true; + noBackground = false; + gothCornersEnabled = false; + gothCornerRadiusOverride = false; + gothCornerRadiusValue = 12; + borderEnabled = false; + borderColor = "surfaceText"; + borderOpacity = 1; + borderThickness = 1; + fontScale = 1.05; + autoHide = false; + autoHideDelay = 250; + openOnOverview = false; + visible = true; + popupGapsAuto = true; + popupGapsManual = 0; + maximizeDetection = false; + widgetPadding = 12; + iconScale = 1.1; + maximizeWidgetIcons = false; + maximizeWidgetText = false; + removeWidgetPadding = false; + shadowIntensity = 0; + shadowOpacity = 37; + widgetOutlineEnabled = false; + } + ]; + desktopClockEnabled = false; + desktopClockStyle = "analog"; + desktopClockTransparency = 0.8; + desktopClockColorMode = "primary"; + desktopClockShowDate = true; + desktopClockShowAnalogNumbers = false; + desktopClockShowAnalogSeconds = true; + desktopClockWidth = 280; + desktopClockHeight = 180; + desktopClockDisplayPreferences = [ + "all" + ]; + systemMonitorEnabled = false; + systemMonitorShowHeader = true; + systemMonitorTransparency = 0.8; + systemMonitorColorMode = "primary"; + systemMonitorShowCpu = true; + systemMonitorShowCpuGraph = true; + systemMonitorShowCpuTemp = true; + systemMonitorShowGpuTemp = false; + systemMonitorGpuPciId = ""; + systemMonitorShowMemory = true; + systemMonitorShowMemoryGraph = true; + systemMonitorShowNetwork = true; + systemMonitorShowNetworkGraph = true; + systemMonitorShowDisk = true; + systemMonitorShowTopProcesses = false; + systemMonitorTopProcessCount = 3; + systemMonitorTopProcessSortBy = "cpu"; + systemMonitorGraphInterval = 60; + systemMonitorLayoutMode = "auto"; + systemMonitorWidth = 320; + systemMonitorHeight = 480; + systemMonitorDisplayPreferences = [ + "all" + ]; + systemMonitorVariants = [ ]; + desktopWidgetPositions = { }; + desktopWidgetGridSettings = { }; + desktopWidgetInstances = [ ]; + desktopWidgetGroups = [ ]; + builtInPluginSettings = { + dms_settings_search = { + trigger = "?"; + }; + }; + clipboardEnterToPaste = false; + launcherPluginVisibility = { }; + launcherPluginOrder = [ ]; + configVersion = 5; + }; + + session = { + isLightMode = false; + doNotDisturb = false; + wallpaperPath = "/home/dennis/Pictures/Wallpapers/safe/dark/mountain.jpg"; + perMonitorWallpaper = false; + monitorWallpapers = { }; + perModeWallpaper = false; + wallpaperPathLight = ""; + wallpaperPathDark = ""; + monitorWallpapersLight = { }; + monitorWallpapersDark = { }; + monitorWallpaperFillModes = { }; + wallpaperTransition = "fade"; + includedTransitions = [ + "fade" + "wipe" + "disc" + "stripes" + "iris bloom" + "pixelate" + "portal" + ]; + wallpaperCyclingEnabled = false; + wallpaperCyclingMode = "interval"; + wallpaperCyclingInterval = 300; + wallpaperCyclingTime = "06:00"; + monitorCyclingSettings = { }; + nightModeEnabled = false; + nightModeTemperature = 4500; + nightModeHighTemperature = 6500; + nightModeAutoEnabled = false; + nightModeAutoMode = "time"; + nightModeStartHour = 18; + nightModeStartMinute = 0; + nightModeEndHour = 6; + nightModeEndMinute = 0; + latitude = 0; + longitude = 0; + nightModeUseIPLocation = false; + nightModeLocationProvider = ""; + themeModeAutoEnabled = false; + themeModeAutoMode = "time"; + themeModeStartHour = 18; + themeModeStartMinute = 0; + themeModeEndHour = 6; + themeModeEndMinute = 0; + themeModeShareGammaSettings = true; + weatherLocation = "München, Bayern"; + weatherCoordinates = "48.1371079,11.5753822"; + pinnedApps = [ ]; + barPinnedApps = [ ]; + dockLauncherPosition = 0; + hiddenTrayIds = [ ]; + trayItemOrder = [ ]; + recentColors = [ ]; + showThirdPartyPlugins = false; + launchPrefix = ""; + lastBrightnessDevice = ""; + brightnessExponentialDevices = { }; + brightnessUserSetValues = { }; + brightnessExponentValues = { }; + selectedGpuIndex = 0; + nvidiaGpuTempEnabled = false; + nonNvidiaGpuTempEnabled = false; + enabledGpuPciIds = [ ]; + wifiDeviceOverride = ""; + weatherHourlyDetailed = true; + hiddenApps = [ ]; + appOverrides = { }; + searchAppActions = true; + vpnLastConnected = ""; + deviceMaxVolumes = { }; + hiddenOutputDeviceNames = [ ]; + hiddenInputDeviceNames = [ ]; + launcherLastMode = "all"; + appDrawerLastMode = "apps"; + niriOverviewLastMode = "apps"; + configVersion = 3; + }; + }; + + xdg.configFile."niri" = { + source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/scrolling-desktop/niri"; + }; + } + ) ]; - - services.polkit-gnome.enable = true; - services.mpris-proxy.enable = true; - - xdg.desktopEntries = { - screenshot = { - type = "Application"; - name = "Screenshot"; - exec = "niri msg action screenshot"; - icon = "screenie"; - }; - screenshot-screen = { - type = "Application"; - name = "Screenshot Screen"; - exec = "niri msg action screenshot-screen"; - icon = "screenie"; - }; - color-pickers = { - type = "Application"; - name = "Color Picker"; - exec = "hyprpicker -a -f=hex -n -l -q"; - icon = "colorpicker"; - }; - notes = { - type = "Application"; - name = "Notes"; - exec = "ghostty --working-directory=${config.home.homeDirectory}/notes -e nvim -c \":lua Snacks.picker('files')\""; - icon = "gnotes"; - }; - lock = { - type = "Application"; - name = "Lock"; - exec = "hyprlock"; - icon = "lock-screen"; - }; - logout = { - type = "Application"; - name = "Logout"; - exec = "niri msg action quit"; - icon = "administration"; - }; - shutdown = { - type = "Application"; - name = "Shutdown"; - exec = "shutdown now"; - icon = "com.github.bcedu.shutdownscheduler"; - }; - }; - - fonts.fontconfig = { - enable = true; - antialiasing = true; - defaultFonts = { - monospace = [ "VictorMono Nerd Font" ]; - sansSerif = [ - "Adwaita Sans" - "Noto Color Emoji" - ]; - serif = [ "Bodoni Moda" ]; - }; - }; - - gtk = { - enable = true; - colorScheme = "dark"; - theme.name = "adw-gtk3"; - font = { - package = pkgs.adwaita-fonts; - name = "Adwaita Sans"; - size = 11; - }; - iconTheme = { - package = pkgs.reversal-icon-theme; - name = "Reversal-dark"; - }; - gtk4.iconTheme = { - package = pkgs.reversal-icon-theme; - name = "Reversal-dark"; - }; - cursorTheme = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - size = 24; - }; - }; - - home.packages = with pkgs; [ - nerd-fonts.victor-mono - ]; - - programs.dank-material-shell = { - enable = true; - systemd = { - enable = true; - restartIfChanged = true; - }; - - enableSystemMonitoring = true; - enableVPN = true; - enableClipboardPaste = true; - - settings = { - currentThemeName = "dynamic"; - currentThemeCategory = "dynamic"; - customThemeFile = ""; - registryThemeVariants = { }; - matugenScheme = "scheme-tonal-spot"; - runUserMatugenTemplates = true; - matugenTargetMonitor = ""; - popupTransparency = 1; - dockTransparency = 1; - widgetBackgroundColor = "sch"; - widgetColorMode = "default"; - controlCenterTileColorMode = "primary"; - buttonColorMode = "primary"; - cornerRadius = 12; - niriLayoutGapsOverride = 8; - layoutBorderSize = 2; - showSeconds = false; - padHours12Hour = false; - useFahrenheit = false; - windSpeedUnit = "ms"; - nightModeEnabled = false; - animationSpeed = 1; - customAnimationDuration = 500; - syncComponentAnimationSpeeds = true; - popoutAnimationSpeed = 1; - popoutCustomAnimationDuration = 150; - modalAnimationSpeed = 1; - modalCustomAnimationDuration = 150; - enableRippleEffects = false; - wallpaperFillMode = "Fill"; - blurredWallpaperLayer = false; - blurWallpaperOnOverview = false; - showLauncherButton = true; - showWorkspaceSwitcher = true; - showFocusedWindow = true; - showWeather = true; - showMusic = true; - showClipboard = true; - showCpuUsage = true; - showMemUsage = true; - showCpuTemp = true; - showGpuTemp = true; - selectedGpuIndex = 0; - enabledGpuPciIds = [ ]; - showSystemTray = true; - showClock = true; - showNotificationButton = true; - showBattery = true; - showControlCenterButton = true; - showCapsLockIndicator = true; - controlCenterShowNetworkIcon = true; - controlCenterShowBluetoothIcon = true; - controlCenterShowAudioIcon = true; - controlCenterShowAudioPercent = false; - controlCenterShowVpnIcon = true; - controlCenterShowBrightnessIcon = false; - controlCenterShowBrightnessPercent = false; - controlCenterShowMicIcon = false; - controlCenterShowMicPercent = false; - controlCenterShowBatteryIcon = false; - controlCenterShowPrinterIcon = false; - controlCenterShowScreenSharingIcon = true; - showPrivacyButton = true; - privacyShowMicIcon = false; - privacyShowCameraIcon = false; - privacyShowScreenShareIcon = false; - controlCenterWidgets = [ - { - id = "volumeSlider"; - enabled = true; - width = 50; - } - { - id = "brightnessSlider"; - enabled = true; - width = 50; - } - { - id = "wifi"; - enabled = true; - width = 50; - } - { - id = "bluetooth"; - enabled = true; - width = 50; - } - { - id = "audioOutput"; - enabled = true; - width = 50; - } - { - id = "audioInput"; - enabled = true; - width = 50; - } - { - id = "nightMode"; - enabled = true; - width = 50; - } - { - id = "darkMode"; - enabled = true; - width = 50; - } - ]; - showWorkspaceIndex = true; - showWorkspaceName = false; - showWorkspacePadding = false; - workspaceScrolling = false; - showWorkspaceApps = false; - workspaceDragReorder = true; - maxWorkspaceIcons = 3; - workspaceAppIconSizeOffset = 0; - groupWorkspaceApps = true; - workspaceFollowFocus = false; - showOccupiedWorkspacesOnly = false; - reverseScrolling = false; - dwlShowAllTags = false; - workspaceColorMode = "default"; - workspaceOccupiedColorMode = "none"; - workspaceUnfocusedColorMode = "default"; - workspaceUrgentColorMode = "default"; - workspaceFocusedBorderEnabled = false; - workspaceFocusedBorderColor = "primary"; - workspaceFocusedBorderThickness = 2; - workspaceNameIcons = { }; - waveProgressEnabled = true; - scrollTitleEnabled = true; - audioVisualizerEnabled = false; - audioScrollMode = "volume"; - audioWheelScrollAmount = 5; - clockCompactMode = false; - focusedWindowCompactMode = false; - runningAppsCompactMode = true; - barMaxVisibleApps = 0; - barMaxVisibleRunningApps = 0; - barShowOverflowBadge = true; - appsDockHideIndicators = false; - appsDockColorizeActive = false; - appsDockActiveColorMode = "primary"; - appsDockEnlargeOnHover = false; - appsDockEnlargePercentage = 125; - appsDockIconSizePercentage = 100; - keyboardLayoutNameCompactMode = false; - runningAppsCurrentWorkspace = true; - runningAppsGroupByApp = false; - runningAppsCurrentMonitor = false; - appIdSubstitutions = [ - { - pattern = "Spotify"; - replacement = "spotify"; - type = "exact"; - } - { - pattern = "beepertexts"; - replacement = "beeper"; - type = "exact"; - } - { - pattern = "home assistant desktop"; - replacement = "homeassistant-desktop"; - type = "exact"; - } - { - pattern = "com.transmissionbt.transmission"; - replacement = "transmission-gtk"; - type = "contains"; - } - { - pattern = "^steam_app_(\\d+)$"; - replacement = "steam_icon_$1"; - type = "regex"; - } - ]; - centeringMode = "index"; - clockDateFormat = "dddd, MMMM d"; - lockDateFormat = "dddd, MMMM d"; - mediaSize = 1; - appLauncherViewMode = "list"; - spotlightModalViewMode = "list"; - browserPickerViewMode = "grid"; - browserUsageHistory = { }; - appPickerViewMode = "grid"; - filePickerUsageHistory = { }; - sortAppsAlphabetically = false; - appLauncherGridColumns = 4; - spotlightCloseNiriOverview = true; - spotlightSectionViewModes = { }; - appDrawerSectionViewModes = { }; - niriOverviewOverlayEnabled = true; - dankLauncherV2Size = "compact"; - dankLauncherV2BorderEnabled = false; - dankLauncherV2BorderThickness = 2; - dankLauncherV2BorderColor = "primary"; - dankLauncherV2ShowFooter = true; - dankLauncherV2UnloadOnClose = false; - useAutoLocation = false; - weatherEnabled = true; - networkPreference = "auto"; - iconTheme = "System Default"; - cursorSettings = { - theme = "Bibata-Modern-Ice"; - size = 24; - niri = { - hideWhenTyping = false; - hideAfterInactiveMs = 0; - }; - hyprland = { - hideOnKeyPress = false; - hideOnTouch = false; - inactiveTimeout = 0; - }; - dwl = { - cursorHideTimeout = 0; - }; - }; - launcherLogoMode = "apps"; - launcherLogoCustomPath = ""; - launcherLogoColorOverride = ""; - launcherLogoColorInvertOnMode = false; - launcherLogoBrightness = 0.5; - launcherLogoContrast = 1; - launcherLogoSizeOffset = 0; - fontFamily = "Adwaita Sans"; - monoFontFamily = "Fira Code"; - fontWeight = 400; - fontScale = 1; - notepadUseMonospace = true; - notepadFontFamily = ""; - notepadFontSize = 14; - notepadShowLineNumbers = false; - adLastCustomTransparency = 0.7; - soundsEnabled = true; - useSystemSoundTheme = false; - soundNewNotification = true; - soundVolumeChanged = true; - soundPluggedIn = true; - acMonitorTimeout = 0; - acLockTimeout = 0; - acSuspendTimeout = 0; - acSuspendBehavior = 0; - acProfileName = ""; - batteryMonitorTimeout = 0; - batteryLockTimeout = 0; - batterySuspendTimeout = 0; - batterySuspendBehavior = 0; - batteryProfileName = ""; - batteryChargeLimit = 100; - lockBeforeSuspend = false; - loginctlLockIntegration = true; - fadeToLockEnabled = true; - fadeToLockGracePeriod = 5; - fadeToDpmsEnabled = true; - fadeToDpmsGracePeriod = 5; - launchPrefix = ""; - brightnessDevicePins = { }; - wifiNetworkPins = { }; - bluetoothDevicePins = { }; - audioInputDevicePins = { }; - audioOutputDevicePins = { }; - gtkThemingEnabled = false; - qtThemingEnabled = false; - syncModeWithPortal = true; - terminalsAlwaysDark = false; - runDmsMatugenTemplates = true; - matugenTemplateGtk = true; - matugenTemplateNiri = true; - matugenTemplateHyprland = true; - matugenTemplateMangowc = true; - matugenTemplateQt5ct = true; - matugenTemplateQt6ct = true; - matugenTemplateFirefox = true; - matugenTemplatePywalfox = true; - matugenTemplateZenBrowser = true; - matugenTemplateVesktop = true; - matugenTemplateEquibop = true; - matugenTemplateGhostty = false; - matugenTemplateKitty = true; - matugenTemplateFoot = true; - matugenTemplateAlacritty = true; - matugenTemplateNeovim = false; - matugenTemplateWezterm = true; - matugenTemplateDgop = true; - matugenTemplateKcolorscheme = true; - matugenTemplateVscode = true; - matugenTemplateEmacs = true; - showDock = false; - dockAutoHide = false; - dockSmartAutoHide = false; - dockGroupByApp = false; - dockOpenOnOverview = false; - dockPosition = 1; - dockSpacing = 4; - dockBottomGap = 0; - dockMargin = 0; - dockIconSize = 40; - dockIndicatorStyle = "circle"; - dockBorderEnabled = false; - dockBorderColor = "surfaceText"; - dockBorderOpacity = 1; - dockBorderThickness = 1; - dockIsolateDisplays = false; - dockLauncherEnabled = false; - dockLauncherLogoMode = "apps"; - dockLauncherLogoCustomPath = ""; - dockLauncherLogoColorOverride = ""; - dockLauncherLogoSizeOffset = 0; - dockLauncherLogoBrightness = 0.5; - dockLauncherLogoContrast = 1; - dockMaxVisibleApps = 0; - dockMaxVisibleRunningApps = 0; - dockShowOverflowBadge = true; - notificationOverlayEnabled = false; - notificationPopupShadowEnabled = true; - notificationPopupPrivacyMode = false; - modalDarkenBackground = true; - lockScreenShowPowerActions = true; - lockScreenShowSystemIcons = true; - lockScreenShowTime = true; - lockScreenShowDate = true; - lockScreenShowProfileImage = true; - lockScreenShowPasswordField = true; - lockScreenShowMediaPlayer = true; - lockScreenPowerOffMonitorsOnLock = false; - lockAtStartup = false; - enableFprint = false; - maxFprintTries = 15; - lockScreenActiveMonitor = "all"; - lockScreenInactiveColor = "#000000"; - lockScreenNotificationMode = 0; - hideBrightnessSlider = false; - notificationTimeoutLow = 5000; - notificationTimeoutNormal = 5000; - notificationTimeoutCritical = 0; - notificationCompactMode = false; - notificationPopupPosition = 0; - notificationAnimationSpeed = 1; - notificationCustomAnimationDuration = 400; - notificationHistoryEnabled = true; - notificationHistoryMaxCount = 50; - notificationHistoryMaxAgeDays = 7; - notificationHistorySaveLow = true; - notificationHistorySaveNormal = true; - notificationHistorySaveCritical = true; - notificationRules = [ ]; - osdAlwaysShowValue = false; - osdPosition = 5; - osdVolumeEnabled = true; - osdMediaVolumeEnabled = true; - osdMediaPlaybackEnabled = false; - osdBrightnessEnabled = true; - osdIdleInhibitorEnabled = true; - osdMicMuteEnabled = true; - osdCapsLockEnabled = true; - osdPowerProfileEnabled = false; - osdAudioOutputEnabled = true; - powerActionConfirm = true; - powerActionHoldDuration = 0.5; - powerMenuActions = [ - "reboot" - "logout" - "poweroff" - "lock" - "suspend" - "restart" - ]; - powerMenuDefaultAction = "logout"; - powerMenuGridLayout = false; - customPowerActionLock = ""; - customPowerActionLogout = ""; - customPowerActionSuspend = ""; - customPowerActionHibernate = ""; - customPowerActionReboot = ""; - customPowerActionPowerOff = ""; - updaterHideWidget = false; - updaterUseCustomCommand = false; - updaterCustomCommand = ""; - updaterTerminalAdditionalParams = ""; - displayNameMode = "system"; - screenPreferences = { }; - showOnLastDisplay = { }; - niriOutputSettings = { }; - hyprlandOutputSettings = { }; - displayProfiles = { }; - activeDisplayProfile = { }; - displayProfileAutoSelect = false; - displayShowDisconnected = false; - displaySnapToEdge = true; - barConfigs = [ - { - id = "default"; - name = "Main Bar"; - enabled = true; - position = 0; - screenPreferences = [ - "all" - ]; - showOnLastDisplay = true; - leftWidgets = [ - { - id = "workspaceSwitcher"; - enabled = true; - } - { - id = "focusedWindow"; - enabled = true; - } - { - id = "appsDock"; - enabled = true; - } - ]; - centerWidgets = [ - "music" - ]; - rightWidgets = [ - { - id = "systemTray"; - enabled = true; - } - { - id = "clipboard"; - enabled = true; - } - { - id = "clock"; - enabled = true; - } - { - id = "controlCenterButton"; - enabled = true; - } - ]; - spacing = 0; - transparency = 1; - widgetTransparency = 1; - squareCorners = true; - noBackground = false; - gothCornersEnabled = false; - gothCornerRadiusOverride = false; - gothCornerRadiusValue = 12; - borderEnabled = false; - borderColor = "surfaceText"; - borderOpacity = 1; - borderThickness = 1; - fontScale = 1.05; - autoHide = false; - autoHideDelay = 250; - openOnOverview = false; - visible = true; - popupGapsAuto = true; - popupGapsManual = 0; - maximizeDetection = false; - widgetPadding = 12; - iconScale = 1.1; - maximizeWidgetIcons = false; - maximizeWidgetText = false; - removeWidgetPadding = false; - shadowIntensity = 0; - shadowOpacity = 37; - widgetOutlineEnabled = false; - } - ]; - desktopClockEnabled = false; - desktopClockStyle = "analog"; - desktopClockTransparency = 0.8; - desktopClockColorMode = "primary"; - desktopClockShowDate = true; - desktopClockShowAnalogNumbers = false; - desktopClockShowAnalogSeconds = true; - desktopClockWidth = 280; - desktopClockHeight = 180; - desktopClockDisplayPreferences = [ - "all" - ]; - systemMonitorEnabled = false; - systemMonitorShowHeader = true; - systemMonitorTransparency = 0.8; - systemMonitorColorMode = "primary"; - systemMonitorShowCpu = true; - systemMonitorShowCpuGraph = true; - systemMonitorShowCpuTemp = true; - systemMonitorShowGpuTemp = false; - systemMonitorGpuPciId = ""; - systemMonitorShowMemory = true; - systemMonitorShowMemoryGraph = true; - systemMonitorShowNetwork = true; - systemMonitorShowNetworkGraph = true; - systemMonitorShowDisk = true; - systemMonitorShowTopProcesses = false; - systemMonitorTopProcessCount = 3; - systemMonitorTopProcessSortBy = "cpu"; - systemMonitorGraphInterval = 60; - systemMonitorLayoutMode = "auto"; - systemMonitorWidth = 320; - systemMonitorHeight = 480; - systemMonitorDisplayPreferences = [ - "all" - ]; - systemMonitorVariants = [ ]; - desktopWidgetPositions = { }; - desktopWidgetGridSettings = { }; - desktopWidgetInstances = [ ]; - desktopWidgetGroups = [ ]; - builtInPluginSettings = { - dms_settings_search = { - trigger = "?"; - }; - }; - clipboardEnterToPaste = false; - launcherPluginVisibility = { }; - launcherPluginOrder = [ ]; - configVersion = 5; - }; - - session = { - isLightMode = false; - doNotDisturb = false; - wallpaperPath = "/home/dennis/Pictures/Wallpapers/safe/dark/mountain.jpg"; - perMonitorWallpaper = false; - monitorWallpapers = { }; - perModeWallpaper = false; - wallpaperPathLight = ""; - wallpaperPathDark = ""; - monitorWallpapersLight = { }; - monitorWallpapersDark = { }; - monitorWallpaperFillModes = { }; - wallpaperTransition = "fade"; - includedTransitions = [ - "fade" - "wipe" - "disc" - "stripes" - "iris bloom" - "pixelate" - "portal" - ]; - wallpaperCyclingEnabled = false; - wallpaperCyclingMode = "interval"; - wallpaperCyclingInterval = 300; - wallpaperCyclingTime = "06:00"; - monitorCyclingSettings = { }; - nightModeEnabled = false; - nightModeTemperature = 4500; - nightModeHighTemperature = 6500; - nightModeAutoEnabled = false; - nightModeAutoMode = "time"; - nightModeStartHour = 18; - nightModeStartMinute = 0; - nightModeEndHour = 6; - nightModeEndMinute = 0; - latitude = 0; - longitude = 0; - nightModeUseIPLocation = false; - nightModeLocationProvider = ""; - themeModeAutoEnabled = false; - themeModeAutoMode = "time"; - themeModeStartHour = 18; - themeModeStartMinute = 0; - themeModeEndHour = 6; - themeModeEndMinute = 0; - themeModeShareGammaSettings = true; - weatherLocation = "München, Bayern"; - weatherCoordinates = "48.1371079,11.5753822"; - pinnedApps = [ ]; - barPinnedApps = [ ]; - dockLauncherPosition = 0; - hiddenTrayIds = [ ]; - trayItemOrder = [ ]; - recentColors = [ ]; - showThirdPartyPlugins = false; - launchPrefix = ""; - lastBrightnessDevice = ""; - brightnessExponentialDevices = { }; - brightnessUserSetValues = { }; - brightnessExponentValues = { }; - selectedGpuIndex = 0; - nvidiaGpuTempEnabled = false; - nonNvidiaGpuTempEnabled = false; - enabledGpuPciIds = [ ]; - wifiDeviceOverride = ""; - weatherHourlyDetailed = true; - hiddenApps = [ ]; - appOverrides = { }; - searchAppActions = true; - vpnLastConnected = ""; - deviceMaxVolumes = { }; - hiddenOutputDeviceNames = [ ]; - hiddenInputDeviceNames = [ ]; - launcherLastMode = "all"; - appDrawerLastMode = "apps"; - niriOverviewLastMode = "apps"; - configVersion = 3; - }; - }; - - xdg.configFile."niri" = { - source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/scrolling-desktop/niri"; - }; }; }