forked from
lass.pds.lassul.us/superconfig
This repository has no description
2.0 kB
45 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 # The live desktop wallpaper is rendered by mpvpaper on the
19 # background layer (see 2configs/desktops/sway/wallpaper.nix), so
20 # noctalia's own wallpaper is turned off to let it show through.
21 wallpaper.enabled = false;
22 # DDC/CI control for external monitors via ddcutil. Inert on
23 # machines without DDC/CI-capable displays (detection finds
24 # nothing, internal backlight path is used as before).
25 brightness.enableDdcSupport = true;
26 # Don't pop the changelog panel on every startup; it is an
27 # interruption nobody asked for. Note this is *only* the changelog
28 # (UpdateService.showLatestChangelog): the separate telemetry wizard
29 # is gated on noctalia's cache, not on this setting. Telemetry itself
30 # is already off by default (general.telemetryEnabled = false).
31 general.showChangelogOnStartup = false;
32 };
33
34 settingsPatches = [
35 # Show workspace names (not indices) in the bar, and don't
36 # truncate them. The widget caps to 2 chars on vertical bars
37 # regardless; this only affects horizontal bars.
38 ''.bar.widgets.center |= map(if .id == "Workspace" then .labelMode = "name" | .characterCount = 20 else . end)''
39 ];
40 };
41 in
42 {
43 packages.noctalia-shell = noctalia.wrapper;
44 };
45}