Reorganize imports

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-12-21 23:32:29 +02:00
parent 0ae56e6e25
commit 98ce774210
189 changed files with 253 additions and 260 deletions

View File

@@ -0,0 +1,3 @@
!*/.obsidian/bookmarks.json
*/.obsidian
.nomedia

View File

@@ -0,0 +1,27 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.better-word-count";
version = "0.10.1";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "8ff00d7e9aed03d8cf38215b742a2a2251cc2ea2";
# owner = "lukeleppan";
repo = "better-word-count";
# rev = version;
hash = "sha256-wA0vycuUHr7icgAJ/d85j3bbwqlefXnSyRUXgCmqyOE=";
};
patches = [ ./package-lock.patch ];
makeCacheWritable = true;
npmDepsHash = "sha256-K+NGIKsSNzGHGcAofsl0WcNsTFt/y38zUdGUZL013xg=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./dist/main.js $out/main.js
cp ./src/styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,35 @@
diff --git a/package-lock.json b/package-lock.json
index 3fa99a5..71302ec 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,7 +15,7 @@
},
"devDependencies": {
"@codemirror/commands": "^6.1.2",
- "@codemirror/language": "https://github.com/lishid/cm-language",
+ "@codemirror/language": "https://github.com/karaolidis/cm-language#package-lock",
"@codemirror/search": "^6.2.2",
"@codemirror/state": "^6.1.2",
"@codemirror/view": "^6.4.0",
@@ -49,7 +49,7 @@
},
"node_modules/@codemirror/language": {
"version": "6.10.1",
- "resolved": "git+ssh://git@github.com/lishid/cm-language.git#2644bfc27afda707a7e1f3aedaf3ca7120f63cd9",
+ "resolved": "git+ssh://git@github.com/karaolidis/cm-language.git#d6238f0a9e17e20d604cee67a47d3a93b00dd41c",
"dev": true,
"dependencies": {
"@codemirror/state": "^6.0.0",
diff --git a/package.json b/package.json
index 2537f1e..ba6bfff 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
"license": "MIT",
"devDependencies": {
"@codemirror/commands": "^6.1.2",
- "@codemirror/language": "https://github.com/lishid/cm-language",
+ "@codemirror/language": "https://github.com/karaolidis/cm-language#package-lock",
"@codemirror/search": "^6.2.2",
"@codemirror/state": "^6.1.2",
"@codemirror/view": "^6.4.0",

View File

@@ -0,0 +1,30 @@
{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "obsidian.plugins.custom-sort";
version = "2.1.14";
src = pkgs.fetchFromGitHub {
owner = "SebastianMC";
repo = "obsidian-custom-sort";
rev = version;
hash = "sha256-DM2aKCsFC2Z4a/ZX95ZMBzshBx2C2Z8a7j94ABS2UGI=";
};
offlineCache = pkgs.fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-RdR+S6WQj2AAoxJnAowNa1etr/Xfp6HnhM7rMYJh8o8=";
};
nativeBuildInputs = with pkgs; [
nodejs
yarnConfigHook
yarnBuildHook
npmHooks.npmInstallHook
];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./dist/main.js $out/main.js
'';
}

View File

@@ -0,0 +1,25 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.dataview";
version = "0.5.67";
src = pkgs.fetchFromGitHub {
owner = "blacksmithgu";
repo = "obsidian-dataview";
rev = version;
hash = "sha256-AbK1J1a8bqkPCe9dqADAfR/q/j/kRGa8qouj9GJQErc=";
};
patches = [ ./package-lock.patch ];
makeCacheWritable = true;
npmDepsHash = "sha256-FsPLpWcS27VWrDm5G1ZT6zvfOfYmKNLHzmjiXEmpGKE=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./build/main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,90 @@
diff --git a/package-lock.json b/package-lock.json
index 0c1b0bd..df26135 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,15 +1,15 @@
{
"name": "obsidian-dataview",
- "version": "0.5.66",
+ "version": "0.5.67",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "obsidian-dataview",
- "version": "0.5.66",
+ "version": "0.5.67",
"license": "MIT",
"dependencies": {
- "@codemirror/language": "https://github.com/lishid/cm-language",
+ "@codemirror/language": "https://github.com/karaolidis/cm-language#package-lock",
"@codemirror/state": "^6.0.1",
"@codemirror/view": "^6.0.1",
"emoji-regex": "^10.0.0",
@@ -687,29 +687,28 @@
"dev": true
},
"node_modules/@codemirror/language": {
- "version": "6.6.0",
- "resolved": "git+ssh://git@github.com/lishid/cm-language.git#1aadcc247f20ccfda76424a9f853dbb4ee203fdc",
- "license": "MIT",
+ "version": "6.10.1",
+ "resolved": "git+ssh://git@github.com/karaolidis/cm-language.git#d6238f0a9e17e20d604cee67a47d3a93b00dd41c",
"dependencies": {
"@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "@lezer/common": "^1.0.0",
+ "@codemirror/view": "^6.23.0",
+ "@lezer/common": "^1.1.0",
"@lezer/highlight": "^1.0.0",
"@lezer/lr": "^1.0.0",
"style-mod": "^4.0.0"
}
},
"node_modules/@codemirror/state": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz",
- "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw=="
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz",
+ "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A=="
},
"node_modules/@codemirror/view": {
- "version": "6.19.0",
- "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.19.0.tgz",
- "integrity": "sha512-XqNIfW/3GaaF+T7Q1jBcRLCPm1NbrR2DBxrXacSt1FG+rNsdsNn3/azAfgpUoJ7yy4xgd8xTPa3AlL+y0lMizQ==",
+ "version": "6.28.4",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.28.4.tgz",
+ "integrity": "sha512-QScv95fiviSQ/CaVGflxAvvvDy/9wi0RFyDl4LkHHWiMr/UPebyuTspmYSeN5Nx6eujcPYwsQzA6ZIZucKZVHQ==",
"dependencies": {
- "@codemirror/state": "^6.1.4",
+ "@codemirror/state": "^6.4.0",
"style-mod": "^4.1.0",
"w3c-keyname": "^2.2.4"
}
@@ -1133,9 +1132,9 @@
}
},
"node_modules/@lezer/common": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.4.tgz",
- "integrity": "sha512-lZHlk8p67x4aIDtJl6UQrXSOP6oi7dQR3W/geFVrENdA1JDaAJWldnVqVjPMJupbTKbzDfFcePfKttqVidS/dg=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz",
+ "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ=="
},
"node_modules/@lezer/highlight": {
"version": "1.1.6",
diff --git a/package.json b/package.json
index db15b53..d3605a0 100644
--- a/package.json
+++ b/package.json
@@ -47,7 +47,7 @@
"rollup-plugin-web-worker-loader": "^1.6.1"
},
"dependencies": {
- "@codemirror/language": "https://github.com/lishid/cm-language",
+ "@codemirror/language": "https://github.com/karaolidis/cm-language#package-lock",
"@codemirror/state": "^6.0.1",
"@codemirror/view": "^6.0.1",
"emoji-regex": "^10.0.0",

View File

@@ -0,0 +1,28 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.excalidraw";
version = "2.2.8";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "9f5811b0f849b0f1a6a842945a81b605f65a9bdb";
# owner = "zsviczian";
repo = "obsidian-excalidraw-plugin";
# rev = version;
hash = "sha256-/YbbGFYWkzBxdIFpFNn85D8oXJsFrgndq3KZmMSxcvw=";
};
npmDepsHash = "sha256-KgsmcGj8WbWLCxaXMNA8anGcmOq0BzuDtdeNqS8ra8E=";
npmPackFlags = [ "--ignore-scripts" ];
configurePhase = ''
mkdir dist
'';
installPhase = ''
mkdir -p $out
cp ./dist/manifest.json $out/manifest.json
cp ./dist/main.js $out/main.js
cp ./dist/styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,24 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.folder-note";
version = "0.7.3";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "2d14ccb5179beb48c3df87108170aeda067584ac";
# owner = "xpgo";
repo = "obsidian-folder-note-plugin";
# rev = version;
hash = "sha256-Ub0u+hMbkzxeUjzVmA61S0ClXR9E3KrYTqhrJBQj0Wg=";
};
npmDepsHash = "sha256-4v6QwwooxsXy+mbiKriylpKa8NOK8pWZixezY+H6wxo=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,31 @@
{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "obsidian.plugins.kanban";
version = "2.0.51";
src = pkgs.fetchFromGitHub {
owner = "mgmeyers";
repo = "obsidian-kanban";
rev = version;
hash = "sha256-NahypggwPrub2KxRBAn54ZpEInP1V+6l/xmUKUt6myA=";
};
offlineCache = pkgs.fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-eof2W9Ja4RlmjQ0SnaF/jadHX3GRkCRrMwZU2z0M/Jk=";
};
nativeBuildInputs = with pkgs; [
nodejs
yarnConfigHook
yarnBuildHook
npmHooks.npmInstallHook
];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,35 @@
{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "obsidian.plugins.languagetool";
version = "0.3.7";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "a7bb62f767decbd55b14702c35e24954459e77ca";
# owner = "Clemens-E";
repo = "obsidian-languagetool-plugin";
# rev = version;
hash = "sha256-LeSK9ctdKW6P3AoOWHxHmGxIlOXDOVd1nhsWXdRSiZY=";
};
patches = [ ./settings-notification.patch ];
offlineCache = pkgs.fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-749RGQmg9Mte7TR6k3qP6xcb8+rj/C60LYLbF8j8gNc=";
};
nativeBuildInputs = with pkgs; [
nodejs
yarnConfigHook
yarnBuildHook
npmHooks.npmInstallHook
];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,12 @@
diff --git a/src/index.ts b/src/index.ts
index 00cccfe..43e6107 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -42,7 +42,6 @@ export default class LanguageToolPlugin extends Plugin {
try {
await this.saveSettings();
await this.loadSettings();
- new Notice('updated LanguageTool Settings, please confirm your server URL in the settings tab', 10000);
} catch (e) {
console.error(e);
}

View File

@@ -0,0 +1,22 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.linter";
version = "1.25.0";
src = pkgs.fetchFromGitHub {
owner = "platers";
repo = "obsidian-linter";
rev = version;
hash = "sha256-jf3tIE6zDD5VCrkWWgxpANqrYUqJunESD08bVJB2H54=";
};
npmDepsHash = "sha256-Bln8cD04ACdj73xXrcG6RVlET1D1bfMsRZqaejbAedo=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./src/styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,24 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.map-view";
version = "5.0.2";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "22e13b87e43dc5a5e40240e7de216ed8f638e741";
# owner = "esm7";
repo = "obsidian-map-view";
# rev = version;
hash = "sha256-n++PIWsaxAFnbfzlD0sWMs5+ljOXjA+ft6d/m/p2oq8=";
};
npmDepsHash = "sha256-AzJfluB+KjGudESedQxX4BxStnELeFDHO+h+f73ihuA=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./dist/manifest.json $out/manifest.json
cp ./dist/main.js $out/main.js
cp ./dist/styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,24 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.minimal-settings";
version = "8.0.2";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "2bdab8f00be4b98600e40d6a2ecac8be359c99dd";
# owner = "kepano";
repo = "obsidian-minimal-settings";
# rev = version;
hash = "sha256-JI7I1n6ZiWdzemoLFGt7C3RF+HQgh9BmmI3owZNm944=";
};
npmDepsHash = "sha256-N9wfFsbpcO53Lno6sM4OvXywUqn9L2DpS4HfmjL1Ld4=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,22 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.outliner";
version = "4.8.1";
src = pkgs.fetchFromGitHub {
owner = "vslinko";
repo = "obsidian-outliner";
rev = version;
hash = "sha256-LfkK1c3khA75UZQMJStvV2bccHTz4eMqtEIC8jPFKBM=";
};
npmDepsHash = "sha256-EVSunBtuOo93Zhq95u80j/MArRZaAyKdcwUz61qHXiQ=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,21 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.read-it-later";
version = "0.4.0";
src = pkgs.fetchFromGitHub {
owner = "DominikPieper";
repo = "obsidian-ReadItLater";
rev = version;
hash = "sha256-yaEgYH9jfjumZJ/kD/jj2NDTsuvP6EmyfYXEj5E8Q0Q=";
};
npmDepsHash = "sha256-OOhdusXBbxSl8S2uCGTqkTDYEbO5FxOlH8cehwU3LjY=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
'';
}

View File

@@ -0,0 +1,33 @@
{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "obsidian.plugins.style-settings";
version = "1.0.8";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "57ef34b6d8903451311db63084eef80b7b7e1a62";
# owner = "mgmeyers";
repo = "obsidian-style-settings";
# rev = version;
hash = "sha256-ZxYkd0kyDnHwPt5Z1iFpRgQHLKhN4O9S5S7Izz5hd9E=";
};
offlineCache = pkgs.fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-Wf5pIbhSdo/rOs/TDqRjiS2JxWWbWsI2IOqCW78gFkU=";
};
nativeBuildInputs = with pkgs; [
nodejs
yarnConfigHook
yarnBuildHook
npmHooks.npmInstallHook
];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,31 @@
{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "obsidian.plugins.tasks";
version = "7.6.1";
src = pkgs.fetchFromGitHub {
owner = "obsidian-tasks-group";
repo = "obsidian-tasks";
rev = version;
hash = "sha256-7VvoaX2WkKrg2WpR+JQcpT73rAhZXJ3FXr2BBUIwrmA=";
};
offlineCache = pkgs.fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-3ReJNZKgecKTbXTWZGSY2hBLHysdbr/iKFS9tgCJvW0=";
};
nativeBuildInputs = with pkgs; [
nodejs
yarnConfigHook
yarnBuildHook
npmHooks.npmInstallHook
];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
cp ./styles.css $out/styles.css
'';
}

