Compare commits

...

2 Commits

Author SHA1 Message Date
Olivier 13f35677be refactor(wisdom): decentralize module defaults and update conventions
Move Home Manager module defaults from a centralized `desktop-home-defaults.nix`
file into their respective `wisdom` slices. This change aligns with the
updated documentation regarding module ownership, where defaults live
with the option that owns them rather than in a shared defaults file.

Additionally, update `docs/conventions.md` to reflect this new pattern for
defining `mkEnableOption` defaults and move base git/encryption
configurations into the core `wisdom` module.

- Delete `modules/hosts/desktop-home-defaults.nix`
- Update `modules/wisdom/default.nix` to include shared git and package defaults
- Add `default = ...` to `mkEnableOption` in various `wisdom` modules
- Update `docs/conventions.md` with new HM slice guidelines
2026-07-16 13:51:48 -03:00
Olivier 579a120326 feat(14900k): update dms-defaults settings and plugin configurations
Add various UI and system configuration parameters to dms-defaults,
including matugen contrast, widget styling, hyprland layout overrides,
elevation settings, battery indicator options, and workspace color
customizations. Also update plugin settings to include a Home Assistant
refresh counter.
2026-07-16 13:45:31 -03:00
26 changed files with 397 additions and 463 deletions
+1 -1
View File
@@ -172,7 +172,7 @@ The integration block at the bottom of `modules/system/users.nix` turns the cata
**New NixOS leaf:** export `flake.nixosModules.whatever`, wire from `system/default.nix` or `desktop/default.nix` if it's global, or only from a host `configuration.nix` if it's not. `nix flake check`. Git-add new paths if eval uses the git tree.
**New HM slice:** add `modules/wisdom/.../foo.nix` exporting `flake.homeManagerModules.wisdomFoo` (import-tree picks it up; `wisdomCatalogExtraModules` includes every `wisdom*` export except `wisdom` / `wisdomShellBash`). Gate packages on `chiasson.home.*.enable`, set `mkDefault true` in `desktop-home-base.nix` if shared, or `enable = true` in a host `home.nix`. Upstream HM deps stay imported unconditionally — use `mkIf` on `cfg.enable` for config (never `config`-dependent `imports`; that recurses).
**New HM slice:** add `modules/wisdom/.../foo.nix` exporting `flake.homeManagerModules.wisdomFoo` (import-tree picks it up; `wisdomCatalogExtraModules` includes every `wisdom*` export except `wisdom` / `wisdomShellBash`). Gate packages on `chiasson.home.*.enable`, and set the slice's own `enable` default (`mkEnableOption "…" // { default = true/false }`) in that same module — defaults live with the option that owns them, not in a shared defaults file. Hosts flip toggles in `home.nix`. Upstream HM deps stay imported unconditionally — use `mkIf` on `cfg.enable` for config (never `config`-dependent `imports`; that recurses).
**Derivations:** `let` inside a fragment, or `flake.packages` / `flake.lib` — not a bare `mkDerivation` file import-tree will try to load.
@@ -39,7 +39,8 @@
"hassUrl": "https://home.chiasson.cloud/",
"hassTokenPath": "/run/secrets/home-assistant/auth-token",
"showButtonsOnStatusBar": true,
"showAttributes": false
"showAttributes": false,
"haRefreshCounter": 1
},
"unifiedTaskbar": {
"enabled": true,
@@ -4,11 +4,14 @@
"customThemeFile": "",
"registryThemeVariants": {},
"matugenScheme": "scheme-tonal-spot",
"matugenContrast": 0,
"runUserMatugenTemplates": true,
"matugenTargetMonitor": "",
"popupTransparency": 1,
"dockTransparency": 1,
"widgetBackgroundColor": "sch",
"widgetBackgroundCustomColor": "#6750A4",
"widgetBackgroundCustomStrength": 0.5,
"widgetColorMode": "default",
"controlCenterTileColorMode": "primary",
"buttonColorMode": "primary",
@@ -17,11 +20,18 @@
"niriLayoutRadiusOverride": -1,
"niriLayoutBorderSize": -1,
"hyprlandLayoutGapsOverride": -1,
"hyprlandLayoutGapsOutOverride": -1,
"hyprlandLayoutRadiusOverride": -1,
"hyprlandLayoutBorderSize": -1,
"hyprlandResizeOnBorder": false,
"mangoLayoutGapsOverride": -1,
"mangoLayoutGapsOutOverride": -1,
"mangoLayoutRadiusOverride": -1,
"mangoLayoutBorderSize": -1,
"mangoTrackpadNaturalScrolling": true,
"firstDayOfWeek": -1,
"showWeekNumber": false,
"calendarBackend": "auto",
"use24HourClock": false,
"showSeconds": true,
"padHours12Hour": false,
@@ -36,6 +46,17 @@
"modalAnimationSpeed": 1,
"modalCustomAnimationDuration": 150,
"enableRippleEffects": true,
"animationVariant": 0,
"motionEffect": 0,
"m3ElevationEnabled": true,
"m3ElevationIntensity": 12,
"m3ElevationOpacity": 30,
"m3ElevationColorMode": "default",
"m3ElevationLightDirection": "top",
"m3ElevationCustomColor": "#000000",
"modalElevationEnabled": true,
"popoutElevationEnabled": true,
"barElevationEnabled": false,
"blurEnabled": false,
"blurForegroundLayers": true,
"blurLayerOutlineOpacity": 0.12,
@@ -45,6 +66,8 @@
"wallpaperFillMode": "Fill",
"blurredWallpaperLayer": false,
"blurWallpaperOnOverview": false,
"wallpaperBackgroundColorMode": "black",
"wallpaperBackgroundCustomColor": "#000000",
"showLauncherButton": true,
"showWorkspaceSwitcher": true,
"showFocusedWindow": true,
@@ -64,6 +87,12 @@
"showClock": true,
"showNotificationButton": true,
"showBattery": true,
"showBatteryPercent": true,
"showBatteryPercentOnlyOnBattery": false,
"showBatteryTime": false,
"showBatteryTimeOnlyOnBattery": false,
"batteryPillStyle": false,
"batteryPillPercentSign": false,
"showControlCenterButton": true,
"showCapsLockIndicator": true,
"controlCenterShowNetworkIcon": true,
@@ -78,6 +107,8 @@
"controlCenterShowBatteryIcon": false,
"controlCenterShowPrinterIcon": false,
"controlCenterShowScreenSharingIcon": true,
"controlCenterShowIdleInhibitorIcon": false,
"controlCenterShowDoNotDisturbIcon": false,
"showPrivacyButton": true,
"privacyShowMicIcon": false,
"privacyShowCameraIcon": false,
@@ -133,29 +164,57 @@
"maxWorkspaceIcons": 9,
"workspaceAppIconSizeOffset": 1,
"groupWorkspaceApps": true,
"groupActiveWorkspaceApps": false,
"workspaceFollowFocus": false,
"showOccupiedWorkspacesOnly": true,
"reverseScrolling": false,
"dwlShowAllTags": false,
"workspaceActiveAppHighlightEnabled": false,
"workspaceColorMode": "default",
"workspaceFocusedCustomColor": "#6750A4",
"workspaceOccupiedColorMode": "none",
"workspaceOccupiedCustomColor": "#625B71",
"workspaceUnfocusedColorMode": "default",
"workspaceUnfocusedCustomColor": "#49454E",
"workspaceUrgentColorMode": "default",
"workspaceUrgentCustomColor": "#B3261E",
"workspaceFocusedBorderEnabled": false,
"workspaceFocusedBorderColor": "primary",
"workspaceFocusedBorderCustomColor": "#6750A4",
"workspaceFocusedBorderThickness": 2,
"workspaceUnfocusedMonitorSeparateAppearance": false,
"workspaceUnfocusedMonitorColorMode": "default",
"workspaceUnfocusedMonitorFocusedCustomColor": "#6750A4",
"workspaceUnfocusedMonitorOccupiedColorMode": "none",
"workspaceUnfocusedMonitorOccupiedCustomColor": "#625B71",
"workspaceUnfocusedMonitorUnfocusedColorMode": "default",
"workspaceUnfocusedMonitorUnfocusedCustomColor": "#49454E",
"workspaceUnfocusedMonitorUrgentColorMode": "default",
"workspaceUnfocusedMonitorUrgentCustomColor": "#B3261E",
"workspaceUnfocusedMonitorBorderEnabled": false,
"workspaceUnfocusedMonitorBorderColor": "primary",
"workspaceUnfocusedMonitorBorderCustomColor": "#6750A4",
"workspaceUnfocusedMonitorBorderThickness": 2,
"workspaceNameIcons": {},
"waveProgressEnabled": true,
"scrollTitleEnabled": true,
"mediaAdaptiveWidthEnabled": true,
"audioVisualizerEnabled": true,
"audioScrollMode": "volume",
"audioWheelScrollAmount": 5,
"audioDeviceScrollVolumeEnabled": false,
"mediaExcludePlayers": [],
"clockCompactMode": false,
"focusedWindowCompactMode": false,
"focusedWindowSize": 1,
"focusedWindowShowIcon": true,
"runningAppsCompactMode": true,
"barMaxVisibleApps": 0,
"barMaxVisibleRunningApps": 0,
"barShowOverflowBadge": true,
"trayAutoOverflow": true,
"trayPopupSingleLine": true,
"trayMaxVisibleItems": 0,
"appsDockHideIndicators": false,
"appsDockColorizeActive": false,
"appsDockActiveColorMode": "primary",
@@ -163,6 +222,7 @@
"appsDockEnlargePercentage": 125,
"appsDockIconSizePercentage": 100,
"keyboardLayoutNameCompactMode": false,
"keyboardLayoutNameShowIcon": false,
"runningAppsCurrentWorkspace": true,
"runningAppsGroupByApp": false,
"runningAppsCurrentMonitor": false,
@@ -198,9 +258,18 @@
"lockDateFormat": "dddd, MMMM d",
"greeterRememberLastSession": true,
"greeterRememberLastUser": true,
"greeterAutoLogin": false,
"greeterEnableFprint": false,
"greeterEnableU2f": false,
"greeterWallpaperPath": "",
"greeterUse24HourClock": true,
"greeterShowSeconds": false,
"greeterPadHours12Hour": false,
"greeterLockDateFormat": "",
"greeterFontFamily": "",
"greeterWallpaperFillMode": "",
"greeterSyncPending": false,
"greeterSyncBaseline": {},
"mediaSize": 1,
"appLauncherViewMode": "list",
"spotlightModalViewMode": "list",
@@ -211,19 +280,53 @@
"sortAppsAlphabetically": false,
"appLauncherGridColumns": 4,
"spotlightCloseNiriOverview": true,
"rememberLastQuery": false,
"rememberLastMode": true,
"spotlightSectionViewModes": {},
"appDrawerSectionViewModes": {},
"niriOverviewOverlayEnabled": true,
"dankLauncherV2Size": "compact",
"dankLauncherV2Size": "medium",
"dankLauncherV2ShowSourceBadges": true,
"dankLauncherV2BorderEnabled": false,
"dankLauncherV2BorderThickness": 2,
"dankLauncherV2BorderColor": "primary",
"dankLauncherV2ShowFooter": true,
"dankLauncherV2UnloadOnClose": false,
"dankLauncherV2UnloadOnClose": true,
"dankLauncherV2IncludeFilesInAll": false,
"dankLauncherV2IncludeFoldersInAll": false,
"launcherUseOverlayLayer": false,
"launcherStyle": "spotlight",
"spotlightBarShowModeChips": true,
"keybindsFloatingWindow": false,
"useAutoLocation": false,
"weatherEnabled": true,
"networkPreference": "auto",
"iconTheme": "WhiteSur-dark",
"dashTabs": [
{
"id": "overview",
"enabled": true
},
{
"id": "media",
"enabled": true
},
{
"id": "wallpaper",
"enabled": true
},
{
"id": "weather",
"enabled": true
},
{
"id": "settings",
"enabled": true
}
],
"networkPreference": "ethernet",
"iconThemeDark": "System Default",
"iconThemeLight": "System Default",
"iconThemePerMode": false,
"lastAppliedIconTheme": "",
"cursorSettings": {
"theme": "System Default",
"size": 24,
@@ -240,9 +343,9 @@
"cursorHideTimeout": 0
}
},
"launcherLogoMode": "apps",
"launcherLogoMode": "os",
"launcherLogoCustomPath": "",
"launcherLogoColorOverride": "",
"launcherLogoColorOverride": "primary",
"launcherLogoColorInvertOnMode": false,
"launcherLogoBrightness": 0.5,
"launcherLogoContrast": 1,
@@ -251,28 +354,50 @@
"monoFontFamily": "Fira Code",
"fontWeight": 400,
"fontScale": 1,
"textRenderType": 0,
"textRenderQuality": 0,
"notepadUseMonospace": true,
"notepadFontFamily": "",
"notepadFontSize": 14,
"notificationSummaryFontSize": 0,
"notificationBodyFontSize": 0,
"notepadShowLineNumbers": false,
"notepadAutoSave": false,
"notepadSlideoutSide": "right",
"notepadDefaultMode": "slideout",
"notepadTransparencyOverride": -1,
"notepadLastCustomTransparency": 0.7,
"notepadUseCompositorGap": false,
"notepadEdgeGap": 0,
"soundsEnabled": true,
"useSystemSoundTheme": false,
"soundLogin": false,
"soundNewNotification": true,
"soundVolumeChanged": true,
"soundPluggedIn": true,
"muteSoundsWhenMediaPlaying": true,
"acMonitorTimeout": 0,
"acLockTimeout": 0,
"acSuspendTimeout": 0,
"acSuspendBehavior": 0,
"acProfileName": "",
"acPostLockMonitorTimeout": 0,
"batteryMonitorTimeout": 0,
"batteryLockTimeout": 0,
"batterySuspendTimeout": 0,
"batterySuspendBehavior": 0,
"batteryProfileName": "",
"batteryPostLockMonitorTimeout": 0,
"batteryChargeLimit": 100,
"batteryNotifyChargeLimit": false,
"batteryCriticalThreshold": 10,
"batteryNotifyCritical": true,
"batteryLowThreshold": 20,
"batteryNotifyLow": false,
"batteryChargeLimitNotificationType": 0,
"batteryLowNotificationType": 0,
"batteryCriticalNotificationType": 1,
"batteryAutoPowerSaver": false,
"lockBeforeSuspend": false,
"loginctlLockIntegration": true,
"fadeToLockEnabled": true,
@@ -304,6 +429,7 @@
"matugenTemplatePywalfox": true,
"matugenTemplateZenBrowser": true,
"matugenTemplateVesktop": false,
"matugenTemplateVencord": true,
"matugenTemplateEquibop": true,
"matugenTemplateGhostty": true,
"matugenTemplateKitty": true,
@@ -316,10 +442,23 @@
"matugenTemplateVscode": true,
"matugenTemplateEmacs": true,
"matugenTemplateZed": true,
"matugenTemplateNeovimSettings": {
"dark": {
"baseTheme": "github_dark",
"harmony": 0.5
},
"light": {
"baseTheme": "github_light",
"harmony": 0.5
}
},
"matugenTemplateNeovimSetBackground": true,
"showDock": false,
"dockAutoHide": false,
"dockSmartAutoHide": false,
"dockUseOverlayLayer": false,
"dockGroupByApp": false,
"dockRestoreSpecialWorkspaceOnClick": false,
"dockOpenOnOverview": false,
"dockPosition": 1,
"dockSpacing": 4,
@@ -342,6 +481,9 @@
"dockMaxVisibleApps": 0,
"dockMaxVisibleRunningApps": 0,
"dockShowOverflowBadge": true,
"dockShowTrash": false,
"dockTrashFileManager": "default",
"dockTrashCustomCommand": "",
"notificationOverlayEnabled": false,
"notificationPopupShadowEnabled": true,
"notificationPopupPrivacyMode": false,
@@ -359,14 +501,21 @@
"maxFprintTries": 15,
"enableU2f": false,
"u2fMode": "or",
"lockScreenActiveMonitor": "all",
"lockScreenInactiveColor": "#000000",
"lockScreenNotificationMode": 0,
"lockScreenVideoEnabled": false,
"lockScreenVideoPath": "",
"lockScreenVideoCycling": false,
"lockScreenWallpaperPath": "",
"lockScreenWallpaperFillMode": "",
"lockScreenFontFamily": "",
"hideBrightnessSlider": false,
"notificationTimeoutLow": 5000,
"notificationTimeoutNormal": 5000,
"notificationTimeoutCritical": 0,
"notificationCompactMode": false,
"notificationShowTimeoutBar": false,
"notificationDedupeEnabled": true,
"notificationPopupPosition": 0,
"notificationAnimationSpeed": 1,
"notificationCustomAnimationDuration": 400,
@@ -377,6 +526,7 @@
"notificationHistorySaveNormal": true,
"notificationHistorySaveCritical": true,
"notificationRules": [],
"notificationFocusedMonitor": false,
"osdAlwaysShowValue": false,
"osdPosition": 5,
"osdVolumeEnabled": true,
@@ -407,9 +557,13 @@
"customPowerActionReboot": "",
"customPowerActionPowerOff": "",
"updaterHideWidget": false,
"updaterCheckOnStart": false,
"updaterUseCustomCommand": false,
"updaterCustomCommand": "",
"updaterTerminalAdditionalParams": "",
"updaterIntervalSeconds": 1800,
"updaterIncludeFlatpak": true,
"updaterAllowAUR": true,
"displayNameMode": "system",
"screenPreferences": {},
"showOnLastDisplay": {},
@@ -420,6 +574,7 @@
"displayProfileAutoSelect": false,
"displayShowDisconnected": false,
"displaySnapToEdge": true,
"connectedFrameBarStyleBackups": {},
"barConfigs": [
{
"bottomGap": 0,
@@ -486,10 +641,6 @@
{
"name": "DP-3",
"model": "34GL750"
},
{
"name": "Virtual-1",
"model": "Virtual-1"
}
],
"showOnLastDisplay": false,
@@ -517,7 +668,7 @@
"id": "gpuTemp",
"enabled": true,
"selectedGpuIndex": 0,
"pciId": "",
"pciId": "10de:1f07",
"minimumWidth": true
},
{
@@ -685,6 +836,14 @@
"desktopWidgetPositions": {},
"desktopWidgetGridSettings": {
"DP-3": {
"enabled": true,
"size": 40
},
"HDMI-A-3": {
"enabled": true,
"size": 50
},
"DP-4": {
"enabled": true,
"size": 50
}
@@ -696,7 +855,7 @@
"name": "Desktop Clock",
"enabled": true,
"config": {
"style": "analog",
"style": "digital",
"transparency": 0.8,
"colorMode": "primary",
"customColor": "#ffffff",
@@ -704,347 +863,48 @@
"showAnalogNumbers": false,
"showAnalogSeconds": true,
"displayPreferences": [
"all"
]
{
"name": "DP-2",
"model": "SUN-4K"
},
{
"name": "DP-3",
"model": "34GL750"
},
{
"name": "DP-4",
"model": "ZOWIE XL LCD"
}
],
"showDigitalSeconds": false,
"showOnOverlay": false,
"showOnOverviewOnly": false,
"showOnOverview": false
},
"positions": {
"DP-3": {
"width": 300,
"height": 300,
"x": 1550,
"y": 50
"width": 240,
"height": 240,
"x": 2240,
"y": 40
},
"DP-4": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
"width": 240.484375,
"height": 240.484375,
"x": 1350,
"y": 50
},
"HDMI-A-3": {
"width": 200,
"height": 200,
"x": 1708.3671875,
"y": 4.84765625
}
}
},
{
"id": "dw_1782021988600_vdg97np4g",
"widgetType": "systemMonitor",
"name": "System Monitor",
"enabled": true,
"config": {
"showHeader": true,
"transparency": 0.8,
"colorMode": "primary",
"customColor": "#ffffff",
"showCpu": true,
"showCpuGraph": true,
"showCpuTemp": true,
"showGpuTemp": false,
"gpuPciId": "",
"showMemory": true,
"showMemoryGraph": true,
"showNetwork": true,
"showNetworkGraph": true,
"showDisk": true,
"showTopProcesses": false,
"topProcessCount": 3,
"topProcessSortBy": "cpu",
"layoutMode": "auto",
"graphInterval": 60,
"displayPreferences": [
"all"
]
},
"positions": {
"DP-3": {
"width": 500,
"width": 250,
"height": 250,
"x": 2000,
"x": 1650,
"y": 50
},
"DP-4": {
"width": 320,
"height": 480,
"x": 800,
"y": 300
},
"HDMI-A-3": {
"width": 320,
"height": 480,
"x": 1595.0546875,
"y": 556.515625
}
}
},
{
"id": "dw_1782022081429_08ufxr98h",
"widgetType": "appShortcut",
"name": "Application Shortcut: Obsidian",
"enabled": true,
"config": {
"displayPreferences": [
"all"
],
"showOnOverlay": false,
"showOnOverview": false,
"showOnOverviewOnly": false,
"clickThrough": false,
"shortcutApp": "obsidian",
"followTheme": false,
"drawOutlines": false,
"syncPositionAcrossScreens": true
},
"positions": {
"DP-3": {
"width": 100,
"height": 100,
"x": 150,
"y": 200
},
"DP-4": {
"DP-2": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"HDMI-A-3": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"_synced": {
"x": 0.05859375,
"y": 0.18518518518518517,
"width": 100,
"height": 100
}
}
},
{
"id": "dw_1782022155947_1a4381zan",
"widgetType": "appShortcut",
"name": "Application Shortcut: Steam",
"enabled": true,
"config": {
"displayPreferences": [
"all"
],
"showOnOverlay": false,
"showOnOverview": false,
"showOnOverviewOnly": false,
"clickThrough": false,
"shortcutApp": "steam",
"followTheme": false,
"drawOutlines": false,
"syncPositionAcrossScreens": true
},
"positions": {
"DP-3": {
"width": 100,
"height": 100,
"x": 50,
"y": 900
},
"DP-4": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"HDMI-A-3": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"_synced": {
"x": 0.01953125,
"y": 0.8333333333333334,
"width": 100,
"height": 100
}
}
},
{
"id": "dw_1782022159047_a0w7xwkkz",
"widgetType": "appShortcut",
"name": "Application Shortcut: Vesktop",
"enabled": true,
"config": {
"displayPreferences": [
"all"
],
"showOnOverlay": false,
"showOnOverview": false,
"showOnOverviewOnly": false,
"clickThrough": false,
"shortcutApp": "vesktop",
"followTheme": false,
"drawOutlines": false,
"syncPositionAcrossScreens": true
},
"positions": {
"DP-3": {
"width": 100,
"height": 100,
"x": 50,
"y": 200
},
"DP-4": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"HDMI-A-3": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"_synced": {
"x": 0.01953125,
"y": 0.18518518518518517,
"width": 100,
"height": 100
}
}
},
{
"id": "dw_1782022160265_i4vr22k1v",
"widgetType": "appShortcut",
"name": "Application Shortcut: PrismLauncher",
"enabled": true,
"config": {
"displayPreferences": [
"all"
],
"showOnOverlay": false,
"showOnOverview": false,
"showOnOverviewOnly": false,
"clickThrough": false,
"shortcutApp": "org.prismlauncher.PrismLauncher",
"followTheme": false,
"drawOutlines": false,
"syncPositionAcrossScreens": true
},
"positions": {
"DP-3": {
"width": 100,
"height": 100,
"x": 250,
"y": 900
},
"DP-4": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"HDMI-A-3": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"_synced": {
"x": 0.09765625,
"y": 0.8333333333333334,
"width": 100,
"height": 100
}
}
},
{
"id": "dw_1782022161442_3vfjq50gk",
"widgetType": "appShortcut",
"name": "Application Shortcut: Pokeclicker",
"enabled": true,
"config": {
"displayPreferences": [
"all"
],
"showOnOverlay": false,
"showOnOverview": false,
"showOnOverviewOnly": false,
"clickThrough": false,
"shortcutApp": "pokeclicker-desktop-with-scripts",
"followTheme": false,
"drawOutlines": false,
"syncPositionAcrossScreens": true
},
"positions": {
"DP-3": {
"width": 100,
"height": 100,
"x": 150,
"y": 900
},
"DP-4": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"HDMI-A-3": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"_synced": {
"x": 0.05859375,
"y": 0.8333333333333334,
"width": 100,
"height": 100
}
}
},
{
"id": "dw_1782022229421_fuo32iz2s",
"widgetType": "appShortcut",
"name": "Application Shortcut: Edge",
"enabled": true,
"config": {
"displayPreferences": [
"all"
],
"showOnOverlay": false,
"showOnOverview": false,
"showOnOverviewOnly": false,
"clickThrough": false,
"shortcutApp": "microsoft-edge",
"followTheme": false,
"drawOutlines": false,
"syncPositionAcrossScreens": true
},
"positions": {
"DP-3": {
"width": 150,
"height": 150,
"x": 50,
"y": 50
},
"DP-4": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"HDMI-A-3": {
"width": 200,
"height": 200,
"x": 860,
"y": 440
},
"_synced": {
"x": 0.01953125,
"y": 0.046296296296296294,
"width": 150,
"height": 150
"x": 412,
"y": 284
}
}
},
@@ -1052,7 +912,7 @@
"id": "dw_1782022922490_aiumfxf49",
"widgetType": "cavaVisualizer",
"name": "Cava Visualizer",
"enabled": true,
"enabled": false,
"config": {
"displayPreferences": [
"all"
@@ -1087,8 +947,8 @@
"y": 440
},
"_synced": {
"x": 0.2734375,
"y": 0.5092592592592593,
"x": 0.27313639322916666,
"y": 0.5089156539351852,
"width": 1100,
"height": 500
}
@@ -1101,16 +961,19 @@
"enabled": true,
"config": {
"displayPreferences": [
"all"
{
"name": "DP-4",
"model": "ZOWIE XL LCD"
}
],
"syncPositionAcrossScreens": true,
"viewMode": "detailed",
"viewMode": "compact",
"colorMode": "primary",
"backgroundOpacity": 80,
"showPressure": true,
"forecastDays": 7,
"showHourlyForecast": true,
"hourlyCount": 6,
"showHourlyForecast": false,
"hourlyCount": 12,
"showLocation": false,
"showCondition": true,
"showFeelsLike": true
@@ -1135,17 +998,95 @@
"y": 440
},
"_synced": {
"x": 0.78125,
"y": 0.32407407407407407,
"width": 500,
"height": 650
"x": 0.859375,
"y": 0.046296296296296294,
"width": 250,
"height": 250
}
}
},
{
"id": "dw_1782021988600_vdg97np4g",
"widgetType": "systemMonitor",
"name": "System Monitor",
"enabled": true,
"config": {
"showHeader": true,
"transparency": 0.8,
"colorMode": "primary",
"customColor": "#ffffff",
"showCpu": true,
"showCpuGraph": true,
"showCpuTemp": true,
"showGpuTemp": false,
"gpuPciId": "",
"showMemory": true,
"showMemoryGraph": true,
"showNetwork": true,
"showNetworkGraph": true,
"showDisk": true,
"showTopProcesses": false,
"topProcessCount": 3,
"topProcessSortBy": "cpu",
"layoutMode": "auto",
"graphInterval": 300,
"displayPreferences": [
{
"name": "DP-2",
"model": "SUN-4K"
},
{
"name": "DP-4",
"model": "ZOWIE XL LCD"
}
]
},
"positions": {
"DP-3": {
"width": 800,
"height": 350,
"x": 1650,
"y": 650
},
"DP-4": {
"width": 800,
"height": 350,
"x": 1100,
"y": 650
},
"HDMI-A-3": {
"width": 700,
"height": 350,
"x": 1200,
"y": 650
},
"DP-2": {
"width": 320,
"height": 480,
"x": 352,
"y": 144
}
}
}
],
"desktopWidgetGroups": [],
"builtInPluginSettings": {},
"builtInPluginSettings": {
"dms_settings_search": {
"trigger": "?"
},
"dms_clipboard_search": {
"trigger": "cb"
}
},
"clipboardClickToPaste": false,
"clipboardEnterToPaste": false,
"clipboardRememberTypeFilter": false,
"clipboardTypeFilter": "all",
"clipboardVisibleEntryActions": [
"pin",
"edit",
"delete"
],
"launcherPluginVisibility": {
"obsidianSearch": {
"allowWithoutTrigger": false
@@ -1155,5 +1096,24 @@
}
},
"launcherPluginOrder": [],
"configVersion": 5
"frameEnabled": false,
"frameThickness": 100,
"frameRounding": 100,
"frameColor": "surface",
"frameOpacity": 0.69,
"frameScreenPreferences": [
"all"
],
"frameBarSize": 100,
"frameShowOnOverview": false,
"frameBlurEnabled": true,
"frameCloseGaps": false,
"frameLauncherEmergeSide": "bottom",
"frameLauncherArcExtender": true,
"frameLauncherEdgeHover": true,
"frameMode": "connected",
"barInsetPaddingShared": -1,
"barInsetPaddingSyncAll": false,
"frameBarInsetPadding": 26,
"configVersion": 12
}
+1 -5
View File
@@ -17,10 +17,6 @@
userCli.enable = true;
};
chiasson.users.extraModules.olivier =
self.lib.wisdomCatalogExtraModules self
++ [
self.homeManagerModules.desktopHomeDefaults
];
chiasson.users.extraModules.olivier = self.lib.wisdomCatalogExtraModules self;
};
}
-77
View File
@@ -1,77 +0,0 @@
# Shared HM defaults for desktop hosts (git identity, wisdom catalog toggles).
{ ... }: {
flake.homeManagerModules.desktopHomeDefaults =
{ lib, pkgs, ... }:
let
aarch64 = pkgs.stdenv.hostPlatform.isAarch64;
in
{
programs.git = {
enable = lib.mkDefault true;
settings.user = {
name = "OlivierChiasson";
email = "olivierchiasson@hotmail.fr";
};
};
#TODO[epic=Moderate] Check if git-crypt should belong in desktop-home-base.
home.packages = [ pkgs.git-crypt pkgs.feishin ];
chiasson.home = {
shell = {
fish.enable = lib.mkDefault true;
ohMyPosh.enable = lib.mkDefault true;
yazi.enable = lib.mkDefault true;
};
terminals.kitty.enable = lib.mkDefault true;
filebrowsers.nemo.enable = lib.mkDefault true;
browsers = {
chrome.enable = lib.mkDefault false;
chromiumHevc = {
enable = lib.mkDefault true;
packages = lib.mkDefault (
if aarch64 then
[ "chromium" ]
else
[ "google-chrome" ]
);
} // lib.optionalAttrs (!aarch64) {
vaapi.gpu = lib.mkDefault "intel";
};
edge.enable = lib.mkDefault false;
flow.enable = lib.mkDefault false;
orion.enable = lib.mkDefault false;
zen.enable = lib.mkDefault false;
};
editors = {
cursor.enable = lib.mkDefault true;
kate.enable = lib.mkDefault false;
obsidian.enable = lib.mkDefault true;
};
apps = {
discord.enable = lib.mkDefault false;
localsend.enable = lib.mkDefault true;
pokeclicker.enable = lib.mkDefault false;
spotify = {
enable = lib.mkDefault false;
openDiscoveryFirewall = lib.mkDefault false;
};
};
desktop = {
screenshot = {
enable = lib.mkDefault true;
swiftshareApiKeyFile = "/run/secrets/swiftshare/API_KEY"; #TODO[epic=sops] redo this by passing sops file output directly
};
theming.enable = lib.mkDefault true;
};
hardware.uconsoleGamepad.enable = lib.mkDefault false;
};
};
}
+3 -1
View File
@@ -12,7 +12,9 @@
options.chiasson.home.apps.discord.enable = lib.mkEnableOption ''
Vesktop (nixcord). Needs nixpkgs `discord` breaks on e.g. aarch64-linux.
'';
'' // {
default = false;
};
config = lib.mkIf root.enable (lib.mkMerge [
{
+3 -1
View File
@@ -29,7 +29,9 @@
options.chiasson.home.apps.localsend = {
enable = lib.mkEnableOption ''
LocalSend client; open the firewall on NixOS with `system.localsend` if you want inbound.
'';
'' // {
default = true;
};
package = lib.mkPackageOption pkgs "localsend" { };
};
+3 -1
View File
@@ -7,7 +7,9 @@
pokeclickerPkg = pkgs.callPackage ./package { };
in
{
options.chiasson.home.apps.pokeclicker.enable = lib.mkEnableOption "PokéClicker desktop (Farigh fork .deb nix).";
options.chiasson.home.apps.pokeclicker.enable = lib.mkEnableOption "PokéClicker desktop (Farigh fork .deb nix)." // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = [ pokeclickerPkg ];
+3 -1
View File
@@ -8,7 +8,9 @@
{
options.chiasson.home.browsers.chrome.enable = lib.mkEnableOption ''
Chrome (unfree, needs `allowUnfree`); skipped if nixpkgs has no build for this platform.
'';
'' // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = lib.optional (
+4 -2
View File
@@ -155,13 +155,15 @@
`failed Initialize()ing the frame pool` in Jellyfin.
Requires `chiasson.system.chromiumHevc.enable` on NixOS.
'';
'' // {
default = true;
};
packages = lib.mkOption {
type = lib.types.listOf (
lib.types.enum (lib.attrNames browserCatalog)
);
default = [ "google-chrome" ];
default = if pkgs.stdenv.hostPlatform.isAarch64 then [ "chromium" ] else [ "google-chrome" ];
description = "Chromium-based browsers to wrap.";
};
+3 -1
View File
@@ -6,7 +6,9 @@
cfg = config.chiasson.home.browsers.edge;
in
{
options.chiasson.home.browsers.edge.enable = lib.mkEnableOption "Edge (unfree); skipped if unavailable on this platform.";
options.chiasson.home.browsers.edge.enable = lib.mkEnableOption "Edge (unfree); skipped if unavailable on this platform." // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = lib.optional (
+3 -1
View File
@@ -56,7 +56,9 @@
{
options.chiasson.home.browsers.flow.enable = lib.mkEnableOption ''
[Flow](https://github.com/MultiboxLabs/flow-browser) upstream AppImage wrapped for NixOS.
'';
'' // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = lib.optional (
+3 -1
View File
@@ -31,7 +31,9 @@
{
options.chiasson.home.browsers.orion.enable = lib.mkEnableOption ''
[Orion](https://orionbrowser.com/) (Kagi) installs the upstream Flatpak bundle and provides `oriongtk`.
'';
'' // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = [ oriongtk ];
+3 -1
View File
@@ -8,7 +8,9 @@
{
imports = [ inputs.zen-browser.homeModules.beta ];
options.chiasson.home.browsers.zen.enable = lib.mkEnableOption "Zen Browser + locked-down policies / extensions.";
options.chiasson.home.browsers.zen.enable = lib.mkEnableOption "Zen Browser + locked-down policies / extensions." // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) {
programs.zen-browser = {
+16 -2
View File
@@ -3,7 +3,7 @@
# Root module: chiasson.home.enable + bash. Other `wisdom*` slices auto-wire via
# `lib.wisdomCatalogExtraModules`; hosts flip `chiasson.home.*.enable` rather than re-importing.
flake.homeManagerModules.wisdom =
{ config, lib, ... }:
{ config, lib, pkgs, ... }:
let
cfg = config.chiasson.home;
in
@@ -29,6 +29,20 @@
};
};
config = lib.mkIf cfg.enable { home.packages = cfg.extraPackages; };
config = lib.mkIf cfg.enable (lib.mkMerge [
{ home.packages = cfg.extraPackages; }
# Base git identity + encryption/player tools shared by every HM user.
{
programs.git = {
enable = true;
settings.user = {
name = "OlivierChiasson";
email = "olivierchiasson@hotmail.fr";
};
};
home.packages = [ pkgs.git-crypt pkgs.feishin ];
}
]);
};
}
+3 -1
View File
@@ -12,7 +12,9 @@
enable = lib.mkEnableOption ''
WhiteSur GTK + icon themes, Phinger cursor, and Qt via qt6ct (DMS) or KDE platform theme.
Matugen accent colors load via gtk3/gtk4 extraCss when matugenGtkColors is enabled.
'';
'' // {
default = true;
};
matugenGtkColors = lib.mkOption {
type = lib.types.bool;
+4 -2
View File
@@ -13,11 +13,13 @@
{
options.chiasson.home.desktop.screenshot.enable = lib.mkEnableOption ''
grim/slurp/swappy + SwiftShare helpers; Hyprland binds if HM Hyprland is on.
'';
'' // {
default = true;
};
options.chiasson.home.desktop.screenshot.swiftshareApiKeyFile = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
default = "/run/secrets/swiftshare/API_KEY";
description = ''
File with SwiftShare API key (sops path is fine). Required when screenshot module is on.
'';
+3 -1
View File
@@ -33,7 +33,9 @@
in
{
options.chiasson.home.editors.cursor = {
enable = lib.mkEnableOption "Cursor editor from the `cursor` flake input.";
enable = lib.mkEnableOption "Cursor editor from the `cursor` flake input." // {
default = true;
};
setAsDefaultEditor = lib.mkOption {
type = lib.types.bool;
default = true;
+3 -1
View File
@@ -6,7 +6,9 @@
cfg = config.chiasson.home.editors.kate;
in
{
options.chiasson.home.editors.kate.enable = lib.mkEnableOption "Kate.";
options.chiasson.home.editors.kate.enable = lib.mkEnableOption "Kate." // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = lib.optional (
+3 -1
View File
@@ -8,7 +8,9 @@
{
options.chiasson.home.editors.obsidian.enable = lib.mkEnableOption ''
Obsidian (unfree); skipped if unavailable here.
'';
'' // {
default = true;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = lib.optional (
+3 -1
View File
@@ -8,7 +8,9 @@
{
options.chiasson.home.filebrowsers.nemo.enable = lib.mkEnableOption ''
Nemo file manager (GTK). Colors come from DMS matugen via GTK settings no KDE/Qt bridge needed.
'';
'' // {
default = true;
};
config = lib.mkIf (root.enable && cfg.enable) {
home.packages = [pkgs.nemo];
+3 -1
View File
@@ -8,7 +8,9 @@
{
options.chiasson.home.hardware.uconsoleGamepad.enable = lib.mkEnableOption ''
uConsole gamepad antimicrox profile + Hyprland exec-once when HM Hyprland is on.
'';
'' // {
default = false;
};
config = lib.mkIf (root.enable && cfg.enable) (lib.mkMerge [
{
+3 -1
View File
@@ -8,7 +8,9 @@
in
{
options.chiasson.home.shell.fish = {
enable = lib.mkEnableOption "Fish + grc, quiet greeting, rbw SSH socket defaults.";
enable = lib.mkEnableOption "Fish + grc, quiet greeting, rbw SSH socket defaults." // {
default = true;
};
nixYourShell = {
enable = lib.mkEnableOption ''
+3 -1
View File
@@ -7,7 +7,9 @@
in
{
options.chiasson.home.shell.ohMyPosh = {
enable = lib.mkEnableOption "[Oh My Posh](https://ohmyposh.dev/) prompt.";
enable = lib.mkEnableOption "[Oh My Posh](https://ohmyposh.dev/) prompt." // {
default = true;
};
builtinTheme = lib.mkOption {
type = lib.types.str;
+3 -1
View File
@@ -7,7 +7,9 @@
cfg = config.chiasson.home.shell.yazi;
in
{
options.chiasson.home.shell.yazi.enable = lib.mkEnableOption "Yazi as `y` + 7zz with rar.";
options.chiasson.home.shell.yazi.enable = lib.mkEnableOption "Yazi as `y` + 7zz with rar." // {
default = true;
};
config = lib.mkIf (root.enable && cfg.enable) {
programs.yazi = {
+3 -1
View File
@@ -15,7 +15,9 @@
{
options.chiasson.home.terminals.kitty.enable = lib.mkEnableOption ''
Kitty + DMS includes; activation strips `*-theme.auto.conf` so matugen colors stick.
'';
'' // {
default = true;
};
config = lib.mkIf (root.enable && cfg.enable) {
programs.kitty = {