Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b66fa8665 | |||
| 4ca225ed60 |
Generated
+272
@@ -137,6 +137,262 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-ambient-sound": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1781888428,
|
||||
"narHash": "sha256-uHPPeEYc5ix9EIBBsEHlle7QdGDZqv7aG/A/22Y+CSQ=",
|
||||
"owner": "hthienloc",
|
||||
"repo": "dms-ambient-sound",
|
||||
"rev": "5ddf16c151450029d352eedb70d811439c1d51d2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hthienloc",
|
||||
"repo": "dms-ambient-sound",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-app-shortcut": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1766512388,
|
||||
"narHash": "sha256-Yu3zRWkkgr5mC8pzNiRlHcCCb2lDZzkWWRJsMCAJfS4=",
|
||||
"owner": "oabragh",
|
||||
"repo": "AppShortcut",
|
||||
"rev": "373400a84e40b0fb73d6c809ea33c425b529c35f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oabragh",
|
||||
"repo": "AppShortcut",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-calculator": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1778511624,
|
||||
"narHash": "sha256-hiqrO8WkzmWGVlUrzxmffUZBs4t1QM2mMTBUxZqCIyU=",
|
||||
"owner": "rochacbruno",
|
||||
"repo": "DankCalculator",
|
||||
"rev": "73073d051d08254633f28f89d2609344c8289813",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rochacbruno",
|
||||
"repo": "DankCalculator",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-cava-visualizer": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1779004442,
|
||||
"narHash": "sha256-nRXJL/3P0prVSPaiRa93775KvE7JkO6os5Xa/1rURyw=",
|
||||
"owner": "ernestowgg",
|
||||
"repo": "cava-visualizer",
|
||||
"rev": "2d08bef95bc7cd170ad5730a27791c9af6d80a52",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ernestowgg",
|
||||
"repo": "cava-visualizer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-dank-vault": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1780582645,
|
||||
"narHash": "sha256-pAlNNYYRJQSI368j+1M7Vrbt6EL18hMiYWZk2AjNiH4=",
|
||||
"owner": "alcxyz",
|
||||
"repo": "DankVault",
|
||||
"rev": "755a9fbe9f62a5e14b4dda63a5fce0c2b40af92c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "alcxyz",
|
||||
"repo": "DankVault",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-dropdown-menu": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1781838677,
|
||||
"narHash": "sha256-17xXOHrYZdDzjV0mwf3hUE0U03s1uLJuPEdvkqcwl7A=",
|
||||
"owner": "rdannenbring",
|
||||
"repo": "dropdown-menu",
|
||||
"rev": "165e88fdb15c79eff5bfa7dad4353f0fb923906f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rdannenbring",
|
||||
"repo": "dropdown-menu",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-emoji-launcher": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1776309741,
|
||||
"narHash": "sha256-NQ14YenDiNK2VqXQ3z7jAkatbSRtYJHhOhvv7AJlUD8=",
|
||||
"owner": "devnullvoid",
|
||||
"repo": "dms-emoji-launcher",
|
||||
"rev": "1c0a7d337a52b48f9499060076703a35e8dd4f4f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "devnullvoid",
|
||||
"repo": "dms-emoji-launcher",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-ephemera": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777606672,
|
||||
"narHash": "sha256-G6oanR4zHbNSV+A94mNcB4EHK+S2ieo4dY8bwUEkv2I=",
|
||||
"owner": "nicolasgarcia214",
|
||||
"repo": "Ephemera",
|
||||
"rev": "eaadf6d933a8449f36219935520a8e9f944b4aa0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nicolasgarcia214",
|
||||
"repo": "Ephemera",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-home-assistant": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1780998572,
|
||||
"narHash": "sha256-YScGw1b4OHX3s7f+JUCoCuK+BcWGDLgpYxgSI+N3EPI=",
|
||||
"owner": "xxyangyoulin",
|
||||
"repo": "dms-plugin-hass",
|
||||
"rev": "0d3cd45f6a094582db5f9209b3dc1f72c1cfb067",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "xxyangyoulin",
|
||||
"repo": "dms-plugin-hass",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-nix-package-runner": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1779345470,
|
||||
"narHash": "sha256-ur+1oN+QmTu7p5ZMpL3rCd4JGYbkerko4twa+tH6uvg=",
|
||||
"owner": "iahccc",
|
||||
"repo": "NixPackageRunner",
|
||||
"rev": "829ad93c15b7c0ec82a6d7483728029037442601",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "iahccc",
|
||||
"repo": "NixPackageRunner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-ocr-scanner": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1781670158,
|
||||
"narHash": "sha256-n0oe+K1zUqCfEMyvtz+CYiZ+lBQv/Piqb19J/Cwqua4=",
|
||||
"owner": "hthienloc",
|
||||
"repo": "dms-ocr-scanner",
|
||||
"rev": "dd94a72c2fc11fcca10bd8edb59803734c2154f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hthienloc",
|
||||
"repo": "dms-ocr-scanner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-official": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1780332225,
|
||||
"narHash": "sha256-QkQPqP7Wmo5DLRyKNSY5NuOau4LSaSfz3DYdHDLxluA=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dms-plugins",
|
||||
"rev": "f4583449f12920e0a2f16808b00a860c27f0173d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dms-plugins",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-unified-taskbar": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1782010691,
|
||||
"narHash": "sha256-vvjDdX0F0R9zD20Ii/Tw6Gh0Or+JlwtPQMN8tMXCxUQ=",
|
||||
"owner": "jslandau",
|
||||
"repo": "dms-unified-taskbar",
|
||||
"rev": "0dd45d5c6b3f217594a2bd361527efae71b78378",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "jslandau",
|
||||
"repo": "dms-unified-taskbar",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-wallpaper-carousel": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1779087303,
|
||||
"narHash": "sha256-/0t6ykbirNgSB2gY1wpq8jbntnuUgME+kLDfwjLhfRg=",
|
||||
"owner": "motor-dev",
|
||||
"repo": "wallpaperCarousel",
|
||||
"rev": "bca1f457763d51c8001f8edcc89df3e619420163",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "motor-dev",
|
||||
"repo": "wallpaperCarousel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-web-search": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1773893074,
|
||||
"narHash": "sha256-c6mVBTlkJdfvMuMvPjXGeOEWBtb0mdmIcPNzgmMxGwE=",
|
||||
"owner": "devnullvoid",
|
||||
"repo": "dms-web-search",
|
||||
"rev": "52f9ec482dc86d9c5ff0110a5d57401112191a38",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "devnullvoid",
|
||||
"repo": "dms-web-search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-widget-group": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1781887621,
|
||||
"narHash": "sha256-3uMtYcR4/drkAbjAopxWaNCeGv1PpwovPhq4OnU866s=",
|
||||
"owner": "rdannenbring",
|
||||
"repo": "widget-group",
|
||||
"rev": "a82424ffdaddda90fcfe8d571d902c22fb894bb2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rdannenbring",
|
||||
"repo": "widget-group",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
@@ -819,6 +1075,22 @@
|
||||
"ddrm": "ddrm",
|
||||
"dgop": "dgop",
|
||||
"dms": "dms",
|
||||
"dms-plugin-ambient-sound": "dms-plugin-ambient-sound",
|
||||
"dms-plugin-app-shortcut": "dms-plugin-app-shortcut",
|
||||
"dms-plugin-calculator": "dms-plugin-calculator",
|
||||
"dms-plugin-cava-visualizer": "dms-plugin-cava-visualizer",
|
||||
"dms-plugin-dank-vault": "dms-plugin-dank-vault",
|
||||
"dms-plugin-dropdown-menu": "dms-plugin-dropdown-menu",
|
||||
"dms-plugin-emoji-launcher": "dms-plugin-emoji-launcher",
|
||||
"dms-plugin-ephemera": "dms-plugin-ephemera",
|
||||
"dms-plugin-home-assistant": "dms-plugin-home-assistant",
|
||||
"dms-plugin-nix-package-runner": "dms-plugin-nix-package-runner",
|
||||
"dms-plugin-ocr-scanner": "dms-plugin-ocr-scanner",
|
||||
"dms-plugin-official": "dms-plugin-official",
|
||||
"dms-plugin-unified-taskbar": "dms-plugin-unified-taskbar",
|
||||
"dms-plugin-wallpaper-carousel": "dms-plugin-wallpaper-carousel",
|
||||
"dms-plugin-web-search": "dms-plugin-web-search",
|
||||
"dms-plugin-widget-group": "dms-plugin-widget-group",
|
||||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager",
|
||||
"import-tree": "import-tree",
|
||||
|
||||
@@ -23,6 +23,86 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
dms-plugin-dank-vault = {
|
||||
url = "github:alcxyz/DankVault";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-calculator = {
|
||||
url = "github:rochacbruno/DankCalculator";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-home-assistant = {
|
||||
url = "github:xxyangyoulin/dms-plugin-hass";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-dropdown-menu = {
|
||||
url = "github:rdannenbring/dropdown-menu";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-ocr-scanner = {
|
||||
url = "github:hthienloc/dms-ocr-scanner";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-unified-taskbar = {
|
||||
url = "github:jslandau/dms-unified-taskbar";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-widget-group = {
|
||||
url = "github:rdannenbring/widget-group";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-nix-package-runner = {
|
||||
url = "github:iahccc/NixPackageRunner";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-ambient-sound = {
|
||||
url = "github:hthienloc/dms-ambient-sound";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-cava-visualizer = {
|
||||
url = "github:ernestowgg/cava-visualizer";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-emoji-launcher = {
|
||||
url = "github:devnullvoid/dms-emoji-launcher";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-official = {
|
||||
url = "github:AvengeMedia/dms-plugins";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-web-search = {
|
||||
url = "github:devnullvoid/dms-web-search";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-wallpaper-carousel = {
|
||||
url = "github:motor-dev/wallpaperCarousel";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-ephemera = {
|
||||
url = "github:nicolasgarcia214/Ephemera";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dms-plugin-app-shortcut = {
|
||||
url = "github:oabragh/AppShortcut";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
dgop = {
|
||||
url = "github:AvengeMedia/dgop";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# Repo helpers. Run `just` to list recipes.
|
||||
|
||||
default:
|
||||
@just --list
|
||||
|
||||
# Sync live DMS config into this host's seed dir. Pass --dry-run, --settings-only, or a host module name.
|
||||
sync-dms *args='':
|
||||
./modules/desktop/shells/dms/_private/sync-seed.sh {{args}}
|
||||
@@ -116,16 +116,6 @@ in
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
]) {
|
||||
devShells.default = pkgs.mkShell {
|
||||
packages = [ inputs.navi.packages.${system}.default ];
|
||||
shellHook = ''
|
||||
echo "Navi fleet deploy (from repo root):"
|
||||
echo " navi apply --on <host> # build + switch one host"
|
||||
echo " navi apply-local --node 14900k --sudo # switch this machine locally (needs root), --node if hostname differs"
|
||||
echo " navi tui # interactive fleet dashboard"
|
||||
'';
|
||||
};
|
||||
|
||||
apps = {
|
||||
navi = {
|
||||
type = "app";
|
||||
|
||||
@@ -65,6 +65,8 @@ let
|
||||
"Mod+M"."spawn-sh" = "dms ipc call processlist toggle"; #TODO[epic=Binds] This should only be set if having dms
|
||||
"Mod+B"."spawn-sh" = "dms ipc call bar toggle name \"Main Bar\"; dms ipc call bar toggle name \"Bar 2\""; #TODO[epic=Binds] This should only be set if having dms
|
||||
"Mod+Shift+B"."spawn-sh" = "dms ipc call bar toggle name \"Bar 2\""; #TODO[epic=Binds] This should only be set if having dms
|
||||
"Mod+A"."spawn-sh" = "dms ipc call ephemera toggle"; #TODO[epic=Binds] This should only be set if having dms
|
||||
"Mod+numbersign"."spawn-sh" = "dms ipc call wallpaperCarousel toggle"; # Mod+# — TODO[epic=Binds] This should only be set if having dms
|
||||
"Mod+L"."spawn-sh" = "dms ipc call lock lock"; #TODO[epic=Binds] This should only be set if having dms
|
||||
|
||||
"Mod+Q"."close-window" = _: { };
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Generic defaults written once to ~/.config/DankMaterialShell/settings.json on first login.
|
||||
# Hosts can override via `chiasson.desktop.shells.dms.defaultSettingsFile` (see 14900k).
|
||||
# Hosts can override via `chiasson.desktop.shells.dms.defaultSeedDir` (see 14900k).
|
||||
# After seeding, DMS settings are owned by the UI — rebuilds do not overwrite them.
|
||||
#
|
||||
# To refresh host seeds from live DMS config: `just sync-dms`
|
||||
{
|
||||
lib,
|
||||
gpuTempEnabled ? true,
|
||||
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
#!/usr/bin/env bash
|
||||
# Sync live DMS config into modules/hosts/<host>/_private/dms-defaults/ (see defaultSeedDir).
|
||||
set -euo pipefail
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: $(basename "$0") [options] [host]
|
||||
|
||||
Copy ~/.config/DankMaterialShell/{settings,plugin_settings}.json into the
|
||||
host seed directory (pretty-printed). Host defaults to this machine's hostname.
|
||||
|
||||
Options:
|
||||
--settings-only Skip plugin_settings.json
|
||||
-n, --dry-run Preview without writing
|
||||
-h, --help
|
||||
|
||||
Examples:
|
||||
just sync-dms
|
||||
$(basename "$0") --dry-run ideapad
|
||||
EOF
|
||||
}
|
||||
|
||||
find_repo_root() {
|
||||
local dir="${1:-$PWD}"
|
||||
while [[ "$dir" != "/" ]]; do
|
||||
if [[ -f "$dir/flake.nix" && -d "$dir/modules/hosts" ]]; then
|
||||
printf '%s\n' "$dir"
|
||||
return 0
|
||||
fi
|
||||
dir="$(dirname "$dir")"
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
resolve_host_module() {
|
||||
local hn="$1" repo_root="$2"
|
||||
local hosts_dir="${repo_root}/modules/hosts" dir name
|
||||
|
||||
if [[ -d "${hosts_dir}/${hn}/_private" ]]; then
|
||||
printf '%s' "$hn"
|
||||
return 0
|
||||
fi
|
||||
|
||||
for dir in "${hosts_dir}"/*/; do
|
||||
name="$(basename "$dir")"
|
||||
[[ -f "${dir}configuration.nix" ]] \
|
||||
&& grep -qF "hostName = \"${hn}\";" "${dir}configuration.nix" \
|
||||
&& { printf '%s' "$name"; return 0; }
|
||||
done
|
||||
|
||||
echo "error: no host module for hostname '${hn}' (pass module name explicitly)" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
sync_json() {
|
||||
local source="$1" dest="$2" label="$3"
|
||||
|
||||
[[ -f "$source" ]] || { echo "skip: $label not found" >&2; return 0; }
|
||||
|
||||
jq empty "$source"
|
||||
if [[ "$DRY_RUN" -eq 1 ]]; then
|
||||
echo " $source -> $dest"
|
||||
return 0
|
||||
fi
|
||||
|
||||
local tmp
|
||||
tmp="$(mktemp)"
|
||||
jq . "$source" >"$tmp"
|
||||
mv "$tmp" "$dest"
|
||||
echo "Updated $dest"
|
||||
UPDATED+=("$dest")
|
||||
}
|
||||
|
||||
DRY_RUN=0
|
||||
SETTINGS_ONLY=0
|
||||
HOST=""
|
||||
UPDATED=()
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-n | --dry-run) DRY_RUN=1; shift ;;
|
||||
--settings-only) SETTINGS_ONLY=1; shift ;;
|
||||
-h | --help) usage; exit 0 ;;
|
||||
-*) echo "error: unknown option: $1" >&2; usage >&2; exit 1 ;;
|
||||
*) HOST="$1"; shift ;;
|
||||
esac
|
||||
done
|
||||
|
||||
REPO_ROOT="${CHIASSON_NIX_ROOT:-$(find_repo_root "$PWD" || true)}"
|
||||
[[ -n "$REPO_ROOT" ]] || { echo "error: run from chiasson-nix repo root" >&2; exit 1; }
|
||||
command -v jq >/dev/null || { echo "error: jq required" >&2; exit 1; }
|
||||
|
||||
if [[ -z "$HOST" ]]; then
|
||||
SYSTEM_HOSTNAME="$(hostname -s 2>/dev/null || hostname)"
|
||||
HOST="$(resolve_host_module "$SYSTEM_HOSTNAME" "$REPO_ROOT")"
|
||||
[[ "$HOST" == "$SYSTEM_HOSTNAME" ]] \
|
||||
&& echo "Using host module: $HOST" \
|
||||
|| echo "Using host module: $HOST (hostname: $SYSTEM_HOSTNAME)"
|
||||
fi
|
||||
|
||||
HOST_PRIVATE="${REPO_ROOT}/modules/hosts/${HOST}/_private"
|
||||
SEED_DIR="${HOST_PRIVATE}/dms-defaults"
|
||||
DMS_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/DankMaterialShell"
|
||||
|
||||
[[ -d "$HOST_PRIVATE" ]] || { echo "error: missing $HOST_PRIVATE" >&2; exit 1; }
|
||||
[[ -f "${DMS_CONFIG}/settings.json" ]] || {
|
||||
echo "error: missing ${DMS_CONFIG}/settings.json" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
[[ "$DRY_RUN" -eq 1 ]] && echo "Would sync into $SEED_DIR:"
|
||||
[[ "$DRY_RUN" -eq 0 ]] && mkdir -p "$SEED_DIR"
|
||||
|
||||
sync_json "${DMS_CONFIG}/settings.json" "${SEED_DIR}/settings.json" settings.json
|
||||
[[ "$SETTINGS_ONLY" -eq 0 ]] \
|
||||
&& sync_json "${DMS_CONFIG}/plugin_settings.json" "${SEED_DIR}/plugin_settings.json" plugin_settings.json
|
||||
|
||||
[[ "$DRY_RUN" -eq 1 || ${#UPDATED[@]} -eq 0 ]] && exit 0
|
||||
git -C "$REPO_ROOT" diff --stat -- "${UPDATED[@]}" 2>/dev/null || true
|
||||
@@ -38,13 +38,22 @@
|
||||
example = [ "sudo" "nixos-rebuild" "switch" "--flake" ".#14900k" ];
|
||||
description = "Command used by DMS nix-monitor widget for rebuild actions.";
|
||||
};
|
||||
defaultSettingsFile = lib.mkOption {
|
||||
defaultSeedDir = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
example = ./dms-default-settings.json;
|
||||
example = ./dms-defaults;
|
||||
description = ''
|
||||
Host-specific first-run `settings.json` seed. When set, replaces the bundled
|
||||
`default-settings.nix` template on fresh profiles.
|
||||
Host-specific first-run DMS config seed directory. When set, copies
|
||||
`settings.json` (required) and `plugin_settings.json` (optional) from this
|
||||
directory into `~/.config/DankMaterialShell/` on fresh profiles.
|
||||
Replaces the bundled `default-settings.nix` template for `settings.json`.
|
||||
'';
|
||||
};
|
||||
bundleThirdPartyPlugins = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Install bundled third-party DMS plugins from flake inputs on all DMS hosts.
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -94,7 +103,7 @@
|
||||
])
|
||||
++ (cfg.extraRightBarWidgets or [ ]);
|
||||
programs.nix-monitor.rebuildCommand = rebuildCommand;
|
||||
dms.defaultSettingsFile = cfg.defaultSettingsFile or null;
|
||||
dms.bundleThirdPartyPlugins = cfg.bundleThirdPartyPlugins or true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -59,16 +59,53 @@
|
||||
'';
|
||||
|
||||
jsonFormat = pkgs.formats.json { };
|
||||
dmsSeedSettings =
|
||||
if cfg.defaultSettingsFile != null then
|
||||
builtins.fromJSON (builtins.readFile cfg.defaultSettingsFile)
|
||||
dmsConfigDir = "${config.xdg.configHome}/DankMaterialShell";
|
||||
defaultSeedDir = lib.attrByPath [ "chiasson" "desktop" "shells" "dms" "defaultSeedDir" ] null osConfig;
|
||||
|
||||
dmsSeedSources =
|
||||
if defaultSeedDir != null then
|
||||
{
|
||||
"settings.json" = defaultSeedDir + "/settings.json";
|
||||
}
|
||||
// lib.optionalAttrs (builtins.pathExists (defaultSeedDir + "/plugin_settings.json")) {
|
||||
"plugin_settings.json" = defaultSeedDir + "/plugin_settings.json";
|
||||
}
|
||||
else
|
||||
import ../_private/default-settings.nix {
|
||||
inherit lib gpuTempEnabled;
|
||||
extraRightBarWidgets = cfg.extraRightBarWidgets;
|
||||
{
|
||||
"settings.json" = jsonFormat.generate "dms-settings-seed.json" (
|
||||
import ../_private/default-settings.nix {
|
||||
inherit lib gpuTempEnabled;
|
||||
extraRightBarWidgets = cfg.extraRightBarWidgets;
|
||||
}
|
||||
);
|
||||
};
|
||||
dmsSeedFile = jsonFormat.generate "dms-settings-seed.json" dmsSeedSettings;
|
||||
dmsSettingsPath = "${config.xdg.configHome}/DankMaterialShell/settings.json";
|
||||
|
||||
# Directory name must match each plugin's `id` in plugin.json.
|
||||
thirdPartyPlugins = {
|
||||
dankVault = inputs.dms-plugin-dank-vault;
|
||||
calculator = inputs.dms-plugin-calculator;
|
||||
homeAssistantMonitor = inputs.dms-plugin-home-assistant;
|
||||
dropdownMenu = inputs.dms-plugin-dropdown-menu;
|
||||
ocrScanner = inputs.dms-plugin-ocr-scanner;
|
||||
unifiedTaskbar = inputs.dms-plugin-unified-taskbar;
|
||||
widgetGroup = inputs.dms-plugin-widget-group;
|
||||
nixPackageRunner = inputs.dms-plugin-nix-package-runner;
|
||||
ambientSound = inputs.dms-plugin-ambient-sound;
|
||||
cavaVisualizer = inputs.dms-plugin-cava-visualizer;
|
||||
emojiLauncher = inputs.dms-plugin-emoji-launcher;
|
||||
dankDesktopWeather = inputs.dms-plugin-official + "/DankDesktopWeather";
|
||||
webSearch = inputs.dms-plugin-web-search;
|
||||
wallpaperCarousel = inputs.dms-plugin-wallpaper-carousel;
|
||||
ephemera = inputs.dms-plugin-ephemera;
|
||||
appShortcut = inputs.dms-plugin-app-shortcut;
|
||||
};
|
||||
|
||||
shipThirdPartyPlugin =
|
||||
id: src:
|
||||
{
|
||||
source = src;
|
||||
onChange = "${dmsRestartOnceScript}";
|
||||
};
|
||||
|
||||
in {
|
||||
options = {
|
||||
@@ -131,12 +168,12 @@ in {
|
||||
Ship rbw-lock-toggle into `~/.config/DankMaterialShell/plugins/rbwLockToggle/` (directory name matches plugin id; Bitwarden vault lock/unlock in the bar).
|
||||
'';
|
||||
|
||||
dms.defaultSettingsFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
dms.bundleThirdPartyPlugins = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Host-specific first-run `settings.json` seed. When set, replaces the bundled
|
||||
`default-settings.nix` template on fresh profiles.
|
||||
Install bundled third-party DMS plugins (DankVault, Calculator, Home Assistant, …)
|
||||
into `~/.config/DankMaterialShell/plugins/` from flake inputs.
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -170,6 +207,10 @@ in {
|
||||
onChange = "${dmsRestartOnceScript}";
|
||||
};
|
||||
})
|
||||
(lib.mkIf cfg.bundleThirdPartyPlugins {
|
||||
xdg.configFile =
|
||||
lib.mapAttrs (id: src: shipThirdPartyPlugin id src) thirdPartyPlugins;
|
||||
})
|
||||
{
|
||||
|
||||
# Nix rebuild widget used by DankMaterialShell (via nix-monitor).
|
||||
@@ -188,6 +229,20 @@ in {
|
||||
kdePackages.kirigami.unwrapped
|
||||
kdePackages.qtmultimedia
|
||||
kdePackages.sonnet
|
||||
# ocrScanner DMS plugin — eng/fra/vie and 120+ langs ship in nixpkgs tessdata.
|
||||
tesseract
|
||||
# ambientSound DMS plugin — mpv playback + socat IPC to mpv socket.
|
||||
mpv
|
||||
socat
|
||||
# dankVault / emojiLauncher / ephemera — Wayland clipboard.
|
||||
wl-clipboard
|
||||
# nixPackageRunner DMS plugin.
|
||||
jq
|
||||
# cavaVisualizer DMS plugin.
|
||||
cava
|
||||
# ephemera DMS plugin — API requests + optional keyring storage.
|
||||
curl
|
||||
libsecret
|
||||
];
|
||||
programs.dank-material-shell = {
|
||||
enable = true;
|
||||
@@ -216,22 +271,25 @@ in {
|
||||
session = { };
|
||||
};
|
||||
|
||||
# Detach store symlink so UI edits survive rebuilds; seed defaults only on a fresh profile.
|
||||
home.activation.dmsMaterializeSettings = lib.hm.dag.entryBefore [ "writeBoundary" ] ''
|
||||
settingsFile=${lib.escapeShellArg dmsSettingsPath}
|
||||
if [ -L "$settingsFile" ]; then
|
||||
mkdir -p "$(dirname "$settingsFile")"
|
||||
${pkgs.coreutils}/bin/cp --remove-destination -L "$settingsFile" "$settingsFile"
|
||||
fi
|
||||
'';
|
||||
|
||||
home.activation.dmsSeedSettings = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
settingsFile=${lib.escapeShellArg dmsSettingsPath}
|
||||
mkdir -p "$(dirname "$settingsFile")"
|
||||
if [ ! -e "$settingsFile" ]; then
|
||||
${pkgs.coreutils}/bin/cp ${lib.escapeShellArg dmsSeedFile} "$settingsFile"
|
||||
chmod u+w "$settingsFile"
|
||||
fi
|
||||
# Detach store symlinks so UI edits survive rebuilds; seed defaults only on a fresh profile.
|
||||
home.activation.dmsSeedConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
${lib.concatMapStringsSep "\n" (
|
||||
fileName:
|
||||
let
|
||||
dest = "${dmsConfigDir}/${fileName}";
|
||||
src = dmsSeedSources.${fileName};
|
||||
in ''
|
||||
dest=${lib.escapeShellArg dest}
|
||||
mkdir -p "$(dirname "$dest")"
|
||||
if [ -L "$dest" ]; then
|
||||
${pkgs.coreutils}/bin/cp --remove-destination -L "$dest" "$dest"
|
||||
fi
|
||||
if [ ! -e "$dest" ]; then
|
||||
${pkgs.coreutils}/bin/cp ${lib.escapeShellArg src} "$dest"
|
||||
chmod u+w "$dest"
|
||||
fi
|
||||
''
|
||||
) (lib.attrNames dmsSeedSources)}
|
||||
'';
|
||||
|
||||
# matugen won't create missing output_path parents; run before DMS theme generation.
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{ inputs, lib, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
lib.optionalAttrs (lib.elem system [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
]) {
|
||||
devShells.default = pkgs.mkShell {
|
||||
packages = [
|
||||
inputs.navi.packages.${system}.default
|
||||
pkgs.just
|
||||
pkgs.jq
|
||||
];
|
||||
shellHook = ''
|
||||
echo "Repo helpers (from repo root):"
|
||||
echo " just # list justfile recipes"
|
||||
echo " just sync-dms [--dry-run] # copy live DMS config into host seed dir"
|
||||
echo ""
|
||||
echo "Navi fleet deploy:"
|
||||
echo " navi apply --on <host> # build + switch one host"
|
||||
echo " navi apply-local --node 14900k --sudo # switch locally (needs root)"
|
||||
echo " navi tui # interactive fleet dashboard"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,278 @@
|
||||
{
|
||||
"dankDesktopWeather": {
|
||||
"enabled": true
|
||||
},
|
||||
"nixMonitor": {
|
||||
"enabled": true
|
||||
},
|
||||
"newClock": {
|
||||
"enabled": true,
|
||||
"clockStyle": "digital",
|
||||
"showSeconds": true,
|
||||
"showDate": true
|
||||
},
|
||||
"rbwLockToggle": {
|
||||
"enabled": true
|
||||
},
|
||||
"ambientSound": {
|
||||
"enabled": true,
|
||||
"whenDoneActions": [],
|
||||
"soundVolumes": {
|
||||
"acoustic-guitar": 100,
|
||||
"warm-piano": 100,
|
||||
"lofi-beats": 100
|
||||
}
|
||||
},
|
||||
"bongoCat": {
|
||||
"enabled": true,
|
||||
"selectedDevicePath": "/dev/input/event4"
|
||||
},
|
||||
"calculator": {
|
||||
"enabled": true,
|
||||
"trigger": "="
|
||||
},
|
||||
"dankGifSearch": {
|
||||
"enabled": false
|
||||
},
|
||||
"homeAssistantMonitor": {
|
||||
"enabled": true,
|
||||
"hassUrl": "https://home.chiasson.cloud/",
|
||||
"hassTokenPath": "/run/secrets/home-assistant/auth-token",
|
||||
"showButtonsOnStatusBar": true,
|
||||
"showAttributes": false
|
||||
},
|
||||
"unifiedTaskbar": {
|
||||
"enabled": true,
|
||||
"allMonitors": false,
|
||||
"reverseMonitorOrder": false,
|
||||
"groupByApp": false,
|
||||
"compactMode": false,
|
||||
"filledPills": false,
|
||||
"iconPadding": 4,
|
||||
"itemSpacing": 2
|
||||
},
|
||||
"widgetGroup": {
|
||||
"enabled": true,
|
||||
"variants": [
|
||||
{
|
||||
"icon": "widgets",
|
||||
"label": "",
|
||||
"display": "both",
|
||||
"expandDir": "right",
|
||||
"targets": [
|
||||
"rbwLockToggle"
|
||||
],
|
||||
"mainTarget": "",
|
||||
"mainClickButton": "right",
|
||||
"mainMarkerColor": "primary",
|
||||
"expandIndicatorPosition": "",
|
||||
"showArrow": false,
|
||||
"showArrowOnlyOnHover": false,
|
||||
"hideMain": false,
|
||||
"id": "variant_1781997418516",
|
||||
"name": "Test",
|
||||
"autoCollapse": false,
|
||||
"autoCollapseSeconds": 5,
|
||||
"autoCollapseOnLeave": false
|
||||
},
|
||||
{
|
||||
"icon": "bug_report",
|
||||
"label": "",
|
||||
"display": "both",
|
||||
"expandDir": "right",
|
||||
"targets": [
|
||||
"nixMonitor",
|
||||
"cpuUsage",
|
||||
"memUsage",
|
||||
"diskUsage",
|
||||
"cpuTemp",
|
||||
"gpuTemp"
|
||||
],
|
||||
"mainTarget": "cpuUsage",
|
||||
"mainClickButton": "right",
|
||||
"mainMarkerColor": "primary",
|
||||
"expandIndicatorPosition": "",
|
||||
"showArrow": false,
|
||||
"showArrowOnlyOnHover": false,
|
||||
"hideMain": false,
|
||||
"id": "variant_1781999113601",
|
||||
"name": "SysInfo",
|
||||
"autoCollapse": false,
|
||||
"autoCollapseSeconds": 5,
|
||||
"autoCollapseOnLeave": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"desktopWidgetToggle": {
|
||||
"enabled": false,
|
||||
"activeGroupIds": [],
|
||||
"activeGroupId": "",
|
||||
"groups": [
|
||||
{
|
||||
"id": "g1",
|
||||
"name": "Group 1",
|
||||
"icon": "widgets",
|
||||
"widgets": [],
|
||||
"overrideIndividual": false
|
||||
},
|
||||
{
|
||||
"id": "g_1781998217464_d0ngn3bo3",
|
||||
"name": "New Group",
|
||||
"icon": "widgets",
|
||||
"widgets": [],
|
||||
"overrideIndividual": true,
|
||||
"widgetOverrides": {}
|
||||
}
|
||||
],
|
||||
"conflictMode": "single"
|
||||
},
|
||||
"dropdownMenu": {
|
||||
"enabled": true,
|
||||
"variants": [
|
||||
{
|
||||
"icon": "expand_circle_down",
|
||||
"text": "",
|
||||
"items": [
|
||||
{
|
||||
"type": "popout",
|
||||
"icon": "",
|
||||
"label": "Home Assistant",
|
||||
"display": "both",
|
||||
"widgetId": "homeAssistantMonitor"
|
||||
}
|
||||
],
|
||||
"id": "variant_1781998267426",
|
||||
"name": "Main Drop"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ocrScanner": {
|
||||
"enabled": true
|
||||
},
|
||||
"obsidianSearch": {
|
||||
"enabled": true,
|
||||
"vaultPath": "/mnt/zimaos/Obsidian/Home/",
|
||||
"isFlatpak": true
|
||||
},
|
||||
"dankObsidian": {
|
||||
"enabled": false
|
||||
},
|
||||
"dankPinentry": {
|
||||
"enabled": true
|
||||
},
|
||||
"dankVault": {
|
||||
"enabled": true,
|
||||
"backend": "rbw"
|
||||
},
|
||||
"nixPackageRunner": {
|
||||
"enabled": true,
|
||||
"runInTerminal": false
|
||||
},
|
||||
"dmsconky": {
|
||||
"enabled": true
|
||||
},
|
||||
"discordVoice": {
|
||||
"enabled": false
|
||||
},
|
||||
"emojiLauncher": {
|
||||
"enabled": true,
|
||||
"trigger": ":",
|
||||
"pasteOnSelect": true,
|
||||
"recentEmojis": "🃏"
|
||||
},
|
||||
"webSearch": {
|
||||
"enabled": true,
|
||||
"searchEngines": [],
|
||||
"disabledEngines": [],
|
||||
"trigger": "#"
|
||||
},
|
||||
"wallpaperCarousel": {
|
||||
"enabled": true,
|
||||
"cacheSize": 30,
|
||||
"holdDelay": 1206
|
||||
},
|
||||
"ephemera": {
|
||||
"enabled": true,
|
||||
"provider": "gemini",
|
||||
"model": "gemini-3-flash-preview"
|
||||
},
|
||||
"aiAssistant": {
|
||||
"enabled": true,
|
||||
"providers": {
|
||||
"openai": {
|
||||
"baseUrl": "https://api.openai.com",
|
||||
"model": "gpt-5.2",
|
||||
"apiKey": "",
|
||||
"saveApiKey": false,
|
||||
"apiKeyEnvVar": "",
|
||||
"temperature": 0.7,
|
||||
"maxTokens": 4096,
|
||||
"timeout": 30
|
||||
},
|
||||
"anthropic": {
|
||||
"baseUrl": "https://api.anthropic.com",
|
||||
"model": "claude-sonnet-4-5",
|
||||
"apiKey": "",
|
||||
"saveApiKey": false,
|
||||
"apiKeyEnvVar": "",
|
||||
"temperature": 0.7,
|
||||
"maxTokens": 4096,
|
||||
"timeout": 30
|
||||
},
|
||||
"gemini": {
|
||||
"baseUrl": "https://generativelanguage.googleapis.com",
|
||||
"model": "gemini-3-flash-preview",
|
||||
"apiKey": "",
|
||||
"saveApiKey": false,
|
||||
"apiKeyEnvVar": "",
|
||||
"temperature": 0.7,
|
||||
"maxTokens": 4096,
|
||||
"timeout": 30,
|
||||
"geminiWebSearch": false
|
||||
},
|
||||
"inception": {
|
||||
"baseUrl": "https://api.inceptionlabs.ai/v1",
|
||||
"model": "mercury-2",
|
||||
"apiKey": "",
|
||||
"saveApiKey": false,
|
||||
"apiKeyEnvVar": "",
|
||||
"temperature": 0.75,
|
||||
"maxTokens": 8192,
|
||||
"timeout": 30,
|
||||
"inceptionReasoningEffort": "medium",
|
||||
"inceptionReasoningSummary": true,
|
||||
"inceptionReasoningSummaryWait": false
|
||||
},
|
||||
"ollama": {
|
||||
"baseUrl": "http://localhost:11434",
|
||||
"model": "",
|
||||
"apiKey": "",
|
||||
"saveApiKey": false,
|
||||
"apiKeyEnvVar": "",
|
||||
"temperature": 0.7,
|
||||
"maxTokens": 4096,
|
||||
"timeout": 30
|
||||
},
|
||||
"custom": {
|
||||
"baseUrl": "https://api.openai.com",
|
||||
"model": "gpt-5.2",
|
||||
"apiKey": "",
|
||||
"saveApiKey": false,
|
||||
"apiKeyEnvVar": "",
|
||||
"temperature": 0.7,
|
||||
"maxTokens": 4096,
|
||||
"timeout": 30
|
||||
}
|
||||
},
|
||||
"provider": "openai",
|
||||
"baseUrl": "https://api.openai.com",
|
||||
"model": "gpt-5.2",
|
||||
"apiKey": "",
|
||||
"saveApiKey": false,
|
||||
"apiKeyEnvVar": "",
|
||||
"temperature": 0.7,
|
||||
"maxTokens": 4096,
|
||||
"timeout": 30,
|
||||
"geminiWebSearch": false
|
||||
}
|
||||
}
|
||||
+481
-4
@@ -526,9 +526,21 @@
|
||||
{
|
||||
"id": "privacyIndicator",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "ambientSound",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "discordVoice",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"rightWidgets": [
|
||||
{
|
||||
"id": "ocrScanner",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "homeAssistantMonitor",
|
||||
"enabled": true
|
||||
@@ -586,7 +598,7 @@
|
||||
"autoHideDelay": 250,
|
||||
"showOnWindowsOpen": false,
|
||||
"openOnOverview": false,
|
||||
"visible": false,
|
||||
"visible": true,
|
||||
"popupGapsAuto": true,
|
||||
"popupGapsManual": 4,
|
||||
"maximizeDetection": true,
|
||||
@@ -667,12 +679,477 @@
|
||||
],
|
||||
"systemMonitorVariants": [],
|
||||
"desktopWidgetPositions": {},
|
||||
"desktopWidgetGridSettings": {},
|
||||
"desktopWidgetInstances": [],
|
||||
"desktopWidgetGridSettings": {
|
||||
"DP-3": {
|
||||
"enabled": true,
|
||||
"size": 50
|
||||
}
|
||||
},
|
||||
"desktopWidgetInstances": [
|
||||
{
|
||||
"id": "dw_1782021985000_p2b35s81f",
|
||||
"widgetType": "desktopClock",
|
||||
"name": "Desktop Clock",
|
||||
"enabled": true,
|
||||
"config": {
|
||||
"style": "analog",
|
||||
"transparency": 0.8,
|
||||
"colorMode": "primary",
|
||||
"customColor": "#ffffff",
|
||||
"showDate": true,
|
||||
"showAnalogNumbers": false,
|
||||
"showAnalogSeconds": true,
|
||||
"displayPreferences": [
|
||||
"all"
|
||||
]
|
||||
},
|
||||
"positions": {
|
||||
"DP-3": {
|
||||
"width": 300,
|
||||
"height": 300,
|
||||
"x": 1550,
|
||||
"y": 50
|
||||
},
|
||||
"DP-4": {
|
||||
"width": 200,
|
||||
"height": 200,
|
||||
"x": 860,
|
||||
"y": 440
|
||||
},
|
||||
"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,
|
||||
"height": 250,
|
||||
"x": 2000,
|
||||
"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": {
|
||||
"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
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dw_1782022922490_aiumfxf49",
|
||||
"widgetType": "cavaVisualizer",
|
||||
"name": "Cava Visualizer",
|
||||
"enabled": true,
|
||||
"config": {
|
||||
"displayPreferences": [
|
||||
"all"
|
||||
],
|
||||
"syncPositionAcrossScreens": true,
|
||||
"vizMode": "bars",
|
||||
"barCount": 20,
|
||||
"barSpacing": 10,
|
||||
"barWidth": 0,
|
||||
"orientation": "bottom",
|
||||
"channels": "mono",
|
||||
"colorChoice": "primary",
|
||||
"bgOpacity": 0
|
||||
},
|
||||
"positions": {
|
||||
"DP-3": {
|
||||
"width": 1100,
|
||||
"height": 500,
|
||||
"x": 700,
|
||||
"y": 550
|
||||
},
|
||||
"DP-4": {
|
||||
"width": 200,
|
||||
"height": 200,
|
||||
"x": 860,
|
||||
"y": 440
|
||||
},
|
||||
"HDMI-A-3": {
|
||||
"width": 200,
|
||||
"height": 200,
|
||||
"x": 860,
|
||||
"y": 440
|
||||
},
|
||||
"_synced": {
|
||||
"x": 0.2734375,
|
||||
"y": 0.5092592592592593,
|
||||
"width": 1100,
|
||||
"height": 500
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dw_1782023131450_et7n3pv2q",
|
||||
"widgetType": "dankDesktopWeather",
|
||||
"name": "Dank Desktop Weather",
|
||||
"enabled": true,
|
||||
"config": {
|
||||
"displayPreferences": [
|
||||
"all"
|
||||
],
|
||||
"syncPositionAcrossScreens": true,
|
||||
"viewMode": "detailed",
|
||||
"colorMode": "primary",
|
||||
"backgroundOpacity": 80,
|
||||
"showPressure": true,
|
||||
"forecastDays": 7,
|
||||
"showHourlyForecast": true,
|
||||
"hourlyCount": 6,
|
||||
"showLocation": false,
|
||||
"showCondition": true,
|
||||
"showFeelsLike": true
|
||||
},
|
||||
"positions": {
|
||||
"DP-3": {
|
||||
"width": 200,
|
||||
"height": 200,
|
||||
"x": 1450,
|
||||
"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.78125,
|
||||
"y": 0.32407407407407407,
|
||||
"width": 500,
|
||||
"height": 650
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"desktopWidgetGroups": [],
|
||||
"builtInPluginSettings": {},
|
||||
"clipboardEnterToPaste": false,
|
||||
"launcherPluginVisibility": {},
|
||||
"launcherPluginVisibility": {
|
||||
"obsidianSearch": {
|
||||
"allowWithoutTrigger": false
|
||||
},
|
||||
"dms_settings_search": {
|
||||
"allowWithoutTrigger": true
|
||||
}
|
||||
},
|
||||
"launcherPluginOrder": [],
|
||||
"configVersion": 5
|
||||
}
|
||||
@@ -70,7 +70,7 @@
|
||||
".#14900k"
|
||||
];
|
||||
enableRbwLockToggle = true;
|
||||
defaultSettingsFile = ./_private/dms-default-settings.json;
|
||||
defaultSeedDir = ./_private/dms-defaults;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user