View File

@@ -0,0 +1,23 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.plugins.url-into-selection";
version = "1.7.0";
src = pkgs.fetchFromGitHub {
owner = "karaolidis";
rev = "9f85d59be28797b7ef16c452fa3c4093f60b3bab";
# owner = "denolehov";
repo = "obsidian-url-into-selection";
# rev = version;
hash = "sha256-MQV8CMzCha0MUGLh4c1WuHVXRiCPEwtSgd3Xoj/81hA=";
};
npmDepsHash = "sha256-tThyrhezHZ29JUzx5sy2SfoZIGYP0DOQBctxYB5O1P4=";
npmPackFlags = [ "--ignore-scripts" ];
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./main.js $out/main.js
'';
}

View File

@@ -0,0 +1,18 @@
:root {
--replete-custom-separators-vertical-padding: 4px;
--replete-custom-separators-left-margin: -12px;
}
.nav-files-container [class*=nav-]:has(:is(
[data-path="Inbox"],
[data-path="Dreams"],
[data-path="Work"],
[data-path="Random"],
))::after {
content:'';
display:block;
height:1px;
width:calc(100% + 32px);
background:linear-gradient(to right, var(--tab-outline-color), transparent);
margin:var(--replete-custom-separators-vertical-padding) 0 var(--replete-custom-separators-vertical-padding) var(--replete-custom-separators-left-margin);
}

View File

@@ -0,0 +1,27 @@
{ pkgs, ... }:
pkgs.buildNpmPackage rec {
pname = "obsidian.themes.minimal";
version = "7.7.7";
src = pkgs.fetchFromGitHub {
owner = "kepano";
repo = "obsidian-minimal";
rev = version;
hash = "sha256-Atb9ZVou4EkfppV7VvTEMG/UruKlADctbXL1M8vvhxQ=";
};
npmDepsHash = "sha256-PzsZv/On8ci6EkF3WE4aez3/jQu5AqyJxFUzJk+Pn0c=";
npmPackFlags = [ "--ignore-scripts" ];
nativeBuildInputs = with pkgs; [ sass ];
buildPhase = ''
npx grunt cssmin
'';
installPhase = ''
mkdir -p $out
cp ./manifest.json $out/manifest.json
cp ./theme.css $out/theme.css
'';
}

View File

