From 9533485f355a994a796dd3d1aa59b37c09e808d7 Mon Sep 17 00:00:00 2001 From: Jelle Spreeuwenberg Date: Tue, 23 Jun 2026 19:27:26 +0200 Subject: [PATCH] feat: update inputs and move to noctalia v5 --- flake.lock | 190 ++--- flake.nix | 2 +- modules/capabilities/fonts.nix | 23 +- modules/capabilities/niri/default.nix | 2 +- .../noctalia/_noctalia-config.nix | 718 ++++-------------- modules/capabilities/noctalia/default.nix | 50 +- 6 files changed, 254 insertions(+), 731 deletions(-) diff --git a/flake.lock b/flake.lock index ff993ae..8b19a2e 100644 --- a/flake.lock +++ b/flake.lock @@ -122,11 +122,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1780630679, - "narHash": "sha256-hhQyVAYmNKziZ0T+T4Gsk0PYmnz4vdzOzpkJAmDASKM=", + "lastModified": 1782153911, + "narHash": "sha256-Z7BG4cSJX1ybJeZztEMV8WlE6GrXJsSd34x9eHvpzU8=", "owner": "cachix", "repo": "devenv", - "rev": "90ed6227ab389dd4e874a69a724f25dba312b754", + "rev": "d894e487bb23ed87e0555d2158710844bde65322", "type": "github" }, "original": { @@ -142,11 +142,11 @@ ] }, "locked": { - "lastModified": 1780290312, - "narHash": "sha256-eTAlX0CwgB84Ts3GaBd944A3DRXVMzgA0EqroZBISUo=", + "lastModified": 1781152676, + "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=", "owner": "nix-community", "repo": "disko", - "rev": "115e5211780054d8a890b41f0b7734cafad54dfe", + "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1", "type": "github" }, "original": { @@ -163,11 +163,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1775706155, - "narHash": "sha256-h7Rw0vlb0n0Jsk21WJPm7H+1T1bG+PEuxE5cJ2TZl8A=", + "lastModified": 1781164160, + "narHash": "sha256-dxo3aPnfaQJt9K/3NhgKfu2Q9B42z4d4Or9Izoug+68=", "owner": "abenz1267", "repo": "elephant", - "rev": "376ee71c66db38683daabd57350bf3f6f086eaf8", + "rev": "3296842820d04d5ec774afc7528492fcbb3c01f2", "type": "github" }, "original": { @@ -323,11 +323,11 @@ ] }, "locked": { - "lastModified": 1780593650, - "narHash": "sha256-CHo7k65YTL3HY+WQVedDTupji+LMgNlKCdrtRHZFAK4=", + "lastModified": 1782220169, + "narHash": "sha256-NxykfEdGQjop9m49Bk61pXpAduH8ICHgXC1N3Ph3Jp0=", "owner": "nix-community", "repo": "home-manager", - "rev": "447fd9ff62501dae7206dfe180ee89f8de27b7d5", + "rev": "4b0b9474749820afac53ea30d4ccfef60aba5ce6", "type": "github" }, "original": { @@ -363,11 +363,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1780640554, - "narHash": "sha256-dgnL2gTgRoO1D4z6wkARGCO/gimq3/UE/mVFcQcWBn8=", + "lastModified": 1782198869, + "narHash": "sha256-7HsiKhCUxnsldqGQRF8sDV/9t6N15Jb3PBZYR/9RJFA=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "f764eba1fdd162a1f2bc923f7e7034b894a22b4a", + "rev": "238eb2728ede4b4e5ac3ec276bc81732b8df0b69", "type": "github" }, "original": { @@ -405,11 +405,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1780639821, - "narHash": "sha256-SOTuKPQ9HptaWKnd6pbiSOC3YyY2tXwCJ5sQwKUDldU=", + "lastModified": 1781795508, + "narHash": "sha256-VKrApQ3WCkEe9D8DbaeFjGqLAh7zqYGYjbQYtY5ikxc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "f92324f4e97776e141dc8a8ce4debc6c91b64038", + "rev": "493ce1e33e72f86312584f331c8cf52b3432ec99", "type": "github" }, "original": { @@ -438,11 +438,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1780637332, - "narHash": "sha256-FeKyLRxLZu2EUnhifijZPDZRl0sVnPVHMtizAINNiN4=", + "lastModified": 1781781064, + "narHash": "sha256-Ii/koEm/sRyg65qbAQWqEgboSEIhdH0EL4KglAc14p0=", "owner": "YaLTeR", "repo": "niri", - "rev": "f717ae030fe56fc52522ebef69f17f3f09064ac4", + "rev": "49fc6117fd6c043adaa2ead316b82db5ed735d36", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1780210899, - "narHash": "sha256-4axz3OBPTKa6LIkXV8n0lc63MQU+et2CB5DGobEAi6k=", + "lastModified": 1782030356, + "narHash": "sha256-h4WpMr455AfRub0FXBaon6Vcpe0waUyJ4GivIW6oyd4=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "97df9dc0b7c924344b793a15c1e8e4522ebb854e", + "rev": "3017088b49efd404f78e3b104f553b97e4af786b", "type": "github" }, "original": { @@ -518,11 +518,11 @@ ] }, "locked": { - "lastModified": 1780519948, - "narHash": "sha256-+JiqyEa+77HfyiuJcsG5hUc3bGeEflhUG4TD+CaChzQ=", + "lastModified": 1782135443, + "narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=", "owner": "BirdeeHub", "repo": "nix-wrapper-modules", - "rev": "6d9506b09f8fbe0429153da1cebef2bd61a98848", + "rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f", "type": "github" }, "original": { @@ -562,11 +562,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1780310866, - "narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=", + "lastModified": 1782166108, + "narHash": "sha256-/EtnQBcKbsaCAGQ5VRcplrHRkR4ryqyLMpBfkVuG9Xw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "4ed851c979641e28597a05086332d75cdc9e395f", + "rev": "875776f0252fcb8618bb948640a0d1f7a5b362be", "type": "github" }, "original": { @@ -629,11 +629,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1779796641, - "narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=", + "lastModified": 1781509190, + "narHash": "sha256-uJZs9Di8I6ciTp6jiojj0HzlNpBkud8ax5aT/O5aJkw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "25f538306313eae3927264466c70d7001dcea1df", + "rev": "d6df3513510aa548c83868fd22bfddd0a8c0a0d4", "type": "github" }, "original": { @@ -661,11 +661,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1780243769, - "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", + "lastModified": 1781577229, + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", "type": "github" }, "original": { @@ -690,11 +690,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1780365719, - "narHash": "sha256-JX05Ms/dk0c+UoW9IqQriB53HNZFckX9Qd3EJqmcqEw=", - "rev": "ffa10e26ae11d676b2db836259889f1f571cb14f", + "lastModified": 1781607440, + "narHash": "sha256-eM+l4TVD26SNoEjcxRcpispqZi5Qrqj/G0ZY4LfqwfM=", + "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1009182.ffa10e26ae11/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1017567.3e41b24abd26/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -703,59 +703,32 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1780243769, - "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", - "type": "github" + "lastModified": 1781577229, + "narHash": "sha256-rcUHdUtJEvMdNEl2Wq+YpHraHKfcer3KsBscpZEF2Yg=", + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1017464.567a49d1913c/nixexprs.tar.xz" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" } }, "noctalia": { "inputs": { - "nixpkgs": "nixpkgs_6", - "noctalia-qs": "noctalia-qs" + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1780371321, - "narHash": "sha256-WCaU6npdMdjZSZHe3XATNDFijmzRnsV8V+iR80e5deg=", + "lastModified": 1782223387, + "narHash": "sha256-s8rdbLLxuFO55dQHJBbNtZ/kQf4cRsRGjLtDJxSmRuY=", "owner": "noctalia-dev", - "repo": "noctalia-shell", - "rev": "3aab45a2f34fd47666b05892b95054952e788de1", + "repo": "noctalia", + "rev": "2b21b9839ff9466785a9b291c84d78bd738817c3", "type": "github" }, "original": { "owner": "noctalia-dev", - "repo": "noctalia-shell", - "type": "github" - } - }, - "noctalia-qs": { - "inputs": { - "nixpkgs": [ - "noctalia", - "nixpkgs" - ], - "systems": "systems_3", - "treefmt-nix": "treefmt-nix_3" - }, - "locked": { - "lastModified": 1780194487, - "narHash": "sha256-M+YtjKCTkHrkplNaKVyaxfa8hAWjRF6wFOUBAZvxQ4U=", - "owner": "noctalia-dev", - "repo": "noctalia-qs", - "rev": "07398e12b54f194e3a2d47c87e3fd10b8eeaa27d", - "type": "github" - }, - "original": { - "owner": "noctalia-dev", - "repo": "noctalia-qs", + "repo": "noctalia", "type": "github" } }, @@ -810,11 +783,11 @@ ] }, "locked": { - "lastModified": 1780547341, - "narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=", + "lastModified": 1782165805, + "narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a", + "rev": "56b24064fdcaedca53553b1a6d607fd23b613a24", "type": "github" }, "original": { @@ -868,21 +841,6 @@ "type": "github" } }, - "systems_4": { - "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": [ @@ -926,28 +884,6 @@ "type": "github" } }, - "treefmt-nix_3": { - "inputs": { - "nixpkgs": [ - "noctalia", - "noctalia-qs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1775636079, - "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "walker": { "inputs": { "elephant": [ @@ -956,14 +892,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_4" + "systems": "systems_3" }, "locked": { - "lastModified": 1777789924, - "narHash": "sha256-fX3ErzTmHRO9z1SzHC2VZUgKOgRfO13X/joC5a3QN7Q=", + "lastModified": 1781164128, + "narHash": "sha256-xPcYrHdDXWykIi5/XXkLvliBArRnfzvs+atB9El1qhI=", "owner": "abenz1267", "repo": "walker", - "rev": "93d44d1cb41732e1370e4b949429ae8e34ea05a4", + "rev": "aa1e4b7d59237e8c43dde58636bae476f23d9bfb", "type": "github" }, "original": { @@ -992,11 +928,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1779745227, - "narHash": "sha256-yqY7RtEJGJiENzR0GwL6q69tSAy6xAAmAcLuIhLjPf8=", + "lastModified": 1781226823, + "narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "5d1efbc9dc3ab1c10160b656e0247f3325daf0f2", + "rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 517ed23..81c397d 100644 --- a/flake.nix +++ b/flake.nix @@ -24,7 +24,7 @@ }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; - noctalia.url = "github:noctalia-dev/noctalia-shell"; + noctalia.url = "github:noctalia-dev/noctalia"; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/capabilities/fonts.nix b/modules/capabilities/fonts.nix index add034f..c79cf3b 100644 --- a/modules/capabilities/fonts.nix +++ b/modules/capabilities/fonts.nix @@ -5,21 +5,26 @@ fonts = { enableDefaultPackages = false; packages = with pkgs; [ + fira + fira-code + geist-font + ibm-plex + inter + iosevka + jetbrains-mono + lexend + literata + merriweather + monaspace + montserrat noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji - iosevka - jetbrains-mono - fira-code + quicksand roboto - fira - merriweather - ibm-plex - lexend - literata - montserrat source-sans-pro source-serif-pro + victor-mono ]; fontconfig = { diff --git a/modules/capabilities/niri/default.nix b/modules/capabilities/niri/default.nix index b4912d0..2e3a63d 100644 --- a/modules/capabilities/niri/default.nix +++ b/modules/capabilities/niri/default.nix @@ -103,7 +103,7 @@ in environment.DISPLAY = ":0"; spawn-at-startup = [ { command = [ "xwayland-satellite" ]; } - { command = [ "noctalia-shell" ]; } + { command = [ "noctalia" ]; } ]; prefer-no-csd = true; hotkey-overlay.skip-at-startup = true; diff --git a/modules/capabilities/noctalia/_noctalia-config.nix b/modules/capabilities/noctalia/_noctalia-config.nix index de9db2f..288d902 100644 --- a/modules/capabilities/noctalia/_noctalia-config.nix +++ b/modules/capabilities/noctalia/_noctalia-config.nix @@ -1,569 +1,181 @@ { homeDirectory, - lib, - terminalCommand, }: { - settingsVersion = 53; - bar = { - barType = "simple"; - position = "top"; - monitors = [ ]; - density = "default"; - showOutline = false; - showCapsule = false; - capsuleOpacity = 1; - capsuleColorKey = "none"; - widgetSpacing = 6; - contentPadding = 2; - fontScale = 1; - backgroundOpacity = 0; - useSeparateOpacity = false; - floating = false; - marginVertical = 6; - marginHorizontal = 8; - frameThickness = 0; - frameRadius = 0; - outerCorners = false; - hideOnOverview = true; - displayMode = "always_visible"; - autoHideDelay = 500; - autoShowDelay = 150; - showOnWorkspaceSwitch = true; - widgets = { - left = [ - { - colorizeSystemIcon = "none"; - customIconPath = ""; - enableColorization = false; - icon = "rocket"; - iconColor = "none"; - id = "Launcher"; - useDistroLogo = false; - } - { - characterCount = 2; - colorizeIcons = true; - emptyColor = "secondary"; - enableScrollWheel = true; - focusedColor = "primary"; - followFocusedScreen = false; - groupedBorderOpacity = 1; - hideUnoccupied = true; - iconScale = 0.75; - id = "Workspace"; - labelMode = "none"; - occupiedColor = "secondary"; - pillSize = 0.6; - showApplications = true; - showBadge = false; - showLabelsOnlyWhenOccupied = true; - unfocusedIconsOpacity = 1; - } - ]; - center = [ - { - clockColor = "none"; - customFont = ""; - formatHorizontal = "HH:mm ddd, MMM dd"; - formatVertical = "HH mm - dd MM"; - id = "Clock"; - tooltipFormat = "HH:mm ddd, MMM dd"; - useCustomFont = false; - } - ]; - right = [ - { - blacklist = [ ]; - chevronColor = "none"; - colorizeIcons = false; - drawerEnabled = true; - hidePassive = false; - id = "Tray"; - pinned = [ ]; - } - { - displayMode = "onhover"; - iconColor = "none"; - id = "Volume"; - middleClickCommand = "pwvucontrol || pavucontrol"; - textColor = "none"; - } - { - colorizeDistroLogo = false; - colorizeSystemIcon = "none"; - customIconPath = ""; - enableColorization = false; - icon = "noctalia"; - id = "ControlCenter"; - useDistroLogo = false; - } - ]; - }; - screenOverrides = [ ]; - }; - general = { - avatarImage = "${homeDirectory}/.face"; - dimmerOpacity = 0; - showScreenCorners = false; - forceBlackScreenCorners = false; - scaleRatio = 1; - radiusRatio = 0.5; - iRadiusRatio = 0.5; - boxRadiusRatio = 0; - screenRadiusRatio = 0; - animationSpeed = 2; - animationDisabled = false; - compactLockScreen = false; - lockScreenAnimations = false; - lockOnSuspend = true; - showSessionButtonsOnLockScreen = true; - showHibernateOnLockScreen = false; - enableLockScreenMediaControls = 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"; - passwordChars = false; - lockScreenMonitors = [ ]; - lockScreenBlur = 0; - lockScreenTint = 0; - keybinds = { - keyUp = [ - "Up" - "Ctrl+K" - ]; - keyDown = [ - "Down" - "Ctrl+J" - ]; - keyLeft = [ - "Left" - "Ctrl+H" - ]; - keyRight = [ - "Right" - "Ctrl+L" - ]; - keyEnter = [ - "Return" - ]; - keyEscape = [ - "Esc" - ]; - keyRemove = [ - "Del" - ]; - }; - reverseScroll = false; - }; - ui = { - fontDefault = "Comfortaa Medium"; - fontFixed = "FiraCode Nerd Font"; - fontDefaultScale = 1; - fontFixedScale = 1; - tooltipsEnabled = true; - boxBorderEnabled = false; - panelBackgroundOpacity = 1; - panelsAttachedToBar = true; - settingsPanelMode = "attached"; - settingsPanelSideBarCardStyle = false; - }; - location = { - name = "Meterik, Limburg"; - weatherEnabled = true; - weatherShowEffects = true; - useFahrenheit = false; - use12hourFormat = false; - showWeekNumberInCalendar = true; - showCalendarEvents = true; - showCalendarWeather = true; - analogClockInCalendar = false; - firstDayOfWeek = "unknown character to parse: -"; - ", - " = "unknown character to parse: h"; - deWeatherTimezone = 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 = "${homeDirectory}/media/images/wallpapers"; - monitorDirectories = [ ]; - enableMultiMonitorDirectories = false; - showHiddenFiles = false; - viewMode = "recursive"; - setWallpaperOnAllMonitors = true; - fillMode = "crop"; - fillColor = "#000000"; - useSolidColor = false; - solidColor = "#1a1a2e"; - automationEnabled = false; - wallpaperChangeMode = "random"; - randomIntervalSec = 300; - transitionDuration = 1500; - transitionType = "random"; - skipStartupTransition = false; - transitionEdgeSmoothness = 5.0e-2; - 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"; - favorites = [ ]; - }; - appLauncher = { - enableClipboardHistory = true; - autoPasteClipboard = false; - enableClipPreview = true; - clipboardWrapText = true; - clipboardWatchTextCommand = "wl-paste --type text --watch cliphist store"; - clipboardWatchImageCommand = "wl-paste --type image --watch cliphist store"; - position = "top_center"; - pinnedApps = [ ]; - useApp2Unit = false; - sortByMostUsed = true; - inherit terminalCommand; - customLaunchPrefixEnabled = false; - customLaunchPrefix = ""; - viewMode = "grid"; - 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"; - }; - dock = { - enabled = false; - position = "bottom"; - displayMode = "exclusive"; - dockType = "floating"; - backgroundOpacity = 1; - floatingRatio = 1; - size = 1; - onlySameOutput = true; - monitors = [ ]; - pinnedApps = [ ]; - colorizeIcons = false; - showLauncherIcon = false; - launcherPosition = "end"; - launcherIconColor = "none"; - pinnedStatic = false; - inactiveIndicators = false; - groupApps = false; - groupContextMenuMode = "extended"; - groupClickAction = "cycle"; - groupIndicatorStyle = "dots"; - deadOpacity = 0.6; - animationSpeed = 1; - sitOnFrame = false; - showFrameIndicator = true; - }; - network = { - wifiEnabled = true; - airplaneModeEnabled = false; - bluetoothRssiPollingEnabled = false; - bluetoothRssiPollIntervalMs = 60000; - networkPanelView = "wifi"; - wifiDetailsViewMode = "grid"; - bluetoothDetailsViewMode = "grid"; - bluetoothHideUnnamedDevices = false; - disableDiscoverability = false; - }; - sessionMenu = { - enableCountdown = true; - countdownDuration = 10000; - position = "center"; - showHeader = true; - showKeybinds = true; - largeButtonsStyle = true; - largeButtonsLayout = "single-row"; - powerOptions = [ - { - action = "lock"; - command = ""; - countdownEnabled = true; - enabled = true; - keybind = "1"; - } - { - action = "suspend"; - command = ""; - countdownEnabled = true; - enabled = true; - keybind = "2"; - } - { - action = "hibernate"; - command = ""; - countdownEnabled = true; - enabled = true; - keybind = "3"; - } - { - action = "reboot"; - command = ""; - countdownEnabled = true; - enabled = true; - keybind = "4"; - } - { - action = "logout"; - command = ""; - countdownEnabled = true; - enabled = true; - keybind = "5"; - } - { - action = "shutdown"; - command = ""; - countdownEnabled = true; - enabled = true; - keybind = "6"; - } - { - action = "rebootToUefi"; - command = ""; - countdownEnabled = true; - enabled = true; - keybind = ""; - } - ]; - }; - notifications = { - enabled = true; - enableMarkdown = false; - density = "compact"; - monitors = [ ]; - location = "bottom_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; - cavaFrameRate = 30; - visualizerType = "linear"; - mprisBlacklist = [ ]; - preferredPlayer = ""; - volumeFeedback = false; - volumeFeedbackSoundFile = ""; + enable_sounds = true; + sound_volume = 1.0; }; - brightness = { - brightnessStep = 5; - enforceMinimum = true; - enableDdcSupport = false; - backlightDeviceMappings = [ ]; + + bar.default = { + end = [ + "tray" + "bluetooth" + "volume" + "clipboard" + "control-center" + ]; + font_weight = 400; + start = [ "workspaces" ]; + thickness = 30; }; - colorSchemes = { - useWallpaperColors = false; - predefinedScheme = "Kanagawa"; - darkMode = true; - schedulingMode = "off"; - manualSunrise = "06:30"; - manualSunset = "18:30"; - generationMethod = "tonal-spot"; - monitorForColors = ""; + + calendar = { + enabled = true; + account.radicale = { + name = "Personal"; + provider = "custom"; + server_url = "https://radicale.jelles.net/"; + type = "caldav"; + username = "kiri"; + }; }; - templates = { - activeTemplates = [ ]; - enableUserTheming = false; - }; - nightLight = { + + desktop_widgets = { enabled = false; - forced = false; - autoSchedule = true; - nightTemp = "4000"; - dayTemp = "6500"; - manualSunrise = "06:30"; - manualSunset = "18:30"; + schema_version = 2; + widget_order = [ ]; + grid = { + cell_size = 16; + major_interval = 4; + visible = true; + }; + widget = { }; }; - hooks = { - enabled = false; - wallpaperChange = ""; - darkModeChange = ""; - screenLock = ""; - screenUnlock = ""; - performanceModeEnabled = ""; - performanceModeDisabled = ""; - startup = ""; - session = ""; + + location.address = "Meterik, The Netherlands"; + + lockscreen = { + blur_intensity = 0.8; + blurred_desktop = true; + fingerprint = false; + tint_intensity = 0.5; }; + + lockscreen_widgets = { + enabled = true; + schema_version = 2; + widget_order = [ + "lockscreen-login-box@DP-2" + "lockscreen-login-box@DP-3" + ]; + grid = { + cell_size = 16; + major_interval = 4; + visible = true; + }; + widget = { + "lockscreen-login-box@DP-2" = { + box_height = 70.0; + box_width = 400.0; + cx = 1280.0; + cy = 1317.0; + output = "DP-2"; + rotation = 0.0; + type = "login_box"; + settings = { + background_color = "surface_variant"; + background_opacity = 0.88; + background_radius = 12.0; + input_opacity = 1.0; + input_radius = 6.0; + show_login_button = true; + }; + }; + "lockscreen-login-box@DP-3" = { + box_height = 70.0; + box_width = 400.0; + cx = 1280.0; + cy = 1317.0; + output = "DP-3"; + rotation = 0.0; + type = "login_box"; + settings = { + background_color = "surface_variant"; + background_opacity = 0.88; + background_radius = 12.0; + input_opacity = 1.0; + input_radius = 6.0; + show_login_button = true; + }; + }; + }; + }; + + nightlight = { + enabled = true; + temperature_night = 3000; + }; + + notification = { + layer = "overlay"; + position = "bottom_right"; + }; + plugins = { - autoUpdate = false; + enabled = [ ]; + source = [ + { + kind = "git"; + location = "https://github.com/noctalia-dev/official-plugins"; + name = "official"; + } + { + kind = "git"; + location = "https://github.com/noctalia-dev/community-plugins"; + name = "community"; + } + ]; }; - idle = { - enabled = false; - screenOffTimeout = 600; - lockTimeout = 660; - suspendTimeout = 1800; - fadeDuration = 5; - customCommands = "[]"; + + shell = { + font_family = "Lexend"; + screen_time_enabled = true; + settings_show_advanced = true; + ui_scale = 1.1; + animation.speed = 1.5; + screen_corners = { + enabled = true; + size = 50; + }; + screenshot.directory = "${homeDirectory}/media/images/screenshots"; }; - desktopWidgets = { - enabled = false; - overviewEnabled = true; - gridSnap = false; - monitorWidgets = [ ]; + + theme = { + builtin = "Kanagawa"; + community_palette = "Kanagawa Paper"; + wallpaper_scheme = "m3-content"; + templates = { + enable_builtin_templates = false; + enable_community_templates = false; + }; + }; + + wallpaper = { + directory = "${homeDirectory}/media/images/wallpapers"; + default.path = "${homeDirectory}/media/images/wallpapers/green-leaves.png"; + last.path = "${homeDirectory}/media/images/wallpapers/green-leaves.png"; + monitors = { + DP-2.path = "${homeDirectory}/media/images/wallpapers/green-leaves.png"; + DP-3.path = "${homeDirectory}/media/images/wallpapers/green-leaves.png"; + }; + }; + + weather.refresh_minutes = 15; + + widget = { + bluetooth.hide_when_no_connected_device = true; + cat = { + audio_spectrum = true; + type = "noctalia/bongocat:cat"; + }; + clock.format = "{:%b %d | %H:%M}"; + media = { + art_size = 90.0; + max_length = 800; + }; + tray.drawer = true; + volume.show_label = false; + workspaces.display = "none"; }; } diff --git a/modules/capabilities/noctalia/default.nix b/modules/capabilities/noctalia/default.nix index 73e0d46..31bfc3f 100644 --- a/modules/capabilities/noctalia/default.nix +++ b/modules/capabilities/noctalia/default.nix @@ -5,53 +5,31 @@ }: let mkNoctaliaSettings = - { - homeDirectory, - lib, - terminalCommand, - }: + { homeDirectory }: import ./_noctalia-config.nix { - inherit - homeDirectory - lib - terminalCommand - ; + inherit homeDirectory; }; mkBaseSettings = - { - homeDirectory, - lib, - terminalCommand, - }: + { homeDirectory }: mkNoctaliaSettings { - inherit - homeDirectory - lib - terminalCommand - ; + inherit homeDirectory; }; mkPortableSettings = baseSettings: lib.recursiveUpdate baseSettings { - bar.widgets.right = lib.concatMap ( + bar.default.end = lib.concatMap ( widget: - if widget.id == "ControlCenter" then + if widget == "control-center" then [ - { - id = "Network"; - } - { - id = "Battery"; - showPowerProfiles = true; - displayMode = "graphic"; - } + "network" + "battery" widget ] else [ widget ] - ) baseSettings.bar.widgets.right; + ) baseSettings.bar.default.end; }; in { @@ -61,14 +39,11 @@ in inputs, lib, osConfig, - pkgs, ... }: let baseSettings = mkBaseSettings { - inherit lib; homeDirectory = config.home.homeDirectory; - terminalCommand = lib.getExe pkgs.xdg-terminal-exec; }; settings = if baseSettings == { } || !(osConfig.facts.machine.portable or false) then @@ -79,13 +54,8 @@ in { imports = [ inputs.noctalia.homeModules.default ]; - programs.noctalia-shell = { + programs.noctalia = { enable = true; - package = lib.mkForce ( - inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default.override { - calendarSupport = true; - } - ); inherit settings; }; };