nvim config, mostly

This commit is contained in:
Vivian 2025-05-05 15:04:48 +02:00
parent 529a7e7767
commit fc075254bb
17 changed files with 499 additions and 771 deletions

View file

@ -20,7 +20,7 @@
./hm-modules
inputs.nixvim.homeManagerModules.nixvim
inputs.autostart.homeManagerModules.xdg-autostart
inputs.catppuccin.homeManagerModules.catppuccin
inputs.catppuccin.homeModules.catppuccin
inputs.autostart.homeManagerModules.xdg-autostart
];
};

View file

@ -7,9 +7,6 @@
let
tex = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-full;
dnd-5e-latex-template = {
pkgs = [ pkgs.v.dnd-5e-latex-template ];
};
};
my-python-packages =
ps: with ps; [
@ -29,7 +26,7 @@ in
home.packages = with pkgs; [
(python3.withPackages my-python-packages)
btop
# calibre
calibre
celluloid # video player
element-desktop
fusee-launcher
@ -38,20 +35,16 @@ in
gimp
comma
discord
jetbrains.rust-rover
kdenlive
tex
# jetbrains.rust-rover
# libreoffice
mattermost-desktop
neofetch
nixpkgs-review
obsidian
spotify
qmk
solo2-cli
tex
unzip
yt-dlp
# z3
obsidian
(lib.hiPrio (pkgs.writeShellScriptBin "obsidian" ''
@ -59,16 +52,6 @@ in
${pkgs.obsidian}/bin/obsidian
''))
];
#
# xdg.desktopEntries = {
# obsidian = {
# name = "Obsidian";
# genericName = "Markdown Editor";
# exec = "obsidian";
# terminal = false;
# };
# };
# Enable my own hm modules
themes.v.catppuccin.enable = true;
programs = {
@ -106,7 +89,6 @@ in
};
};
xdg.autoStart = {
packages = with pkgs; [
element-desktop

View file

@ -20,13 +20,8 @@ in
waybar.enable = false;
mako.enable = true;
mako.enable = false;
rofi.enable = true;
# gtk = {
# enable = true;
# gnomeShellTheme = true;
# icon.enable = false;
# };
hyprland.enable = true;
kitty.enable = true;
@ -34,11 +29,11 @@ in
kvantum.enable = true;
};
home.pointerCursor = {
name = "Bibata_Ghost";
size = 24;
package = pkgs.bibata-cursors-translucent;
};
# home.pointerCursor = {
# name = "Bibata_Ghost";
# size = 24;
# package = pkgs.bibata-cursors-translucent;
# };
programs.kitty = {
# themeFile = "Catppuccin-Frappe";
@ -51,9 +46,9 @@ in
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme.override { color = "violet"; };
};
cursorTheme = {
inherit (config.home.pointerCursor) name package size;
};
# cursorTheme = {
# inherit (config.home.pointerCursor) name package size;
# };
};
qt = {
@ -63,9 +58,5 @@ in
platformTheme.name = "kvantum";
};
programs.vscode = {
userSettings."workbench.colorTheme" = "Catppuccin Frappé";
extensions = [ pkgs.vscode-extensions.catppuccin.catppuccin-vsc ];
};
};
}

View file