@@ -0,0 +1,720 @@
{
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{
config,
lib,
pkgs,
...
}:
let
hmConfig = config.home-manager.users.${user};
in
{
environment.persistence."/cache"."${home}/.config/obsidian" = { };
home-manager.users.${user} = {
imports = [ ./options.nix ];
programs.obsidian = {
enable = true;
sharedSettings = {
app = {
defaultViewMode = "preview";
livePreview = false;
readableLineLength = true;
showLineNumber = true;
tabSize = 2;
promptDelete = false;
trashOption = "local";
alwaysUpdateLinks = true;
newFileLocation = "folder";
newFileFolderPath = "inbox";
newLinkFormat = "absolute";
showUnsupportedFiles = true;
attachmentFolderPath = "./assets";
};
corePlugins = [
"bookmarks"
{
name = "canvas";
options = {
newFileLocation = "folder";
newFileFolderPath = "Inbox";
defaultWheelBehavior = "zoom";
};
}
"canvas"
{
name = "command-palette";
options = {
pinned = [
"file-explorer:new-file"
"canvas:new-file"
"obsidian-excalidraw-plugin:excalidraw-autocreate-on-current"
"obsidian-kanban:create-new-kanban-board"
"obsidian-read-it-later:save-clipboard-to-notice"
];
};
}
"editor-status"
"file-explorer"
"global-search"
"graph"
"note-composer"
"outgoing-link"
"outline"
"page-preview"
"slash-command"
"switcher"
"tag-pane"
];
communityPlugins = [
{
pkg = pkgs.callPackage ./config/plugins/better-word-count { };
options = {
statusBar = [
{
prefix = "";
suffix = " words";
metric = {
type = 0;
counter = 0;
};
}
];
altBar = [
{
prefix = "";
suffix = " files";
metric = {
type = 2;
counter = 6;
};
}
];
countComments = true; # Inverse
};
}
{
pkg = pkgs.callPackage ./config/plugins/custom-sort { };
options = {
suspended = false;
statusBarEntryEnabled = false;
notificationsEnabled = false;
customSortContextSubmenu = false;
bookmarksGroupToConsumeAsOrderingReference = "Sort";
bookmarksContextMenus = false;
};
}
{
pkg = pkgs.callPackage ./config/plugins/dataview { };
options = {
enableDataviewJs = true;
enableInlineDataviewJs = true;
warnOnEmptyResult = false;
defaultDateFormat = "dd/MM/yyyy";
defaultDateTimeFormat = "HH:mm - dd/MM/yyyy";
};
}
{
pkg = pkgs.callPackage ./config/plugins/excalidraw { };
options = {
folder = "Inbox";
templateFilePath = "Templates";
scriptFolderPath = "Scripts";
compress = false;
drawingFilenamePrefix = "";
drawingEmbedPrefixWithFilename = false;
drawingFilenameDateTime = "YYYY-MM-DD-HH.mm.ss";
previewImageType = "SVG";
previewMatchObsidianTheme = true;
defaultPenMode = "mobile";
parseTODO = true;
focusOnFileTab = true;
pngExportScale = 2;
exportWithTheme = false;
exportWithBackground = false;
exportEmbedScene = true;
showReleaseNotes = false;
showNewVersionNotification = false;
};
}
{
pkg = pkgs.callPackage ./config/plugins/folder-note { };
options = {
folderNoteHide = false;
folderNoteStrInit = "";
};
}
{
pkg = pkgs.callPackage ./config/plugins/kanban { };
options = {
move-tags = true;
move-dates = true;
date-display-format = "DD/MM/YYYY";
show-relative-date = true;
date-picker-week-start = 1;
inline-metadata-position = "footer";
move-task-metadata = true;
show-archive-all = false;
show-board-settings = false;
};
}
{
pkg = pkgs.callPackage ./config/plugins/languagetool { };
options = {
shouldAutoCheck = true;
pickyMode = true;
staticLanguage = "auto";
englishVariety = "en-US";
};
}
{
pkg = pkgs.callPackage ./config/plugins/linter { };
options = {
lintOnSave = true;
displayChanged = false;
lintOnFileChange = true;
ruleConfigs = {
add-blank-line-after-yaml.enabled = true;
dedupe-yaml-array-values.enabled = true;
escape-yaml-special-characters = {
enabled = true;
try-to-escape-single-line-arrays = true;
};
format-tags-in-yaml.enabled = true;
format-yaml-array = {
enabled = true;
default-array-style = "multi-line";
};
sort-yaml-array-values.enabled = true;
capitalize-headings = {
enabled = true;
ignore-words = "";
};
header-increment = {
enabled = true;
start-at-h2 = true;
};
headings-start-line.enabled = true;
remove-trailing-punctuation-in-heading.enabled = true;
auto-correct-common-misspellings.enabled = true;
blockquote-style.enabled = true;
convert-bullet-list-markers.enabled = true;
emphasis-style = {
enabled = true;
style = "asterisk";
};
no-bare-urls = {
enabled = true;
no-bare-uris = true;
};
ordered-list-style.enabled = true;
quote-style.enabled = true;
remove-consecutive-list-markers.enabled = true;
remove-empty-list-markers.enabled = true;
remove-hyphenated-line-breaks.enabled = true;
remove-multiple-spaces.enabled = true;
strong-style = {
enabled = true;
style = "asterisk";
};
two-spaces-between-lines-with-content.enabled = true;
unordered-list-style = {
enabled = true;
list-style = "-";
};
compact-yaml = {
enabled = true;
inner-new-lines = true;
};
consecutive-blank-lines.enabled = true;
empty-line-around-blockquotes.enabled = true;
empty-line-around-code-fences.enabled = true;
empty-line-around-math-blocks.enabled = true;
empty-line-around-tables.enabled = true;
heading-blank-lines.enabled = true;
line-break-at-document-end.enabled = true;
move-math-block-indicators-to-their-own-line.enabled = true;
paragraph-blank-lines.enabled = true;
remove-empty-lines-between-list-markers-and-checklists.enabled = true;
remove-link-spacing.enabled = true;
space-after-list-markers.enabled = true;
trailing-spaces.enabled = true;
add-blockquote-indentation-on-paste.enabled = true;
prevent-double-checklist-indicator-on-paste.enabled = true;
prevent-double-list-item-indicator-on-paste.enabled = true;
remove-hyphens-on-paste.enabled = true;
remove-leading-or-trailing-whitespace-on-paste.enabled = true;
remove-leftover-footnotes-from-quote-on-paste.enabled = true;
remove-multiple-blank-lines-on-paste.enabled = true;
};
customRegexes = [
{
label = "Open Double Quote";
find = "";
replace = "\"";
flags = "gm";
}
{
label = "Close Double Quote";
find = "";
replace = "\"";
flags = "gm";
}
{
label = "Elipsis";
find = "";
replace = "...";
flags = "gm";
}
{
label = "Open Quote";
find = "";
replace = "'";
flags = "gm";
}
{
label = "Close Quote";
find = "";
replace = "'";
flags = "gm";
}
{
label = "Long Dash";
find = "";
replace = "---";
flags = "gm";
}
{
label = "Short Dash";
find = "";
replace = "--";
flags = "gm";
}
{
label = "Long Dash with Text";
find = "([^\\s])---([^\\s])";
replace = "$1 --- $2";
flags = "gm";
}
{
label = "Short Dash with Text";
find = "([^\\s])--([^\\s])";
replace = "$1 -- $2";
flags = "gm";
}
];
commonStyles = {
removeUnnecessaryEscapeCharsForMultiLineArrays = true;
};
};
}
{
pkg = pkgs.callPackage ./config/plugins/map-view { };
options = {
"markerIconRules" = [
{
"ruleName" = "default";
"preset" = true;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-circle";
"markerColor" = "blue";
};
}
{
"ruleName" = "#restaurant";
"preset" = false;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-utensils";
"markerColor" = "red";
};
}
{
"ruleName" = "#bar";
"preset" = false;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-martini-glass";
"markerColor" = "purple";
};
}
{
"ruleName" = "#coffee";
"preset" = false;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-mug-hot";
"markerColor" = "purple";
};
}
{
"ruleName" = "#culture";
"preset" = false;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-building-columns";
"markerColor" = "black";
};
}
{
"ruleName" = "#shopping";
"preset" = false;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-shopping-bag";
"markerColor" = "yellow";
};
}
{
"ruleName" = "#entertainment";
"preset" = false;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-microphone";
"markerColor" = "pink";
};
}
{
"ruleName" = "#nature";
"preset" = false;
"iconDetails" = {
"prefix" = "fas";
"icon" = "fa-tree";
"markerColor" = "green";
};
}
];
"searchProvider" = "google";
"geocodingApiMethod" = "path";
"geocodingApiPath" = hmConfig.sops.secrets."google/geocoding".path;
"useGooglePlaces" = true;
"letZoomBeyondMax" = true;
"showGeolinkPreview" = true;
"newNotePath" = "Inbox";
};
}
{
pkg = pkgs.callPackage ./config/plugins/minimal-settings { };
options = {
editorFont = "var(--font-monospace)";
};
}
{
pkg = pkgs.callPackage ./config/plugins/outliner { };
options = {
styleLists = false;
stickCursor = "never";
};
}
{
pkg = pkgs.callPackage ./config/plugins/read-it-later { };
options = {
inboxDir = "Inbox";
assetsDir = "Inbox/assets";
openNewNote = true;
youtubeNote = ''
---
source: %videoURL%
---
%videoPlayer%
'';
vimeoNote = ''
---
source: %videoURL%
---
%videoPlayer%
'';
bilibiliNote = ''
---
source: %videoURL%
---
%videoPlayer%
'';
twitterNote = ''
---
source: %tweetURL%
---
%tweetContent%
'';
parsableArticleNote = ''
---
source: %articleURL%
---
%articleContent%
'';
mastodonNote = ''
---
source: %tootURL%
---
> %tootContent%
'';
stackExchangeNote = ''
---
source: %questionURL%
---
Author: [%authorName%](%authorProfileURL%)
%questionContent%
***
%topAnswer%
%answers%
'';
stackExchangeAnswer = ''
Answered by: [%authorName%](%authorProfileURL%)
> %answerContent%
'';
tikTokNote = ''
---
source: %videoURL%
---
%videoDescription%
%videoPlayer%
'';
notParsableArticleNote = ''
---
source: %articleURL%
---
%previewURL%
'';
textSnippetNote = "%content%";
};
}
(pkgs.callPackage ./config/plugins/style-settings { })
{
pkg = pkgs.callPackage ./config/plugins/tasks { };
options = {
globalQuery = "short mode";
globalFilter = "#todo";
removeGlobalFilter = true;
setCreatedDate = true;
statusSettings = {
coreStatuses = [
{
symbol = " ";
name = "to-do";
nextStatusSymbol = "/";
type = "TODO";
}
{
symbol = "x";
name = "done";
nextStatusSymbol = " ";
type = "DONE";
}
];
customStatuses = [
{
symbol = "/";
name = "in-progress";
nextStatusSymbol = "x";
type = "IN_PROGRESS";
}
{
symbol = "-";
name = "canceled";
nextStatusSymbol = " ";
type = "CANCELLED";
}
{
symbol = ">";
name = "forwarded";
nextStatusSymbol = "/";
type = "IN_PROGRESS";
}
{
symbol = "<";
name = "scheduling";
nextStatusSymbol = "/";
type = "TODO";
}
{
symbol = "?";
name = "question";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "!";
name = "important";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "*";
name = "star";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "\"";
name = "quote";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "l";
name = "location";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "b";
name = "bookmark";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "i";
name = "information";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "S";
name = "savings";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "I";
name = "idea";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "p";
name = "pros";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "c";
name = "cons";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "f";
name = "fire";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "k";
name = "key";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "w";
name = "win";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "u";
name = "up";
nextStatusSymbol = " ";
type = "TODO";
}
{
symbol = "d";
name = "down";
nextStatusSymbol = " ";
type = "TODO";
}
];
};
};
}
(pkgs.callPackage ./config/plugins/url-into-selection { })
];
cssSnippets = [ ./config/snippets/file-explorer-separators.css ];
themes = [ (pkgs.callPackage ./config/themes/minimal { }) ];
hotkeys = {
"command-palette:open" = [ { key = "F1"; } ];
"app:open-help" = [ ];
"editor:swap-line-down" = [
{
modifiers = [ "Alt" ];
key = "ArrowDown";
}
];
"editor:swap-line-up" = [
{
modifiers = [ "Alt" ];
key = "ArrowUp";
}
];
"editor:fold-all" = [
{
modifiers = [
"Alt"
"Mod"
];
key = "T";
}
];
"editor:add-cursor-above" = [
{
modifiers = [
"Mod"
"Shift"
];
key = "ArrowUp";
}
];
"editor:add-cursor-below" = [
{
modifiers = [
"Mod"
"Shift"
];
key = "ArrowDown";
}
];
"obsidian-outliner:move-list-item-up" = [ ];
"obsidian-outliner:move-list-item-down" = [ ];
};
};
};
theme.template = lib.attrsets.mapAttrs' (
_: vault:
lib.attrsets.nameValuePair
"${home}/${vault.target}/.obsidian/plugins/obsidian-style-settings/data.json"
{
source = ./theme.json;
}
) hmConfig.programs.obsidian.vaults;
sops.secrets."google/geocoding".sopsFile = ../../../../../../secrets/personal/secrets.yaml;
wayland.windowManager.hyprland.settings.bind = [ "$mod, o, exec, ${pkgs.obsidian}/bin/obsidian" ];
};
}

