feat: sioye config

This commit is contained in:
Barrett Ruth 2026-02-11 13:14:54 -05:00
parent 3cc16b3e9d
commit d969b351f1
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
8 changed files with 142 additions and 45 deletions

View file

@ -13,31 +13,40 @@ let
enableSioyek = true;
enableVesktop = true;
enableNeovim = config.programs.neovim.enable;
sioyek-wrapped = pkgs.symlinkJoin {
name = "sioyek";
paths = [ pkgs.sioyek ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/sioyek \
--set QT_QPA_PLATFORM xcb
'';
};
repoDir = "${config.home.homeDirectory}/.config/nix";
in
{
home.sessionVariables =
lib.optionalAttrs enableZen {
BROWSER = "zen";
}
// lib.optionalAttrs enableClaude {
CLAUDE_CONFIG_DIR = "${config.xdg.configHome}/claude";
};
home.sessionVariables = lib.mkMerge [
(lib.mkIf enableZen { BROWSER = "zen"; })
(lib.mkIf enableClaude { CLAUDE_CONFIG_DIR = "${config.xdg.configHome}/claude"; })
];
programs.mpv.enable = true;
home.packages =
with pkgs;
[
home.packages = lib.mkMerge [
(with pkgs; [
signal-desktop
slack
bitwarden-desktop
gemini-cli
typst
]
++ lib.optionals enableClaude [ claude-code ]
++ lib.optionals enableZen [ zen-browser.packages.${hostPlatform}.default ]
++ lib.optionals enableSioyek [ sioyek ]
++ lib.optionals enableVesktop [ vesktop ];
])
(lib.mkIf enableClaude [ pkgs.claude-code ])
(lib.mkIf enableZen [ zen-browser.packages.${hostPlatform}.default ])
(lib.mkIf enableSioyek [ sioyek-wrapped ])
(lib.mkIf enableVesktop [ pkgs.vesktop ])
];
xdg.configFile."claude/settings.json" = lib.mkIf enableClaude {
text = builtins.toJSON {
@ -53,21 +62,37 @@ in
};
xdg.configFile."claude/CLAUDE.md" = lib.mkIf enableClaude {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/claude/CLAUDE.md";
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/CLAUDE.md";
};
xdg.configFile."claude/rules" = lib.mkIf enableClaude {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/claude/rules";
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/rules";
};
xdg.configFile."claude/skills" = lib.mkIf enableClaude {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/claude/skills";
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/skills";
};
xdg.configFile."sioyek/keys_user.config" = lib.mkIf enableSioyek {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/keys_user.config";
};
xdg.configFile."sioyek/prefs_user.config" = lib.mkIf enableSioyek {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/prefs_user.config";
};
xdg.configFile."sioyek/themes/midnight.config" = lib.mkIf enableSioyek {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/themes/midnight.config";
};
xdg.configFile."sioyek/themes/daylight.config" = lib.mkIf enableSioyek {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/themes/daylight.config";
};
home.activation.linkZenProfile = lib.mkIf enableZen (
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
zen_config="$HOME/.zen"
repo_zen="${config.home.homeDirectory}/.config/nix/config/zen"
repo_zen="${repoDir}/config/zen"
if [ ! -d "$zen_config" ]; then
exit 0
@ -114,22 +139,22 @@ in
xdg.mimeApps = {
enable = true;
defaultApplications =
{ }
// lib.optionalAttrs enableZen {
defaultApplications = lib.mkMerge [
(lib.mkIf enableZen {
"x-scheme-handler/http" = "zen.desktop";
"x-scheme-handler/https" = "zen.desktop";
"text/html" = "zen.desktop";
}
// lib.optionalAttrs enableNeovim {
})
(lib.mkIf enableNeovim {
"text/plain" = "nvim.desktop";
}
// lib.optionalAttrs enableSioyek {
})
(lib.mkIf enableSioyek {
"application/pdf" = "sioyek.desktop";
"application/epub+zip" = "sioyek.desktop";
}
// lib.optionalAttrs enableVesktop {
})
(lib.mkIf enableVesktop {
"x-scheme-handler/discord" = "vesktop.desktop";
};
})
];
};
}

View file

@ -89,6 +89,7 @@ in
$DRY_RUN_CMD ln -sf "$cfg/hypr/themes/$theme.conf" "$cfg/hypr/themes/theme.conf"
$DRY_RUN_CMD ln -sf "$cfg/waybar/themes/$theme.css" "$cfg/waybar/themes/theme.css"
$DRY_RUN_CMD ln -sf "$cfg/rofi/themes/$theme.rasi" "$cfg/rofi/themes/theme.rasi"
$DRY_RUN_CMD ln -sf "$cfg/sioyek/themes/$theme.config" "$cfg/sioyek/themes/theme.config"
'';
};
}