diff --git a/jaci/desktop-configuration.nix b/jaci/desktop-configuration.nix index 69be3d3..5c9f0ff 100644 --- a/jaci/desktop-configuration.nix +++ b/jaci/desktop-configuration.nix @@ -58,8 +58,8 @@ in # Stylix theming - auto-generated light theme from wallpaper stylix = { enable = true; - image = ./kiki_background.jpg; - # Auto-generate color scheme from wallpaper + # image = ./kiki_background.jpg; + base16Scheme = "${pkgs.base16-schemes}/share/themes/rosepine-dawn.yaml"; polarity = "light"; # System-wide cursor cursor = { diff --git a/jaci/modules/home-manager/face.png b/jaci/modules/home-manager/face.png new file mode 100644 index 0000000..96f99ca Binary files /dev/null and b/jaci/modules/home-manager/face.png differ diff --git a/jaci/modules/home-manager/home.nix b/jaci/modules/home-manager/home.nix index fccb2b6..1482558 100644 --- a/jaci/modules/home-manager/home.nix +++ b/jaci/modules/home-manager/home.nix @@ -38,20 +38,6 @@ homePackages = [ ]; }; - # Enable Noctalia shell (replaces Waybar, SwayNC, SwayOSD, wlsunset) - noctaliaShell = { - enable = true; - settings = { - bar.position = "top"; - colorSchemes = { - darkMode = false; # Jaci uses light mode - useWallpaperColors = true; - }; - location.name = "Salt Lake"; - general.avatarImage = "/home/${userName}/.face"; - }; - }; - # Additional user packages # Note: Programs with Stylix theming are in programs.nix home.packages = with pkgs; [ @@ -105,6 +91,9 @@ value = { source = localDotfilesPath + "/${name}"; }; }) (builtins.attrNames (builtins.readDir localDotfilesPath))) else {}) + { + ".face".source = ./face.png; + } ]; # Active symlinks for live-edited config @@ -198,4 +187,602 @@ gitEmail = email; }; }; + + # Enable Noctalia shell (replaces Waybar, SwayNC, SwayOSD, wlsunset) + noctaliaShell = { + enable = true; + settings = { + settingsVersion = 51; + bar = { + barType = "simple"; + position = "top"; + monitors = [ ]; + density = "spacious"; + showOutline = false; + showCapsule = true; + capsuleOpacity = 1.0; + capsuleColorKey = "none"; + backgroundOpacity = 1.0; + 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 = [ + { + icon = "rocket"; + iconColor = "none"; + id = "Launcher"; + } + { + clockColor = "none"; + customFont = ""; + formatHorizontal = "HH:mm ddd, MMM dd"; + formatVertical = "HH mm - dd MM"; + id = "Clock"; + tooltipFormat = "HH:mm ddd, MMM dd"; + useCustomFont = false; + } + { + id = "plugin:weekly-calendar"; + } + { + compactMode = true; + diskPath = "/"; + iconColor = "none"; + id = "SystemMonitor"; + showCpuFreq = false; + showCpuTemp = true; + showCpuUsage = true; + showDiskAvailable = false; + showDiskUsage = false; + showDiskUsageAsPercent = false; + showGpuTemp = false; + showLoadAverage = false; + showMemoryAsPercent = false; + showMemoryUsage = true; + showNetworkStats = false; + showSwapUsage = false; + textColor = "none"; + useMonospaceFont = true; + } + { + colorizeIcons = false; + hideMode = "hidden"; + id = "ActiveWindow"; + maxWidth = 145; + scrollingMode = "hover"; + showIcon = true; + textColor = "none"; + useFixedWidth = false; + } + { + compactMode = false; + compactShowAlbumArt = true; + compactShowVisualizer = false; + hideMode = "hidden"; + hideWhenIdle = false; + id = "MediaMini"; + maxWidth = 145; + panelShowAlbumArt = true; + panelShowVisualizer = true; + scrollingMode = "hover"; + showAlbumArt = true; + showArtistFirst = true; + showProgressRing = true; + showVisualizer = false; + textColor = "none"; + useFixedWidth = false; + visualizerType = "linear"; + } + ]; + center = [ + { + characterCount = 2; + colorizeIcons = false; + emptyColor = "secondary"; + enableScrollWheel = true; + focusedColor = "primary"; + followFocusedScreen = false; + groupedBorderOpacity = 1.0; + hideUnoccupied = false; + iconScale = 0.8; + id = "Workspace"; + labelMode = "index"; + occupiedColor = "secondary"; + pillSize = 0.6; + reverseScroll = false; + showApplications = false; + showBadge = true; + showLabelsOnlyWhenOccupied = true; + unfocusedIconsOpacity = 1.0; + } + ]; + right = [ + { + blacklist = [ ]; + chevronColor = "none"; + colorizeIcons = false; + drawerEnabled = true; + hidePassive = false; + id = "Tray"; + pinned = [ ]; + } + { + hideWhenZero = false; + hideWhenZeroUnread = false; + iconColor = "none"; + id = "NotificationHistory"; + showUnreadBadge = true; + unreadBadgeColor = "primary"; + } + { + deviceNativePath = "__default__"; + displayMode = "graphic-clean"; + hideIfIdle = false; + hideIfNotDetected = true; + id = "Battery"; + showNoctaliaPerformance = false; + showPowerProfiles = false; + } + { + 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; + } + ]; + }; + screenOverrides = [ ]; + }; + general = { + avatarImage = "/home/jaci/.face"; + dimmerOpacity = 0.3; + showScreenCorners = false; + forceBlackScreenCorners = false; + scaleRatio = 1; + radiusRatio = 1; + iRadiusRatio = 1; + boxRadiusRatio = 1; + screenRadiusRatio = 1; + animationSpeed = 1; + animationDisabled = false; + compactLockScreen = false; + lockScreenAnimations = false; + lockOnSuspend = true; + showSessionButtonsOnLockScreen = true; + showHibernateOnLockScreen = false; + enableShadows = true; + shadowDirection = "bottom_right"; + shadowOffsetX = 2; + shadowOffsetY = 3; + language = ""; + allowPanelsOnScreenWithoutBar = true; + showChangelogOnStartup = true; + telemetryEnabled = false; + enableLockScreenCountdown = true; + lockScreenCountdownDuration = 10000; + autoStartAuth = false; + allowPasswordWithFprintd = false; + clockStyle = "custom"; + clockFormat = "hh\\nmm"; + lockScreenMonitors = [ ]; + lockScreenBlur = 0; + lockScreenTint = 0; + keybinds = { + keyUp = [ + "Up" + ]; + keyDown = [ + "Down" + ]; + keyLeft = [ + "Left" + ]; + keyRight = [ + "Right" + ]; + keyEnter = [ + "Return" + ]; + keyEscape = [ + "Esc" + ]; + }; + }; + ui = { + fontDefault = "Lato"; + fontFixed = "Maple Mono NF"; + fontDefaultScale = 1.2; + fontFixedScale = 1.2; + tooltipsEnabled = true; + panelBackgroundOpacity = 1.0; + panelsAttachedToBar = true; + settingsPanelMode = "attached"; + wifiDetailsViewMode = "grid"; + bluetoothDetailsViewMode = "grid"; + networkPanelView = "wifi"; + bluetoothHideUnnamedDevices = false; + boxBorderEnabled = false; + }; + location = { + name = "Saratoga Springs, UT"; + weatherEnabled = true; + weatherShowEffects = true; + useFahrenheit = true; + use12hourFormat = true; + showWeekNumberInCalendar = false; + showCalendarEvents = true; + showCalendarWeather = true; + analogClockInCalendar = false; + firstDayOfWeek = -1; + hideWeatherTimezone = false; + hideWeatherCityName = false; + }; + 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/jaci/Pictures/Wallpapers"; + monitorDirectories = [ ]; + enableMultiMonitorDirectories = false; + showHiddenFiles = false; + viewMode = "browse"; + setWallpaperOnAllMonitors = true; + fillMode = "crop"; + fillColor = config.lib.stylix.colors.withHashtag.base00; + useSolidColor = false; + solidColor = "#1a1a2e"; + automationEnabled = true; + wallpaperChangeMode = "random"; + randomIntervalSec = 300; + transitionDuration = 2000; + transitionType = "random"; + transitionEdgeSmoothness = 0.05; + panelPosition = "follow_bar"; + hideWallpaperFilenames = 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"; + }; + 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 = "ghostty -e"; + customLaunchPrefixEnabled = false; + customLaunchPrefix = ""; + viewMode = "list"; + showCategories = true; + iconMode = "tabler"; + showIconBackground = false; + enableSettingsSearch = true; + enableWindowsSearch = true; + ignoreMouseInput = false; + screenshotAnnotationTool = ""; + overviewLayer = false; + 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 = "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; + batteryWarningThreshold = 20; + batteryCriticalThreshold = 5; + 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 = true; + position = "bottom"; + displayMode = "auto_hide"; + backgroundOpacity = 1.0; + 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 = true; + countdownDuration = 10000; + position = "center"; + showHeader = true; + largeButtonsStyle = true; + largeButtonsLayout = "single-row"; + showNumberLabels = true; + powerOptions = [ + { + action = "lock"; + command = ""; + countdownEnabled = true; + enabled = true; + keybind = ""; + } + { + action = "suspend"; + command = ""; + countdownEnabled = true; + enabled = true; + keybind = ""; + } + { + action = "hibernate"; + command = ""; + countdownEnabled = true; + enabled = true; + keybind = ""; + } + { + action = "reboot"; + command = ""; + countdownEnabled = true; + enabled = true; + keybind = ""; + } + { + action = "logout"; + command = ""; + countdownEnabled = true; + enabled = true; + keybind = ""; + } + { + action = "shutdown"; + command = ""; + countdownEnabled = true; + enabled = true; + keybind = ""; + } + ]; + }; + notifications = { + enabled = true; + monitors = [ ]; + location = "top"; + overlayLayer = true; + backgroundOpacity = 1.0; + respectExpireTimeout = false; + lowUrgencyDuration = 3; + normalUrgencyDuration = 8; + criticalUrgencyDuration = 15; + 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 = "bottom"; + autoHideMs = 2000; + overlayLayer = true; + backgroundOpacity = 1.0; + enabledTypes = [ + 0 + 1 + 2 + 3 + ]; + 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 = "Noctalia (default)"; + darkMode = true; + schedulingMode = "off"; + manualSunrise = "06:30"; + manualSunset = "18:30"; + generationMethod = "tonal-spot"; + monitorForColors = ""; + }; + templates = { + activeTemplates = [ ]; + enableUserTheming = false; + }; + nightLight = { + enabled = true; + 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 = ""; + }; + plugins = { + autoUpdate = true; + }; + desktopWidgets = { + enabled = false; + gridSnap = false; + monitorWidgets = [ ]; + }; + }; + }; } diff --git a/scripts/preview-base16.sh b/scripts/preview-base16.sh index a61570a..3b34d54 100755 --- a/scripts/preview-base16.sh +++ b/scripts/preview-base16.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash # base16-preview.sh - Preview base16 themes as terminal color swatches +nix build nixpkgs#base16-schemes + THEMES_DIR="${1:-result/share/themes}" for theme in "$THEMES_DIR"/*.yaml; do diff --git a/scripts/result b/scripts/result new file mode 120000 index 0000000..fdbdab1 --- /dev/null +++ b/scripts/result @@ -0,0 +1 @@ +/nix/store/4c4qjkl760pd2fn7v8m4sck8ixpgw27a-base16-schemes-0-unstable-2025-11-08 \ No newline at end of file