{ user ? throw "user argument is required", }: { config, lib, pkgs, ... }: { home-manager.users.${user.name} = { imports = [ ./options.nix ]; programs.obsidian = { enable = true; sharedSettings = { app = { defaultViewMode = "preview"; livePreview = false; readableLineLength = false; showLineNumber = true; tabSize = 2; promptDelete = false; trashOption = "local"; alwaysUpdateLinks = true; newFileLocation = "folder"; newFileFolderPath = "inbox"; newLinkFormat = "absolute"; showUnsupportedFiles = true; attachmentFolderPath = "./assets"; }; corePlugins = [ "bookmarks" "canvas" "command-palette" "editor-status" "file-explorer" "global-search" "graph" "note-composer" "outgoing-link" "outline" "page-preview" "slash-command" "switcher" "tag-pane" ]; cssSnippets = [ ./snippets/editor-monospace.css ./snippets/file-explorer-separators.css ]; theme = import ./themes/minimal.nix { inherit pkgs; }; }; }; home.persistence."/cache${user.home}".directories = [ ".config/obsidian" ]; }; }