diff --git a/flake.lock b/flake.lock index cba9b0b..c922979 100644 --- a/flake.lock +++ b/flake.lock @@ -607,11 +607,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1774106199, - "narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=", + "lastModified": 1770562336, + "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655", + "rev": "d6c71932130818840fc8fe9509cf50be8c64634f", "type": "github" }, "original": { @@ -622,6 +622,22 @@ } }, "nixpkgs_5": { + "locked": { + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { "locked": { "lastModified": 1774192288, "narHash": "sha256-vHqcv1WQvmR4hRz0/dUqlA8LjIHtZvWtWrzIX3YTxzQ=", @@ -637,7 +653,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1773389992, "narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=", @@ -653,6 +669,50 @@ "type": "github" } }, + "noctalia": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "noctalia-qs": "noctalia-qs" + }, + "locked": { + "lastModified": 1774355152, + "narHash": "sha256-/LZrWUvaM/arityH0KR2AopnEaXJqR9roSbKLNgFq0w=", + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "rev": "020dab63bf9f77beb8ade278e975be05701bf6c2", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "type": "github" + } + }, + "noctalia-qs": { + "inputs": { + "nixpkgs": [ + "noctalia", + "nixpkgs" + ], + "systems": "systems_3", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1774304440, + "narHash": "sha256-JVLdoEuZUxS6Iujt0rC+Pyxw1pP6JSddGexqD6+yZ64=", + "owner": "noctalia-dev", + "repo": "noctalia-qs", + "rev": "2ddc0266025b9cc196fc28a46f0ed89146834c4c", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-qs", + "type": "github" + } + }, "pyproject-build-systems": { "inputs": { "nixpkgs": [ @@ -715,6 +775,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_4", "nixpkgs-stable": "nixpkgs-stable", + "noctalia": "noctalia", "simple-nixos-mailserver": "simple-nixos-mailserver", "zen-browser": "zen-browser" } @@ -724,7 +785,7 @@ "blobs": "blobs", "flake-compat": "flake-compat_3", "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1774268581, @@ -771,6 +832,39 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1772660329, + "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "3710e0e1218041bbad640352a0440114b1e10428", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "uv2nix": { "inputs": { "nixpkgs": [ @@ -799,7 +893,7 @@ "zen-browser": { "inputs": { "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1774242250, diff --git a/flake.nix b/flake.nix index f2a7291..bba8340 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,10 @@ }; simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/master"; authentik.url = "github:nix-community/authentik-nix"; + noctalia = { + url = "github:noctalia-dev/noctalia-shell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; home-manager = { url = "github:nix-community/home-manager"; diff --git a/hosts/goingmerry/home.nix b/hosts/goingmerry/home.nix index db90414..d9707ca 100644 --- a/hosts/goingmerry/home.nix +++ b/hosts/goingmerry/home.nix @@ -20,6 +20,7 @@ ../../modules/home-manager/waybar.nix ../../modules/home-manager/wofi.nix ../../modules/home-manager/zsh.nix + # ../../modules/home-manager/noctalia.nix inputs.zen-browser.homeModules.twilight ]; home.username = "sprechtl"; diff --git a/modules/home-manager/noctalia.nix b/modules/home-manager/noctalia.nix new file mode 100644 index 0000000..1fcda08 --- /dev/null +++ b/modules/home-manager/noctalia.nix @@ -0,0 +1,569 @@ +{ pkgs, inputs, ... }: +{ + imports = [ + inputs.noctalia.homeModules.default + ]; + programs.noctalia-shell = { + enable = true; + settings = { + settingsVersion = 0; + bar = { + barType = "simple"; + position = "top"; + monitors = [ ]; + density = "default"; + showOutline = false; + showCapsule = true; + capsuleOpacity = 1; + capsuleColorKey = "none"; + widgetSpacing = 6; + contentPadding = 2; + fontScale = 1; + enableExclusionZoneInset = true; + backgroundOpacity = 0.93; + useSeparateOpacity = false; + marginVertical = 4; + marginHorizontal = 4; + frameThickness = 8; + frameRadius = 12; + outerCorners = true; + hideOnOverview = false; + displayMode = "always_visible"; + autoHideDelay = 500; + autoShowDelay = 150; + showOnWorkspaceSwitch = true; + widgets = { + left = [ + { + id = "Launcher"; + } + { + id = "Clock"; + } + { + id = "SystemMonitor"; + } + { + id = "ActiveWindow"; + } + { + id = "MediaMini"; + } + ]; + center = [ + { + id = "Workspace"; + } + ]; + right = [ + { + id = "Tray"; + } + { + id = "NotificationHistory"; + } + { + id = "Battery"; + } + { + id = "Volume"; + } + { + id = "Brightness"; + } + { + id = "ControlCenter"; + } + ]; + }; + mouseWheelAction = "none"; + reverseScroll = false; + mouseWheelWrap = true; + middleClickAction = "none"; + middleClickFollowMouse = false; + middleClickCommand = ""; + rightClickAction = "controlCenter"; + rightClickFollowMouse = true; + rightClickCommand = ""; + screenOverrides = [ ]; + }; + general = { + avatarImage = ""; + dimmerOpacity = 0.2; + 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; + enableLockScreenMediaControls = false; + enableShadows = true; + enableBlurBehind = 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"; + passwordChars = false; + lockScreenMonitors = [ ]; + lockScreenBlur = 0; + lockScreenTint = 0; + keybinds = { + keyUp = [ + "Up" + ]; + keyDown = [ + "Down" + ]; + keyLeft = [ + "Left" + ]; + keyRight = [ + "Right" + ]; + keyEnter = [ + "Return" + "Enter" + ]; + keyEscape = [ + "Esc" + ]; + keyRemove = [ + "Del" + ]; + }; + reverseScroll = false; + }; + ui = { + fontDefault = ""; + fontFixed = ""; + fontDefaultScale = 1; + fontFixedScale = 1; + tooltipsEnabled = true; + scrollbarAlwaysVisible = true; + boxBorderEnabled = false; + panelBackgroundOpacity = 0.93; + translucentWidgets = false; + panelsAttachedToBar = true; + settingsPanelMode = "attached"; + settingsPanelSideBarCardStyle = false; + }; + location = { + name = "Tokyo"; + weatherEnabled = true; + weatherShowEffects = true; + useFahrenheit = false; + use12hourFormat = false; + 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 = false; + directory = ""; + monitorDirectories = [ ]; + enableMultiMonitorDirectories = false; + showHiddenFiles = false; + viewMode = "single"; + setWallpaperOnAllMonitors = true; + fillMode = "crop"; + fillColor = "#000000"; + useSolidColor = false; + solidColor = "#1a1a2e"; + automationEnabled = false; + wallpaperChangeMode = "random"; + randomIntervalSec = 300; + 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 = false; + 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 = "center"; + pinnedApps = [ ]; + sortByMostUsed = true; + terminalCommand = "alacritty -e"; + customLaunchPrefixEnabled = false; + customLaunchPrefix = ""; + viewMode = "list"; + showCategories = true; + iconMode = "tabler"; + showIconBackground = false; + enableSettingsSearch = true; + enableWindowsSearch = true; + enableSessionSearch = 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; + 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 = true; + 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 = { + airplaneModeEnabled = false; + bluetoothRssiPollingEnabled = false; + bluetoothRssiPollIntervalMs = 60000; + networkPanelView = "wifi"; + wifiDetailsViewMode = "grid"; + bluetoothDetailsViewMode = "grid"; + bluetoothHideUnnamedDevices = false; + disableDiscoverability = false; + bluetoothAutoConnect = true; + }; + sessionMenu = { + enableCountdown = true; + countdownDuration = 10000; + 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 = false; + density = "default"; + monitors = [ ]; + location = "top_right"; + overlayLayer = true; + backgroundOpacity = 1; + respectExpireTimeout = false; + 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 = false; + predefinedScheme = "Noctalia (default)"; + darkMode = true; + schedulingMode = "off"; + manualSunrise = "06:30"; + manualSunset = "18:30"; + generationMethod = "tonal-spot"; + monitorForColors = ""; + syncGsettings = true; + }; + templates = { + activeTemplates = [ ]; + 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; + }; + 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 = [ ]; + }; + }; + }; +}