feat: configure obsidian with home-manager

This commit is contained in:
wi11-holdsworth 2025-09-17 11:24:46 +10:00
parent fa1a3decb5
commit fd65dc21ad
3 changed files with 123 additions and 2 deletions

View file

@ -5,6 +5,7 @@ in
{ {
config = lib.mkIf config.${feature}.enable { config = lib.mkIf config.${feature}.enable {
kitty.enable = true; kitty.enable = true;
obsidian.enable = true;
zellij.enable = true; zellij.enable = true;
}; };

View file

@ -0,0 +1,122 @@
{ config, lib, ... }:
let
feature = "obsidian";
in
{
config = lib.mkIf config.${feature}.enable {
programs.obsidian = {
enable = true;
defaultSettings = {
app = {
tabSize = 2;
trashOption = "local";
alwaysUpdateLinks = true;
attachmentFolderPath = "/";
defaultViewMode = "preview";
vimMode = true;
showLineNumber = true;
};
appearance = {
monospaceFontFamily = "JetBrainsMono Nerd Font";
interfaceFontFamily = "JetBrainsMono Nerd Font";
textFontFamily = "JetBrainsMono Nerd Font";
nativeMenus = false;
cssTheme = "Catppuccin";
showRibbon = false;
};
communityPlugins = [
"obsidian-livesync"
"oz-clear-unused-images"
"obsidian-editor-shortcuts"
"tag-wrangler"
"virtual-linker"
"pdf-plus"
"obsidian-excalidraw-plugin"
"obsidian-relative-line-numbers"
];
corePlugins = [
"backlink"
"bases"
"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"
"random-note"
"slash-command"
"slides"
"switcher"
"tag-pane"
"templates"
"word-count"
"workspaces"
"zk-prefixer"
];
hotkeys = {
"editor:swap-line-down" = [
{
"modifiers" = [ "Alt" ];
"key" = "ArrowDown";
}
];
"editor:swap-line-up" = [
{
"modifiers" = [ "Alt" ];
"key" = "ArrowUp";
}
];
"app:toggle-left-sidebar" = [
{
"modifiers" = [
"Mod"
"Shift"
];
"key" = "/";
}
];
"app:toggle-right-sidebar" = [
{
"modifiers" = [
"Mod"
"Shift"
];
"key" = "\\";
}
];
"window:reset-zoom" = [
{
"modifiers" = [ "Mod" ];
"key" = "0";
}
];
"app:go-back" = [
{
"modifiers" = [ "Alt" ];
"key" = "ArrowLeft";
}
];
"app:go-forward" = [
{
"modifiers" = [ "Alt" ];
"key" = "ArrowRight";
}
];
};
};
};
};
imports = [ ];
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
}

View file

@ -20,8 +20,6 @@ in
cameractrls-gtk3 cameractrls-gtk3
jellyfin-media-player jellyfin-media-player
# TODO: break out into separate configuration module # TODO: break out into separate configuration module
obsidian
# TODO: break out into separate configuration module
onlyoffice-desktopeditors onlyoffice-desktopeditors
sleek-todo sleek-todo
]; ];