This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / tools / noctalia-shell / flake-module.nix
2.3 kB 49 lines
1{ self, inputs, ... }: 2{ 3 perSystem = 4 { pkgs, ... }: 5 let 6 noctalia = inputs.wrappers.lib.wrapModule { 7 imports = [ self.wrapperModules.noctalia-shell ]; 8 inherit pkgs; 9 10 # Declarative settings merged into ~/.config/noctalia/settings.json 11 # on every start. Anything not listed here remains user-mutable. 12 settings = { 13 hooks = { 14 enabled = true; 15 # Mirror noctalia's dark mode toggle to the system theme. 16 darkModeChange = ''if [ "$1" = "true" ]; then switch-theme dark; else switch-theme light; fi''; 17 }; 18 # noctalia owns the desktop background. It draws a static image (or 19 # a solid colour), unlike the mpvpaper live video wallpaper it 20 # replaced: a looping video on every output means every frame is 21 # full-screen motion, which is unusable for the sunshine-streamed 22 # tablet screen (2configs/tablet-screen.nix) and pointless power 23 # draw on the real ones. Pick the image in noctalia's wallpaper 24 # panel; only `enabled` is pinned here. 25 wallpaper.enabled = true; 26 # DDC/CI control for external monitors via ddcutil. Inert on 27 # machines without DDC/CI-capable displays (detection finds 28 # nothing, internal backlight path is used as before). 29 brightness.enableDdcSupport = true; 30 # Don't pop the changelog panel on every startup; it is an 31 # interruption nobody asked for. Note this is *only* the changelog 32 # (UpdateService.showLatestChangelog): the separate telemetry wizard 33 # is gated on noctalia's cache, not on this setting. Telemetry itself 34 # is already off by default (general.telemetryEnabled = false). 35 general.showChangelogOnStartup = false; 36 }; 37 38 settingsPatches = [ 39 # Show workspace names (not indices) in the bar, and don't 40 # truncate them. The widget caps to 2 chars on vertical bars 41 # regardless; this only affects horizontal bars. 42 ''.bar.widgets.center |= map(if .id == "Workspace" then .labelMode = "name" | .characterCount = 20 else . end)'' 43 ]; 44 }; 45 in 46 { 47 packages.noctalia-shell = noctalia.wrapper; 48 }; 49}