feat: added dms plugin installation

This commit is contained in:
2026-08-03 16:58:06 +02:00
parent 3e7ad05605
commit 797d2d1ba0
5 changed files with 82 additions and 200 deletions
-138
View File
@@ -1,138 +0,0 @@
@media -moz-pref("userChrome.theme-material") {
:root {
--md-sys-color-primary: #3a693b;
--md-sys-color-surface-tint: #3a693b;
--md-sys-color-on-primary: #ffffff;
--md-sys-color-primary-container: #bbf0b6;
--md-sys-color-on-primary-container: #002105;
--md-sys-color-secondary: #52634f;
--md-sys-color-on-secondary: #ffffff;
--md-sys-color-secondary-container: #d5e8cf;
--md-sys-color-on-secondary-container: #101f10;
--md-sys-color-tertiary: #39656b;
--md-sys-color-on-tertiary: #ffffff;
--md-sys-color-tertiary-container: #bcebf1;
--md-sys-color-on-tertiary-container: #001f23;
--md-sys-color-error: #ba1a1a;
--md-sys-color-on-error: #ffffff;
--md-sys-color-error-container: #ffdad6;
--md-sys-color-on-error-container: #410002;
--md-sys-color-background: #f7fbf1;
--md-sys-color-on-background: #181d17;
--md-sys-color-surface: #f7fbf1;
--md-sys-color-on-surface: #181d17;
--md-sys-color-surface-variant: #dee5d9;
--md-sys-color-on-surface-variant: #424940;
--md-sys-color-outline: #72796f;
--md-sys-color-outline-variant: #c2c9bd;
--md-sys-color-shadow: #000000;
--md-sys-color-scrim: #000000;
--md-sys-color-inverse-surface: #2d322c;
--md-sys-color-inverse-on-surface: #eef2e9;
--md-sys-color-inverse-primary: #9fd49b;
--md-sys-color-primary-fixed: #bbf0b6;
--md-sys-color-on-primary-fixed: #002105;
--md-sys-color-primary-fixed-dim: #9fd49b;
--md-sys-color-on-primary-fixed-variant: #225025;
--md-sys-color-secondary-fixed: #d5e8cf;
--md-sys-color-on-secondary-fixed: #101f10;
--md-sys-color-secondary-fixed-dim: #b9ccb4;
--md-sys-color-on-secondary-fixed-variant: #3b4b39;
--md-sys-color-tertiary-fixed: #bcebf1;
--md-sys-color-on-tertiary-fixed: #001f23;
--md-sys-color-tertiary-fixed-dim: #a1ced5;
--md-sys-color-on-tertiary-fixed-variant: #1f4d53;
--md-sys-color-surface-dim: #d7dbd2;
--md-sys-color-surface-bright: #f7fbf1;
--md-sys-color-surface-container-lowest: #ffffff;
--md-sys-color-surface-container-low: #f1f5ec;
--md-sys-color-surface-container: #f7fbf1;
--md-sys-color-surface-container-high: #f7fbf1;
--md-sys-color-surface-container-highest: #f7fbf1;
--m3-radius: 12px;
--m3-radius-sm: 10px;
--m3-elev-0: none;
--m3-elev-1: 0 1px 2px color-mix(in srgb, var(--md-sys-color-shadow) 8%, transparent), 0 1px 3px color-mix(in srgb, var(--md-sys-color-shadow) 6%, transparent);
--m3-elev-2: 0 2px 6px color-mix(in srgb, var(--md-sys-color-shadow) 10%, transparent), 0 1px 3px color-mix(in srgb, var(--md-sys-color-shadow) 6%, transparent);
--m3-elev-3: 0 11px 7px color-mix(in srgb, var(--md-sys-color-shadow) 19%, transparent), 0 13px 25px color-mix(in srgb, var(--md-sys-color-shadow) 30%, transparent);
--m3-elev-4: 0 14px 12px color-mix(in srgb, var(--md-sys-color-shadow) 17%, transparent), 0 20px 40px color-mix(in srgb, var(--md-sys-color-shadow) 30%, transparent);
--m3-elev-5: 0 17px 17px color-mix(in srgb, var(--md-sys-color-shadow) 15%, transparent), 0 27px 55px color-mix(in srgb, var(--md-sys-color-shadow) 30%, transparent);
--tab-height: 34px;
--urlbar-height: 38px;
--state-hover: color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent);
--state-press: color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent);
--focus-ring: 0 0 0 2px color-mix(in srgb, var(--md-sys-color-primary) 70%, transparent);
}
}
@media (prefers-color-scheme: dark) {
:root {
--md-sys-color-primary: #9fd49b;
--md-sys-color-surface-tint: #9fd49b;
--md-sys-color-on-primary: #073910;
--md-sys-color-primary-container: #225025;
--md-sys-color-on-primary-container: #bbf0b6;
--md-sys-color-secondary: #b9ccb4;
--md-sys-color-on-secondary: #253424;
--md-sys-color-secondary-container: #3b4b39;
--md-sys-color-on-secondary-container: #d5e8cf;
--md-sys-color-tertiary: #a1ced5;
--md-sys-color-on-tertiary: #00363c;
--md-sys-color-tertiary-container: #1f4d53;
--md-sys-color-on-tertiary-container: #bcebf1;
--md-sys-color-error: #ffb4ab;
--md-sys-color-on-error: #690005;
--md-sys-color-error-container: #93000a;
--md-sys-color-on-error-container: #ffdad6;
--md-sys-color-background: #10140f;
--md-sys-color-on-background: #e0e4db;
--md-sys-color-surface: #10140f;
--md-sys-color-on-surface: #e0e4db;
--md-sys-color-surface-variant: #424940;
--md-sys-color-on-surface-variant: #c2c9bd;
--md-sys-color-outline: #8c9388;
--md-sys-color-outline-variant: #424940;
--md-sys-color-shadow: #000000;
--md-sys-color-scrim: #000000;
--md-sys-color-inverse-surface: #e0e4db;
--md-sys-color-inverse-on-surface: #2d322c;
--md-sys-color-inverse-primary: #3a693b;
--md-sys-color-primary-fixed: #bbf0b6;
--md-sys-color-on-primary-fixed: #002105;
--md-sys-color-primary-fixed-dim: #9fd49b;
--md-sys-color-on-primary-fixed-variant: #225025;
--md-sys-color-secondary-fixed: #d5e8cf;
--md-sys-color-on-secondary-fixed: #101f10;
--md-sys-color-secondary-fixed-dim: #b9ccb4;
--md-sys-color-on-secondary-fixed-variant: #3b4b39;
--md-sys-color-tertiary-fixed: #bcebf1;
--md-sys-color-on-tertiary-fixed: #001f23;
--md-sys-color-tertiary-fixed-dim: #a1ced5;
--md-sys-color-on-tertiary-fixed-variant: #1f4d53;
--md-sys-color-surface-dim: #10140f;
--md-sys-color-surface-bright: #363a34;
--md-sys-color-surface-container-lowest: #0b0f0a;
--md-sys-color-surface-container-low: #181d17;
--md-sys-color-surface-container: #1c211b;
--md-sys-color-surface-container-high: #272b25;
--md-sys-color-surface-container-highest: #323630;
--m3-elev-1: 0 1px 2px color-mix(in srgb, var(--md-sys-color-shadow) 50%, transparent), 0 1px 3px color-mix(in srgb, var(--md-sys-color-shadow) 35%, transparent);
--m3-elev-2: 0 4px 10px color-mix(in srgb, var(--md-sys-color-shadow) 55%, transparent), 0 1px 3px color-mix(in srgb, var(--md-sys-color-shadow) 35%, transparent);
--m3-elev-3: 0 11px 7px color-mix(in srgb, var(--md-sys-color-shadow) 45%, transparent), 0 13px 25px color-mix(in srgb, var(--md-sys-color-shadow) 55%, transparent);
--m3-elev-4: 0 14px 12px color-mix(in srgb, var(--md-sys-color-shadow) 42%, transparent), 0 20px 40px color-mix(in srgb, var(--md-sys-color-shadow) 55%, transparent);
--m3-elev-5: 0 17px 17px color-mix(in srgb, var(--md-sys-color-shadow) 40%, transparent), 0 27px 55px color-mix(in srgb, var(--md-sys-color-shadow) 55%, transparent);
--state-hover: color-mix(in srgb, var(--md-sys-color-on-surface) 6%, transparent);
--state-press: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);
}
}
/* idk if this even works, but the suggestion in the material updated readme bricks symbols no matter how many fallbacks I add */
:root {
font-family: system-ui, "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}
+21 -19
View File
@@ -10,7 +10,7 @@
}
}
},
"matugenScheme": "scheme-tonal-spot",
"matugenScheme": "scheme-vibrant",
"matugenContrast": 0,
"runUserMatugenTemplates": true,
"matugenTargetMonitor": "",
@@ -53,8 +53,8 @@
"modalAnimationSpeed": 1,
"modalCustomAnimationDuration": 150,
"enableRippleEffects": true,
"animationVariant": 0,
"motionEffect": 0,
"animationVariant": 1,
"motionEffect": 1,
"m3ElevationEnabled": true,
"m3ElevationIntensity": 12,
"m3ElevationOpacity": 30,
@@ -262,7 +262,7 @@
"appIdSubstitutions": [],
"centeringMode": "geometric",
"clockDateFormat": "d.MM.yyyy",
"lockDateFormat": "",
"lockDateFormat": "ddd d MMM yyyy",
"greeterRememberLastSession": true,
"greeterRememberLastUser": true,
"greeterAutoLogin": false,
@@ -273,19 +273,17 @@
"greeterFontFamily": "",
"greeterWallpaperFillMode": "",
"greeterPamExternallyManaged": false,
"greeterSyncPending": true,
"greeterSyncBaseline": {
"clockFormat": "auto"
},
"greeterSyncPending": false,
"greeterSyncBaseline": {},
"mediaSize": 1,
"appLauncherViewMode": "list",
"spotlightModalViewMode": "list",
"browserPickerViewMode": "grid",
"browserUsageHistory": {
"brave-browser": {
"firefox": {
"count": 1,
"lastUsed": 1785341210583,
"name": "Brave"
"lastUsed": 1785456198620,
"name": "Firefox"
}
},
"appPickerViewMode": "grid",
@@ -348,10 +346,10 @@
}
],
"networkPreference": "wifi",
"iconThemeDark": "Papirus-Dark",
"iconThemeDark": "System Default",
"iconThemeLight": "System Default",
"iconThemePerMode": false,
"lastAppliedIconTheme": "Papirus-Dark",
"lastAppliedIconTheme": "",
"cursorSettings": {
"theme": "breeze_cursors",
"size": 24,
@@ -445,7 +443,7 @@
"matugenTemplateMangowc": false,
"matugenTemplateQt5ct": true,
"matugenTemplateQt6ct": true,
"matugenTemplateFirefox": true,
"matugenTemplateFirefox": false,
"matugenTemplatePywalfox": true,
"matugenTemplateZenBrowser": false,
"matugenTemplateVesktop": true,
@@ -646,10 +644,6 @@
},
"music",
"clock",
{
"id": "timer",
"enabled": true
},
"weather",
{
"id": "colorPicker",
@@ -676,6 +670,10 @@
"id": "systemUpdate",
"enabled": true
},
{
"id": "timer",
"enabled": true
},
{
"id": "capsLockIndicator",
"enabled": true
@@ -888,7 +886,11 @@
"edit",
"delete"
],
"launcherPluginVisibility": {},
"launcherPluginVisibility": {
"emojiLauncher": {
"allowWithoutTrigger": true
}
},
"launcherPluginOrder": [],
"frameEnabled": false,
"frameThickness": 16,
+37 -38
View File
@@ -1,40 +1,39 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IExaejBRT2dC
a0JtSTVCZjN2QzR6cHFPMnNiZHNOWjlNNHY1ZDFOZHFZWW1xNWx4ZXBwODZ4R2Zw
dmE0VUNrU2lKUm5wQlJFM3VlMmVPYXIvR3pyNHJIakN4L29GQTNSRWlQR0tqNWtm
T3dmYjR1c2diWGJvV2RKWnlLay9idnRZNXZKTExKemFyQ2NCUDNmbXhPbHlxNEVX
a29GSlhSUDdSVUhkT0ZDMnpoVVpiTW51Qnk5NTFnZDRacnhVSUM4NFl4ZXphQkdX
S2orNFZsZ3hkaXlrS0Ric2tyb1Q2dkRtWFVaY01KOWFrRXY5MW13YjY5MWQ0S3JN
Rnk4eVp4RnhPVmYwaldLMlA2U1FEOTFndnBIckhwR2c2ekIramY2UUxHM3kydGE5
aWgyTXRZck1yV1dHV25ZTHNQbFc5Nmo1TXo1TEMxR2VEWHhYcHN2RXhwbXRnVklH
cGZmRy9UK3FiWm5kS24rZXJhajdVRHJnWC9LWk9nUytJOEVJem9nb1p6V0tCWFkw
RGJZbXB0aTlEQ3Z4MXNRekdVYktGQTZVYWRDL3E5ZEkxZXhHRjhKTG4xWGVyeVBP
MWVSQUlLZythWEJyekR2VHljWHUyN3FjOGI4VzVrWmdTR3RzRE5jT2lWclBlVVAy
UEhvelZsSitkRzIwMkpsUzhPTVRoNVZYL1gxQkJ6K1JzMkZHbytYbndUUEdvSDkv
RzRVbDQrUGNVRzBvZy9yckVoR2ZuRjE1M1NSYnFoYXc2NjZaYlhDclZ6QTJ6b1Bu
TDRTMVdlZnE4cUtBUjB5SUR5WkxmY0ZiTnRRRVF2d1BhQkE1ZU4rZXVkQUZGZUQ1
TGx2TURrWnBlZFA4SkxUelZCSWtHcmQvRzZBU216Mzl2cDdNa1JDVTBWcXlCMnFJ
T25mT05mdjlLSDJWUCthcnJPdmhYdXBPNGNaQjdvMlFadEVZVmpGZ1kxZkMvdDhm
eUdEV3diTGYzM293WkQwY3JWeUcvenZqQjNGbXNZSmpqZm91TG9vVVlMbE0rMlZh
bWtac25uK2E3S01hbDg5bk55bEx4N0hOL0RnYklJVWxSTzVFRFBLSDdrWWtxR2s0
NTBJT2wydm10eFJYS1JaaEYzemFZZXBqOC9qT0RrVzJpdTZNaEpINjBlWkh0TmtJ
WkIxN0xNTitEeWU1NHJEdGt6SDFFN2FYVjAzQUZ4SGpFQm54VWtJcDRHNEtqR1dt
eTRobFd0WlpQNWlCc1AycTVQNlIvSUNabGFWdnpKSkhza1l5OW44U2U5S25xUEla
SGMvczdTMC9qVG16R2U1c1RUU0NGejB0eXlBYkdzbDdtNThMR0dMQWRzYk5td2xj
Y1hWQXkvd0dNT21RNlg0TmUvZVNoMC9hS3ZoS3FtdFJMUDVEMkRRaHdPVXBwWW5Q
eWx5ckNJRklhR1pjTmdYWFF6Z3dYc3ZUSlBXWENXZWM1YjhQMGFUVlViOUNwZXFk
YnptOFlVSWdESE1ld2N0NTFHbTY1MW5KQ1hWZ1hGcGxiMDlnckExZm9LUklBY0R1
UmR0MFNkQm15NnRQV0hRVGNBeUhpRGtjdTFNUzh3YU10OWRvbDVEcTlBL2wrS25a
RVNick9kcmJTOTQ5WlhuNVovMGVSME9HdU0vQytyUGtoVnhjT3B5WDN3YktiZFlp
aUM5dkoyT25tTkdjdHQ1N0NwdTJYaE1aSlpGZEVncDRYY21LOXc0R2dndldZNUdo
MEVZMncvVGV3TkNuclkzOFYrYzhyWFlYNFNVbnJQdk4vQ1BqVXl3WXpQWCtNclVQ
amxOTVpZQzZOdnEyc1h2TVh5bWdIQlk2cVRramVJQktvWmEvNml5SUlmamJUSnFV
YkZia2NtOXJQdXltWXR6b3lHeDF5bGJZelpaYlhCRWpWVkRQMkNTN0U4Y3I4VXV1
NFh5R2wwbDNkT2ZacGh5RW45eDFiMDRNOFZVQk9ETFFWKzlWOSthcVdxcTJBZwp2
amtlcHNzbGRKNUZ4bHBOeUtsWS9ESW5KR1FMMjRXM1MwUUJEcUltRnlVCi0tLSBn
ZnJ2SkFvdlZWdWttZlZBYlYzeGFFZkhmT1cwOFhmQTVCOVdWUndjcGFnCldhj02O
Sj231P7vTQfK/ELD3qTj22urAirjLQ2gr9JjK6zyil89OAxFDKaZc3aHOcEIXnkf
oKOLYWrYkQrVIOV0UH73RcL/75clxKZSxPQGE2JvWucoWdKrEG1w9SIUmhPcpeaa
5YiUhVwXgyUwgvj1rFG9tfljU+SdasExhnCHNMQsxntya+4QtVuSMW0CeLu3DWP7
ZpMbWfTKMF08Ow==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IGNZRXdIZ24r
ZCswV01GQS95dzVIQUJRSVllVldpUEFWTkZibjVET203emU3b1I0bUdkeTNnYVdO
bDVhQmxrMWF6cktMdFd4T2Y5OHRhb2RMMk5PWUJiaWZaRlRPdUNYTmk5QTh0K1BR
d2UzcUd5Lzg3N1Jjeng2bHVreXl2YVZBWXBNTm5Xc1NtTU9vdDRUTkZXUWNEeGdX
MENGUkVzNFIvdE1oSndUOE1mSWFYSHZub3YvY1RKVTdRVEFKYUtiOHhNTHZWRitU
NXY1cTBhNFl6Z3FLUDU1c0pVSVdpa0pHV216cStHT1ErSTU4RzZRVHkzVWE2U1Mx
YXZNUjJmWEtVS2R1STRIVXM0dFRxK2FSenIrTGZXTDZKU0FIMlF6eElseE9vMlBk
RkM4RHMrdFZLVWNScElpamRMYytXL0NpQlhoWTlIUXZMb3Q4dVRRWkhtRmRzcU8y
NHc2RmZJVE1mUGp4SHNoL2xNWWtLY0UxaVh5cjk2d2Y4RzE2TFZMNjlaL1NFM1g4
dVowK2dRd3BJK1dVdnNHV1FlbGRtckJlcWI0SUM0MHFpN3JZK1RnSUlxZ1RFMk0z
ZFQ3N05CVEtLTGszcTFuNk5IQTRIZmhnY2FzZkFYR2VDNktwNFA0THhxWkpUbVVL
Sm1Ka21GTEYzd1RSMnUvc0F2eWhQbEZmK25VTHRtdW5tNlB2SWJseVpXUlhZckYr
U3A5aTVrZERKQjZrQWJXT2l1QkFSYmF6MExZNnRmZzdOekxjTU9qZW1pT3BHN0N1
RFBHMUlXQXpsbFkzVFhOUDhTKzdYUlZTbWFjZ2RqS2NLNEhxRDF2UXU4RnAwUW84
TDNxdnV4UU9LREQ5R0dsbjRrRlRhVjM1VXNmWkFlRmk0SzRmSjNPRnpMK3Q4VTgv
YkRJemNYNGlrVkdYdmpHSTJzblM5SHErSW9IVGRoNU96TC96RjJRMkwwOG5TbTBv
ZnpSRU1DZWw1OTExWTNpYzQ1MHo5UXZqSjNPSGY4R0RyQldSTVA1MWdhQ1Fmc2Jz
QjdjK1YxdjdOWldQY25oRmZzU0I1YWNMdGVNbCs5OUlWUmNRL2JYc2hicVMyWnU3
Z3N6VFRGejNKMzRSUzNoSVlsZVFPNzFLOXpNMWc0RW5YWXdiMDREd2ZQbVdzbm5q
MW9uQUMzK3BMbVpTYVpkbjBmVC9KQk1RVGdhVVZ6WmtpMmN4ZWxlckNPTzNQWWxN
cTJhdlBBdjRISitXeVBYOHVTU0x2VVY5WGQ1MUlYditvVFhkK0tMdVdYdFBmWTFy
UHNXT1h1NGFGVlUwS3RtR0hkT0k4c1l3aHlaa1VGaGZaai9iZE1ZQTNIQnpTY1N6
b2djTDNMV2gvNDVqSy9wcHVJbUU5MURMQjArYndzdFpmVTRwditxY014aXk5S1RT
aXB1QVJUVmtMTS91RHQ1c1VzQllJVWlrQ0Jrd1pkY204UCsvQ1ZydTlzYWxiTkVP
UlBaSUxFSGRGTmFJTUllOFZjMmQ2ZGtOdEkvcmZVaTl2M04raUlpYjhhalJRWHhs
UUZ0UG9hVmFFcEFkWGg5YlFPeWhETHl0aU80OFBKMHlEcUxjcStGdzh4Uy9BTFNt
MGROUjN5YlFwT1RmbXhTS0t0cDNleFEwMW9EN2QzNkYxaU1EdStnemRob1ovOXVu
V242enFTNHNrSThuWVF4NlZOUktDS2pnSFdDbXpzbWVFTXBSYzBLd1RBVDBESHdx
MnBjaFoyQlFUU3hsRUtRU3JKN1MyYUF0bWhmNVJWL3Y0N2pHWExtQnFudVNqSU5M
cVJxcEk4djVJYlFFc21qM0hIRDJwRjVXcHJxZm1SSWpvTkZOQWxjWkU2T2ZjWGRP
Z1dVMmpIYkE2aDhSb3NFYUNtR2NoTzcvSXRpS0R6SDRjaFZCeTA4Slk1aEdiMzRT
YnFHZ3VGd2diWDFpd2tJeENFeTdPNHFrN0htNUtSY0lIQnZMbUdKU1UrMHdLQQpK
NlYwZHA1TE1UVW1oMWE5SldqZlJKZnBqQzJ0VlAwempoc3RYRk80bnFFCi0tLSAy
NGxXeXhpVVRCdG5XSHhJSGhIL2NTQ2tpazhNc3BTWGVLK0ZWRW5MMWJJCh6NOfbc
7tamEsDzZ+lU5rtuIHCaeMCHGOyxq3Is2ZUyWo9ofbWbYOpDsmZIIeYyDSnjHd0H
j7ueHatEOJESJf0s7FOCsXZ3I3VRE+/ClfdZCQJM5Sz2xYNQI/6SNzQcnjpL89H1
539xEfDw2TKH4FHvj1LsWTX5l47yTMgEP/Mxqp0NW0/qfPmYEj1G7Q==
-----END AGE ENCRYPTED FILE-----
+4 -4
View File
@@ -14,17 +14,17 @@
"window_exit_to_tray": false,
"window_minimize_to_tray": false,
"window_start_minimized": false,
"window_window_bar_style": "linux",
"window_window_bar_style": "windows",
"__internal__": {
"migrations": {
"version": "1.15.1"
}
},
"window_has_frame": true,
"window_has_frame": false,
"release_channel": "latest",
"bounds": {
"x": 0,
"y": 0,
"x": 16,
"y": 10,
"width": 2560,
"height": 1440
},
+20 -1
View File
@@ -9,6 +9,14 @@ SYS="{{ .system | default "desktop" }}"
DISTRO_ID="{{ .chezmoi.osRelease.id | default "" }}"
SRC="{{ .chezmoi.sourceDir }}"
dmsPlugins=(
quickCapture
timer
calculator
dankKDEConnect
emojiLauncher
)
if [ "$SYS" = "server" ]; then
echo ">>> [desktop] system=server, skipping"
exit 0
@@ -39,8 +47,18 @@ case "$DISTRO_ID" in
hyprland greetd ghostty
# Dank Shell - sed workaround to pass args to installer
echo ">>> [desktop] installing shell"
sudo -v && curl -fsSL https://install.danklinux.com | sed 's#\./installer$#./installer "$@"#' | sh -s -- -c hyprland -t ghostty --include-deps dms-greeter,danksearch,dankcalendar -y
echo ">>> [desktop] installing shell-plugins"
for pl in "${dmsPlugins[@]}"; do
if dms plugins install "$pl"; then
echo "✓ $pl: installed"
else
echo "✗ $pl: failed"
fi
done
# Apply dconf defaults
DCONF_INI="$SRC/assets/dconf_gtk.ini"
if [ -f "$DCONF_INI" ]; then
@@ -49,7 +67,8 @@ case "$DISTRO_ID" in
|| warn "dconf load failed (DBus session may be unavailable)"
fi
# Firefox theming
# Theming
echo ">>> [desktop] applying themes"
pipx install pywalfox || warn "pipx install pywalfox failed"
~/.local/bin/pywalfox install || warn "pywalfox install failed (Firefox may not be configured)"
mkdir -p ~/.cache/wal