View File

@@ -0,0 +1,504 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.programs.obsidian;
corePlugins = [
"audio-recorder"
"backlink"
"bookmarks"
"canvas"
"command-palette"
"daily-notes"
"editor-status"
"file-explorer"
"file-recovery"
"global-search"
"graph"
"markdown-importer"
"note-composer"
"outgoing-link"
"outline"
"page-preview"
"properties"
"publish"
"random-note"
"slash-command"
"slides"
"switcher"
"sync"
"tag-pane"
"templates"
"word-count"
"workspaces"
"zk-prefixer"
];
toCssName = path: lib.strings.removeSuffix ".css" (builtins.baseNameOf path);
in
{
options.programs.obsidian =
with lib;
with types;
let
corePluginsOptions =
{ config, ... }:
{
options = {
enable = mkOption {
type = bool;
default = true;
description = "Whether to enable the plugin.";
};
name = mkOption {
type = enum corePlugins;
description = "The plugin.";
};
options = mkOption {
type = attrsOf anything;
description = "Plugin options to include.";
default = { };
};
};
};
communityPluginsOptions =
{ config, ... }:
{
options = {
enable = mkOption {
type = bool;
default = true;
description = "Whether to enable the plugin.";
};
pkg = mkOption {
type = package;
description = "The plugin package.";
};
options = mkOption {
type = attrsOf anything;
description = "Options to include in the plugin's `data.json`.";
default = { };
};
};
};
checkCssPath = path: lib.filesystem.pathIsRegularFile path && lib.strings.hasSuffix ".css" path;
cssSnippetsOptions =
{ config, ... }:
{
options = {
enable = mkOption {
type = bool;
default = true;
description = "Whether to enable the snippet.";
};
name = mkOption {
type = str;
defaultText = literalExpression "lib.strings.removeSuffix \".css\" (builtins.baseNameOf source)";
description = "Name of the snippet.";
};
source = mkOption {
type = nullOr (addCheck path checkCssPath);
description = "Path of the source file.";
default = null;
};
text = mkOption {
type = nullOr str;
description = "Text of the file.";
default = null;
};
};
config.name = mkDefault (toCssName config.source);
};
themesOptions =
{ config, ... }:
{
options = {
enable = mkOption {
type = bool;
default = true;
description = "Whether to set the theme as active.";
};
pkg = mkOption {
type = package;
description = "The theme package.";
};
};
};
hotkeysOptions =
{ config, ... }:
{
options = {
modifiers = mkOption {
type = listOf str;
description = "The hotkey modifiers.";
default = [ ];
};
key = mkOption {
type = str;
description = "The hotkey.";
};
};
};
extraFilesOptions =
{ name, config, ... }:
{
options = {
source = mkOption {
type = nullOr path;
description = "Path of the source file or directory.";
default = null;
};
text = mkOption {
type = nullOr str;
description = "Text of the file.";
default = null;
};
target = mkOption {
type = str;
defaultText = literalExpression "name";
description = "Path to target relative to the vault's directory.";
};
};
config.target = mkDefault name;
};
in
{
enable = mkEnableOption "obsidian";
package = mkPackageOption pkgs "obsidian" { };
sharedSettings = {
app = mkOption {
description = "Settings to write to app.json.";
type = raw;
default = { };
};
appearance = mkOption {
description = "Settings to write to appearance.json.";
type = raw;
default = { };
};
corePlugins = mkOption {
description = "Core plugins to activate.";
type = raw;
default = [
"backlink"
"bookmarks"
"canvas"
"command-palette"
"daily-notes"
"editor-status"
"file-explorer"
"file-recovery"
"global-search"
"graph"
"note-composer"
"outgoing-link"
"outline"
"page-preview"
"switcher"
"tag-pane"
"templates"
"word-count"
];
};
communityPlugins = mkOption {
description = "Community plugins to install and activate.";
type = raw;
default = [ ];
};
cssSnippets = mkOption {
description = "CSS snippets to install.";
type = raw;
default = [ ];
};
themes = mkOption {
description = "Themes to install.";
type = raw;
default = [ ];
};
hotkeys = mkOption {
description = "Hotkeys to configure.";
type = raw;
default = { };
};
extraFiles = mkOption {
description = "Extra files to link to the vault directory.";
type = raw;
default = { };
};
};
vaults = mkOption {
description = "List of vaults to create.";
type = attrsOf (
submodule (
{ name, config, ... }:
{
options = {
enable = mkOption {
type = bool;
default = true;
description = "Whether this vault should be generated.";
};
target = mkOption {
type = str;
defaultText = literalExpression "name";
description = "Path to target vault relative to the user's {env}`HOME`.";
};
settings = {
app = mkOption {
description = "Settings to write to app.json.";
type = attrsOf anything;
default = cfg.sharedSettings.app;
};
appearance = mkOption {
description = "Settings to write to appearance.json.";
type = attrsOf anything;
default = cfg.sharedSettings.appearance;
};
corePlugins = mkOption {
description = "Core plugins to activate.";
type = listOf (coercedTo (enum corePlugins) (p: { name = p; }) (submodule corePluginsOptions));
default = cfg.sharedSettings.corePlugins;
};
communityPlugins = mkOption {
description = "Community plugins to install and activate.";
type = listOf (coercedTo package (p: { pkg = p; }) (submodule communityPluginsOptions));
default = cfg.sharedSettings.communityPlugins;
};
cssSnippets = mkOption {
description = "CSS snippets to install.";
type = listOf (
coercedTo (addCheck path checkCssPath) (p: { source = p; }) (submodule cssSnippetsOptions)
);
default = cfg.sharedSettings.cssSnippets;
};
themes = mkOption {
description = "Themes to install.";
type = listOf (coercedTo package (p: { pkg = p; }) (submodule themesOptions));
default = cfg.sharedSettings.themes;
};
hotkeys = mkOption {
description = "Hotkeys to configure.";
type = attrsOf (listOf (submodule hotkeysOptions));
default = cfg.sharedSettings.hotkeys;
};
extraFiles = mkOption {
description = "Extra files to link to the vault directory.";
type = attrsOf (submodule extraFilesOptions);
default = cfg.sharedSettings.extraFiles;
};
};
};
config.target = mkDefault name;
}
)
);
default = { };
};
};
config =
let
vaults = builtins.filter (vault: vault.enable == true) (builtins.attrValues cfg.vaults);
getManifest =
item:
let
manifest = builtins.fromJSON (builtins.readFile "${item.pkg}/manifest.json");
in
manifest.id or manifest.name;
in
lib.mkIf cfg.enable {
home = {
packages = [ cfg.package ];
file =
let
mkApp = vault: {
name = "${vault.target}/.obsidian/app.json";
value.source = (pkgs.formats.json { }).generate "app.json" vault.settings.app;
};
mkAppearance = vault: {
name = "${vault.target}/.obsidian/appearance.json";
value =
let
enabledCssSnippets = builtins.filter (snippet: snippet.enable) vault.settings.cssSnippets;
activeTheme = lib.lists.findSingle (
theme: theme.enable
) null (throw "Only one theme can be enabled at a time.") vault.settings.themes;
in
{
source = (pkgs.formats.json { }).generate "appearance.json" (
vault.settings.appearance
// {
enabledCssSnippets = builtins.map (snippet: snippet.name) enabledCssSnippets;
}
// lib.attrsets.optionalAttrs (activeTheme != null) { cssTheme = getManifest activeTheme; }
);
};
};
mkCorePlugins =
vault:
[
{
name = "${vault.target}/.obsidian/core-plugins.json";
value.source = (pkgs.formats.json { }).generate "core-plugins.json" (
builtins.map (plugin: plugin.name) vault.settings.corePlugins
);
}
{
name = "${vault.target}/.obsidian/core-plugins-migration.json";
value.source = (pkgs.formats.json { }).generate "core-plugins-migration.json" (
builtins.listToAttrs (
builtins.map (name: {
inherit name;
value = builtins.any (plugin: name == plugin.name && plugin.enable) vault.settings.corePlugins;
}) corePlugins
)
);
}
]
++ builtins.map (plugin: {
name = "${vault.target}/.obsidian/${plugin.name}.json";
value.source = (pkgs.formats.json { }).generate "${plugin.name}.json" plugin.options;
}) (builtins.filter (plugin: plugin.options != { }) vault.settings.corePlugins);
mkCommunityPlugins =
vault:
[
{
name = "${vault.target}/.obsidian/community-plugins.json";
value.source = (pkgs.formats.json { }).generate "community-plugins.json" (
builtins.map getManifest (builtins.filter (plugin: plugin.enable) vault.settings.communityPlugins)
);
}
]
++ builtins.map (plugin: {
name = "${vault.target}/.obsidian/plugins/${getManifest plugin}";
value = {
source = plugin.pkg;
recursive = true;
};
}) vault.settings.communityPlugins
++ builtins.map (plugin: {
name = "${vault.target}/.obsidian/plugins/${getManifest plugin}/data.json";
value.source = (pkgs.formats.json { }).generate "data.json" plugin.options;
}) (builtins.filter (plugin: plugin.options != { }) vault.settings.communityPlugins);
mkCssSnippets =
vault:
builtins.map (snippet: {
name = "${vault.target}/.obsidian/snippets/${snippet.name}.css";
value =
if snippet.source != null then { inherit (snippet) source; } else { inherit (snippet) text; };
}) vault.settings.cssSnippets;
mkThemes =
vault:
builtins.map (theme: {
name = "${vault.target}/.obsidian/themes/${getManifest theme}";
value.source = theme.pkg;
}) vault.settings.themes;
mkHotkeys = vault: {
name = "${vault.target}/.obsidian/hotkeys.json";
value.source = (pkgs.formats.json { }).generate "hotkeys.json" vault.settings.hotkeys;
};
mkExtraFiles =
vault:
builtins.map (file: {
name = "${vault.target}/.obsidian/${file.target}";
value = if file.source != null then { inherit (file) source; } else { inherit (file) text; };
}) (builtins.attrValues vault.settings.extraFiles);
in
builtins.listToAttrs (
lib.lists.flatten (
builtins.map (vault: [
(mkApp vault)
(mkAppearance vault)
(mkCorePlugins vault)
(mkCommunityPlugins vault)
(mkCssSnippets vault)
(mkThemes vault)
(mkHotkeys vault)
(mkExtraFiles vault)
]) vaults
)
);
};
xdg.configFile."obsidian/obsidian.json".source = (pkgs.formats.json { }).generate "obsidian.json" {
vaults = builtins.listToAttrs (
builtins.map (vault: {
name = builtins.hashString "md5" vault.target;
value = {
path = "${config.home.homeDirectory}/${vault.target}";
} // (lib.attrsets.optionalAttrs ((builtins.length vaults) == 1) { open = true; });
}) vaults
);
updateDisabled = true;
};
assertions = [
{
assertion = builtins.all (
vault:
builtins.all (snippet: snippet.source == null || snippet.text == null) vault.settings.cssSnippets
) (builtins.attrValues cfg.vaults);
message = "Only one of `source` and `text` must be set";
}
{
assertion = builtins.all (
vault:
builtins.all (file: file.source == null || file.text == null) (
builtins.attrValues vault.settings.extraFiles
)
) (builtins.attrValues cfg.vaults);
message = "Only one of `source` and `text` must be set";
}
];
};
}

