50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
# === WGU / Academic software ===
|
|
home.packages = with pkgs; [
|
|
# Reference manager
|
|
zotero
|
|
|
|
# Browsers
|
|
brave
|
|
|
|
# Note-taking
|
|
obsidian
|
|
|
|
# Code editor
|
|
vscode
|
|
|
|
# Document preparation
|
|
typst
|
|
tinymist # LSP (tinymist binary speaks typst-lsp protocol)
|
|
pandoc
|
|
|
|
# Password manager (LastPass has no Linux native client — use Bitwarden)
|
|
bitwarden-desktop
|
|
bitwarden-cli
|
|
];
|
|
|
|
# === VS Code config (Typst LSP) ===
|
|
home.file.".config/Code/User/settings.json".text = builtins.toJSON {
|
|
"typst-lsp.serverPath" = "${pkgs.tinymist}/bin/tinymist";
|
|
"editor.fontFamily" = "JetBrainsMono Nerd Font";
|
|
"editor.fontSize" = 14;
|
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
};
|
|
|
|
# === Neovim LSP for Typst ===
|
|
# Tinymist binary speaks the typst-lsp protocol — plug into nvim-lspconfig
|
|
home.file.".config/nvim/lua/lsp/typst.lua".text = ''
|
|
return {
|
|
cmd = { "${pkgs.tinymist}/bin/tinymist" },
|
|
filetypes = { "typst" },
|
|
root_markers = { ".git", "flake.nix" },
|
|
single_file_support = true,
|
|
settings = {
|
|
exportPdf = "onSave",
|
|
outputPath = "$root/out/$name.pdf",
|
|
},
|
|
}
|
|
'';
|
|
}
|