@ -44,6 +44,11 @@ with lib;
shiftwidth = 2;
smartindent = true;
title = true;
spell = true;
spelllang = "en_gb";
};
clipboard.providers.wl-copy.enable = true;
@ -61,22 +66,34 @@ with lib;
plugins = {
nvim-surround.enable = true;
dap.enable = true;
image = {
vimwiki = {
enable = true;
backend = "kitty";
settings = {
list = [
{
ext = ".md";
path = "~/cloud/Notes/";
syntax = "markdown";
}
];
};
};
image = {
enable = false;
settings.backend = "kitty";
};
web-devicons.enable = true;
bufferline.enable = true;
nix.enable = true;
luasnip.enable = true;
typst-vim.enable = true;
startup = {
enable = true;
theme = "my_theme";
};
obsidian = {
enable = true;
enable = false;
settings = {
new_notes_location = "notes_subdir";
notes_subdir = "Unsorted";
@ -94,35 +111,18 @@ with lib;
nvim_cmp = true;
};
picker.name = "telescope.nvim";
# note_id_func = ''
# function(title)
# -- Create note IDs in a Zettelkasten format with a timestamp and a suffix.
# -- In this case a note with the title 'My new note' will be given an ID that looks
# -- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md'
# local suffix = ""
# if title ~= nil then
# -- If title is given, transform it into valid file name.
# suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
# else
# -- If title is nil, just add 4 random uppercase letters to the suffix.
# for _ = 1, 4 do
# suffix = suffix .. string.char(math.random(65, 90))
# end
# end
# return tostring(os.time()) .. "-" .. suffix
# end
# '';
};
};
fidget = {
enable = true;
progress = {
ignoreDoneAlready = true;
ignore = [ "ltex" ];
display.doneTtl = 5;
};
notification = {
overrideVimNotify = true;
settings = {
progress = {
ignore = [ "ltex" ];
display.done_ttl = 5;
};
notification = {
override_vim_notify = true;
};
};
};
neotest = {
@ -156,6 +156,10 @@ with lib;
settings.options.theme = "catppuccin";
};
oil = {
enable = true;
};
telescope = {
enable = true;
settings.defaults.preview.ls_short = true;
@ -169,9 +173,11 @@ with lib;
extensions.fzf-native.enable = true;
extensions.fzf-native.settings.fuzzy = true;
extensions.frecency.enable = true;
extensions.ui-select.enable = true;
};
comment.enable = true;
vimtex.enable = true;
vimtex.enable = false;
typst-preview.enable = true;
floaterm.enable = true;
cmp = {
enable = true;

View file

@ -38,11 +38,11 @@
key = "<leader>fr";
action = ":Telescope frecency<CR>";
}
{
mode = "n";
key = "<leader>ob";
action = mkRaw "require('obsidian_picker').obsidian_picker";
}
# {
# mode = "n";
#key = "<leader>ob";
# action = mkRaw "require('obsidian_picker').obsidian_picker";
#}
# Commenting
{
mode = "n";
@ -140,7 +140,18 @@
{
mode = "n";
key = "<M-CR>";
action = ":Lspsaga code_action<CR>";
action = mkRaw "vim.lsp.buf.code_action";
}
{
mode = "n";
key = "<leader>e";
action = mkRaw "vim.diagnostic.open_float";
}
# oil
{
mode = "n";
key = "-";
action = "<CMD>Oil<CR>";
}
];
}

View file

@ -3,7 +3,6 @@
plugins = {
rustaceanvim = {
enable = true;
rustAnalyzerPackage = pkgs.rust-analyzer;
settings = {
auto_attach = true;
@ -70,6 +69,7 @@
clangd.enable = true;
yamlls.enable = true;
lua_ls.enable = true;
tinymist.enable = true;
};
};

View file

@ -28,6 +28,7 @@ in
[build]
rustc-wrapper = "${pkgs.sccache}/bin/sccache"
[profile.rust-analyzer]
inherits = "dev"
'';

View file

@ -16,70 +16,69 @@ in
programs.vscode = {
enable = true;
package = pkgs.vscode;
userSettings = {
"ltex.language" = "en-GB";
"latex-workshop.linting.chktex.enabled" = true;
"latex-workshop.latex.clean.subfolder.enabled" = true;
"latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
"editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace";
"keyboard.dispatch" = "keyCode";
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
"rust-analyzer.check.extraArgs" = [
"--profile"
"rust-analyzer"
];
"rust-analyzer.check.command" = "clippy";
"terminal.integrated.defaultProfile.linux" = "zsh";
"nix.enableLanguageServer" = true; # Enable LSP.
"nix.serverPath" = "${pkgs.nil}/bin/nil";
"[nix]" = {
"editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
};
"[python]" = {
"editor.formatOnType" = true;
};
"debug.allowBreakpointsEverywhere" = true;
"C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}";
# "crates.compatibleDecorator" = "✓";
# "crates.errorDecorator" = "✗";
# "crates.incompatibleDecorator" = "🛇";
profiles.default = {
userSettings = {
"ltex.language" = "en-GB";
"latex-workshop.linting.chktex.enabled" = true;
"latex-workshop.latex.clean.subfolder.enabled" = true;
"latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
"editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace";
"keyboard.dispatch" = "keyCode";
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
"rust-analyzer.check.extraArgs" = [
"--profile"
"rust-analyzer"
];
"rust-analyzer.check.command" = "clippy";
"terminal.integrated.defaultProfile.linux" = "zsh";
"nix.enableLanguageServer" = true; # Enable LSP.
"nix.serverPath" = "${pkgs.nil}/bin/nil";
"[nix]" = {
"editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
};
"[python]" = {
"editor.formatOnType" = true;
};
"debug.allowBreakpointsEverywhere" = true;
"C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}";
# "crates.compatibleDecorator" = "✓";
# "crates.errorDecorator" = "✗";
# "crates.incompatibleDecorator" = "🛇";
# Verilog
"verilog.formatting.verilogHDL.formatter" = "verible-verilog-format";
"verilog.languageServer.svls.enabled" = true;
"verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls";
"verilog.languageServer.veribleVerilogLs.enabled" = true;
"verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls";
"verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format";
"verilog.linting.linter" = "verilator";
"verilog.linting.path" = "${pkgs.verilator}/bin/verilator";
"[verilog]" = {
"editor.defaultFormatter" = "mshr-h.veriloghdl";
};
# Verilog
"verilog.formatting.verilogHDL.formatter" = "verible-verilog-format";
"verilog.languageServer.svls.enabled" = true;
"verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls";
"verilog.languageServer.veribleVerilogLs.enabled" = true;
"verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls";
"verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format";
"verilog.linting.linter" = "verilator";
"verilog.linting.path" = "${pkgs.verilator}/bin/verilator";
"[verilog]" = {
"editor.defaultFormatter" = "mshr-h.veriloghdl";
};
# Don't index unecessary things
"files.exclude" = {
"**/.vscode" = true;
"**/.git" = true;
"**/.svn" = true;
"**/.hg" = true;
"**/.deps" = true;
"**/CVS" = true;
"**/.DS_Store" = true;
"/bin" = true;
"/boot" = true;
"/cdrom" = true;
"/dev" = true;
"/proc" = true;
"/etc" = true;
"/nix" = true;
# Don't index unecessary things
"files.exclude" = {
"**/.vscode" = true;
"**/.git" = true;
"**/.svn" = true;
"**/.hg" = true;
"**/.deps" = true;
"**/CVS" = true;
"**/.DS_Store" = true;
"/bin" = true;
"/boot" = true;
"/cdrom" = true;
"/dev" = true;
"/proc" = true;
"/etc" = true;
"/nix" = true;
};
};
};
extensions =
with pkgs.vscode-extensions;
[
extensions = with pkgs.vscode-extensions; [
brettm12345.nixfmt-vscode
catppuccin.catppuccin-vsc
# catppuccin.catppuccin-vsc
codezombiech.gitignore
codezombiech.gitignore
davidlday.languagetool-linter
@ -109,6 +108,7 @@ in
xaver.clang-format
continue.continue
];
};
};
};

View file

@ -28,7 +28,6 @@
eval "$(${pkgs.fzf}/bin/fzf --zsh)"
export TEMPDIRS="$HOME/tmp"
source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh"
'';
# otherwise it'll override the grml prompt
promptInit = lib.mkDefault "";