View File

@@ -0,0 +1,88 @@
{
"minimal-style@@base@@light": "{{colors.surface.light.hex}}",
"minimal-style@@base@@dark": "{{colors.surface.dark.hex}}",
"minimal-style@@bg1@@light": "{{colors.surface.light.hex}}",
"minimal-style@@bg1@@dark": "{{colors.surface.dark.hex}}",
"minimal-style@@bg2@@light": "{{colors.surface_container.light.hex}}",
"minimal-style@@bg2@@dark": "{{colors.surface_container.dark.hex}}",
"minimal-style@@bg3@@light": "{{colors.surface_container_highest.light.hex}}",
"minimal-style@@bg3@@dark": "{{colors.surface_container_highest.dark.hex}}",
"minimal-style@@ui1@@light": "{{colors.outline_variant.light.hex}}",
"minimal-style@@ui1@@dark": "{{colors.outline_variant.dark.hex}}",
"minimal-style@@ui2@@light": "{{colors.outline.light.hex}}",
"minimal-style@@ui2@@dark": "{{colors.outline.dark.hex}}",
"minimal-style@@ui3@@light": "{{colors.primary.light.hex}}",
"minimal-style@@ui3@@dark": "{{colors.primary.dark.hex}}",
"minimal-style@@ax1@@light": "{{colors.primary.light.hex}}",
"minimal-style@@ax1@@dark": "{{colors.primary.dark.hex}}",
"minimal-style@@ax2@@light": "{{colors.on_primary_container.light.hex}}",
"minimal-style@@ax2@@dark": "{{colors.on_primary_container.dark.hex}}",
"minimal-style@@ax3@@light": "{{colors.primary.light.hex}}",
"minimal-style@@ax3@@dark": "{{colors.primary.dark.hex}}",
"minimal-style@@sp1@@light": "{{colors.on_primary_container.light.hex}}",
"minimal-style@@sp1@@dark": "{{colors.on_primary_container.dark.hex}}",
"minimal-style@@color-red@@light": "{{colors.red.light.hex}}",
"minimal-style@@color-red@@dark": "{{colors.red.dark.hex}}",
"minimal-style@@color-orange@@light": "{{colors.orange.light.hex}}",
"minimal-style@@color-orange@@dark": "{{colors.orange.dark.hex}}",
"minimal-style@@color-yellow@@light": "{{colors.yellow.light.hex}}",
"minimal-style@@color-yellow@@dark": "{{colors.yellow.dark.hex}}",
"minimal-style@@color-green@@light": "{{colors.green.light.hex}}",
"minimal-style@@color-green@@dark": "{{colors.green.dark.hex}}",
"minimal-style@@color-cyan@@light": "{{colors.cyan.light.hex}}",
"minimal-style@@color-cyan@@dark": "{{colors.cyan.dark.hex}}",
"minimal-style@@color-blue@@light": "{{colors.blue.light.hex}}",
"minimal-style@@color-blue@@dark": "{{colors.blue.dark.hex}}",
"minimal-style@@color-purple@@light": "{{colors.magenta.light.hex}}",
"minimal-style@@color-purple@@dark": "{{colors.magenta.dark.hex}}",
"minimal-style@@color-pink@@light": "{{colors.pink.light.hex}}",
"minimal-style@@color-pink@@dark": "{{colors.pink.dark.hex}}",
"minimal-style@@blockquote-color@@light": "{{colors.on_surface_variant.light.hex}}",
"minimal-style@@blockquote-color@@dark": "{{colors.on_surface_variant.dark.hex}}",
"minimal-style@@canvas-dot-pattern@@light": "{{colors.outline_variant.light.hex}}",
"minimal-style@@canvas-dot-pattern@@dark": "{{colors.outline_variant.dark.hex}}",
"minimal-style@@tag-color@@light": "{{colors.on_primary_container.light.hex}}",
"minimal-style@@tag-color@@dark": "{{colors.on_primary_container.dark.hex}}",
"minimal-style@@tag-background@@light": "{{colors.primary_container.light.hex}}",
"minimal-style@@tag-background@@dark": "{{colors.primary_container.dark.hex}}",
"minimal-style@@tag-background-hover@@light": "{{colors.on_primary.light.hex}}",
"minimal-style@@tag-background-hover@@dark": "{{colors.on_primary.dark.hex}}",
"minimal-style@@tx1@@light": "{{colors.on_surface.light.hex}}",
"minimal-style@@tx1@@dark": "{{colors.on_surface.dark.hex}}",
"minimal-style@@tx2@@light": "{{colors.on_surface_variant.light.hex}}",
"minimal-style@@tx2@@dark": "{{colors.on_surface_variant.dark.hex}}",
"minimal-style@@tx3@@light": "{{colors.outline.light.hex}}",
"minimal-style@@tx3@@dark": "{{colors.outline.dark.hex}}",
"minimal-style@@hl1@@light": "{{colors.primary_container.light.hex}}",
"minimal-style@@hl1@@dark": "{{colors.primary_container.dark.hex}}",
"minimal-style@@text-formattin@@light": "{{colors.outline_variant.light.hex}}",
"minimal-style@@text-formattin@@dark": "{{colors.outline_variant.dark.hex}}",
"minimal-style@@code-comment@@light": "{{colors.outline.light.hex}}",
"minimal-style@@code-comment@@dark": "{{colors.outline.dark.hex}}",
"minimal-style@@code-function@@light": "{{colors.functions.light.hex}}",
"minimal-style@@code-function@@dark": "{{colors.functions.dark.hex}}",
"minimal-style@@code-keyword@@light": "{{colors.keywords.light.hex}}",
"minimal-style@@code-keyword@@dark": "{{colors.keywords.dark.hex}}",
"minimal-style@@code-important@@light": "{{colors.info.light.hex}}",
"minimal-style@@code-important@@dark": "{{colors.info.dark.hex}}",
"minimal-style@@code-property@@light": "{{colors.properties.light.hex}}",
"minimal-style@@code-property@@dark": "{{colors.properties.dark.hex}}",
"minimal-style@@code-string@@light": "{{colors.strings.light.hex}}",
"minimal-style@@code-string@@dark": "{{colors.strings.dark.hex}}",
"minimal-style@@code-tag@@light": "{{colors.properties.light.hex}}",
"minimal-style@@code-tag@@dark": "{{colors.properties.dark.hex}}",
"minimal-style@@code-value@@light": "{{colors.numbers.light.hex}}",
"minimal-style@@code-value@@dark": "{{colors.numbers.dark.hex}}",
"minimal-style@@image-radius": "{{custom.radius}}",
"minimal-style@@blockquote-border-thickness": 4,
"minimal-style@@minimal-code-scroll": true,
"minimal-style@@h1-l": true,
"minimal-style@@h2-l": true,
"minimal-style@@image-muted": 1,
"minimal-style@@active-line-on": true,
"minimal-style@@minimal-strike-lists": true,
"minimal-style@@metadata-heading-off": true,
"minimal-style@@metadata-icons-off": true,
"minimal-style@@hide-help": true,
"minimal-style@@row-hover": true
}