home-manager: modularize home configurations
This commit is contained in:
parent
ac9918c759
commit
552cc4f144
16 changed files with 261 additions and 227 deletions
146
modules/home-manager/vscode.nix
Normal file
146
modules/home-manager/vscode.nix
Normal file
|
@ -0,0 +1,146 @@
|
|||
{ inputs, config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom-hm.vscode;
|
||||
in
|
||||
{
|
||||
options.custom-hm.vscode = {
|
||||
enable = mkEnableOption "Vscode config";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
pkgs.wl-clipboard-x11
|
||||
];
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
mutableExtensionsDir = false;
|
||||
extensions = (with inputs.nix-vscode-extensions.extensions.${pkgs.system}.vscode-marketplace; [
|
||||
mkhl.direnv
|
||||
|
||||
bbenoist.nix
|
||||
ms-azuretools.vscode-docker
|
||||
ms-vscode-remote.remote-ssh
|
||||
vscodevim.vim
|
||||
github.vscode-pull-request-github
|
||||
eamodio.gitlens
|
||||
gruntfuggly.todo-tree # todo highlight
|
||||
|
||||
# Language support
|
||||
# Python
|
||||
ms-python.python
|
||||
# Markdown
|
||||
davidanson.vscode-markdownlint
|
||||
# C/C++
|
||||
ms-vscode.cmake-tools
|
||||
llvm-vs-code-extensions.vscode-clangd
|
||||
# Nix
|
||||
jnoortheen.nix-ide
|
||||
# Latex
|
||||
james-yu.latex-workshop
|
||||
# Vue
|
||||
vue.volar
|
||||
# Scale / chisel
|
||||
scalameta.metals
|
||||
|
||||
sterben.fpga-support
|
||||
|
||||
ms-vscode-remote.remote-ssh-edit
|
||||
mushan.vscode-paste-image
|
||||
]) ++ (with pkgs.vscode-extensions; [
|
||||
catppuccin.catppuccin-vsc
|
||||
# Rust
|
||||
rust-lang.rust-analyzer
|
||||
github.copilot
|
||||
]);
|
||||
userSettings = {
|
||||
"workbench.colorTheme" = "Catppuccin Macchiato";
|
||||
"terminal.integrated.sendKeybindingsToShell" = true;
|
||||
"extensions.ignoreRecommendations" = true;
|
||||
"files.autoSave" = "afterDelay";
|
||||
"editor.inlineSuggest.enabled" = true;
|
||||
"editor.rulers" = [
|
||||
80
|
||||
];
|
||||
"editor.mouseWheelZoom" = true;
|
||||
"git.autofetch" = true;
|
||||
"window.zoomLevel" = -1;
|
||||
|
||||
"nix.enableLanguageServer" = true;
|
||||
|
||||
"latex-workshop.latex.autoBuild.run" = "never";
|
||||
"latex-workshop.latex.tools" = [
|
||||
{
|
||||
"name" = "xelatex";
|
||||
"command" = "xelatex";
|
||||
"args" = [
|
||||
"-synctex=1"
|
||||
"-interaction=nonstopmode"
|
||||
"-file-line-error"
|
||||
"-pdf"
|
||||
"%DOCFILE%"
|
||||
];
|
||||
}
|
||||
{
|
||||
"name" = "pdflatex";
|
||||
"command" = "pdflatex";
|
||||
"args" = [
|
||||
"-synctex=1"
|
||||
"-interaction=nonstopmode"
|
||||
"-file-line-error"
|
||||
"%DOCFILE%"
|
||||
];
|
||||
}
|
||||
{
|
||||
"name" = "bibtex";
|
||||
"command" = "bibtex";
|
||||
"args" = [
|
||||
"%DOCFILE%"
|
||||
];
|
||||
}
|
||||
];
|
||||
"latex-workshop.latex.recipes" = [
|
||||
{
|
||||
"name" = "xelatex";
|
||||
"tools" = [
|
||||
"xelatex"
|
||||
];
|
||||
}
|
||||
{
|
||||
"name" = "pdflatex";
|
||||
"tools" = [
|
||||
"pdflatex"
|
||||
];
|
||||
}
|
||||
{
|
||||
"name" = "xe->bib->xe->xe";
|
||||
"tools" = [
|
||||
"xelatex"
|
||||
"bibtex"
|
||||
"xelatex"
|
||||
"xelatex"
|
||||
];
|
||||
}
|
||||
{
|
||||
"name" = "pdf->bib->pdf->pdf";
|
||||
"tools" = [
|
||||
"pdflatex"
|
||||
"bibtex"
|
||||
"pdflatex"
|
||||
"pdflatex"
|
||||
];
|
||||
}
|
||||
];
|
||||
"[latex]" = {
|
||||
"editor.formatOnPaste" = false;
|
||||
"editor.suggestSelection" = "recentlyusedbyprefix";
|
||||
"editor.wordWrap" = "bounded";
|
||||
"editor.wordWrapColumn" = 80;
|
||||
"editor.unicodeHighlight.ambiguousCharacters" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue