nvim: updates for using nvim again~

This commit is contained in:
Kate 2024-12-04 09:51:24 -07:00
parent 87dd388c21
commit 6d6408c895
6 changed files with 124 additions and 93 deletions

View file

@ -234,10 +234,10 @@
( (
module: module:
( (
{ deprekages, ... }: { deprekages, nil, ... }:
{ {
home-manager.config = home-manager.config =
{ pkgs, ... }@specialArgs: (import module) (specialArgs // { inherit deprekages; }); { pkgs, ... }@specialArgs: (import module) (specialArgs // { inherit deprekages nil; });
} }
) )
) )
@ -245,10 +245,10 @@
( (
module: module:
( (
{ deprekages, ... }: { deprekages, nil, ... }:
{ {
home-manager.users.deprekated = home-manager.users.deprekated =
{ pkgs, ... }@specialArgs: (import module) (specialArgs // { inherit deprekages; }); { pkgs, ... }@specialArgs: (import module) (specialArgs // { inherit deprekages nil; });
} }
) )
) )

View file

@ -25,7 +25,10 @@
xdg.configFile.looking-glass.source = ../../looking-glass; xdg.configFile.looking-glass.source = ../../looking-glass;
# neovim # neovim
xdg.configFile.nvim.source = ../../nvim; xdg.configFile.nvim = {
source = ../../nvim;
recursive = true;
};
# tmux # tmux
xdg.configFile.tmux.source = ../../tmux; xdg.configFile.tmux.source = ../../tmux;

View file

@ -1,103 +1,109 @@
# #
# Visual Studio Code + Dance (kakoune mode) Experiments # Visual Studio Code + Dance (kakoune mode) Experiments
# #
{ pkgs, deprekages, lib, ... }: {
pkgs,
deprekages,
lib,
nil,
...
}:
let let
# Simple helper to de-stringify invalid tokens. # Simple helper to de-stringify invalid tokens.
author = name: pkgs.vscode-extensions.${name}; author = name: pkgs.vscode-extensions.${name};
# Forces a package to be marked as having linux-aarch64 support. # Forces a package to be marked as having linux-aarch64 support.
forceArmLinux = pkg: pkg.overrideAttrs (prev: { forceArmLinux =
meta.platforms = prev.meta.platforms ++ [ "aarch64-linux" ]; pkg:
}); pkg.overrideAttrs (prev: {
meta.platforms = prev.meta.platforms ++ [ "aarch64-linux" ];
});
in in
{ {
programs.vscode = {
enable = true;
programs.vscode = { #
enable = true; # Extensions to include with vscode.
#
extensions = with (pkgs.vscode-extensions // deprekages.vscode-extensions); [
# Requires a qualified name due to the leading '1'.
(author "1Password").op-vscode
# # appearance
# Extensions to include with vscode. oderwat.indent-rainbow
# brandonkirbyson.solarized-palenight
extensions = with (pkgs.vscode-extensions // deprekages.vscode-extensions); [
# Requires a qualified name due to the leading '1'.
(author "1Password").op-vscode
# appearance # behavior
oderwat.indent-rainbow usernamehw.errorlens
brandonkirbyson.solarized-palenight asvetliakov.vscode-neovim
editorconfig.editorconfig
# behavior # general add-ons
#gregoire.dance adpyke.codesnap
usernamehw.errorlens ms-toolsai.jupyter
reykjalin.vscode-kakoune ms-vscode.hexeditor
editorconfig.editorconfig ms-vscode.cmake-tools
ms-vscode.makefile-tools
streetsidesoftware.code-spell-checker
# general add-ons # nix
adpyke.codesnap jnoortheen.nix-ide
ms-toolsai.jupyter arrterian.nix-env-selector
ms-vscode.hexeditor brettm12345.nixfmt-vscode
ms-vscode.cmake-tools
ms-vscode.makefile-tools
streetsidesoftware.code-spell-checker
# nix # rust
jnoortheen.nix-ide fill-labs.dependi
arrterian.nix-env-selector rust-lang.rust-analyzer
brettm12345.nixfmt-vscode
# rust
fill-labs.dependi
rust-lang.rust-analyzer
njpwerner.autodocstring njpwerner.autodocstring
# python # python
(forceArmLinux ms-python.python) (forceArmLinux ms-python.python)
# c/c++ # c/c++
ms-vscode.cpptools ms-vscode.cpptools
# misc languages # misc languages
golang.go golang.go
graphql.vscode-graphql graphql.vscode-graphql
graphql.vscode-graphql-syntax graphql.vscode-graphql-syntax
# accessibility / talon, for when our neuro condition is wonk # accessibility / talon, for when our neuro condition is wonk
pokey.talon pokey.talon
pokey.cursorless pokey.cursorless
pokey.parse-tree pokey.parse-tree
pokey.command-server pokey.command-server
]; ];
# #
# Keybindings. # Keybindings.
# #
keybindings = [ keybindings = [
{ {
key = "shift shift"; key = "shift shift";
command = "workbench.action.quickOpen"; command = "workbench.action.quickOpen";
} }
{ {
key = "alt alt"; key = "alt alt";
command = "workbench.action.quickOpen"; command = "workbench.action.quickOpen";
} }
{ {
key = "ctrl ctrl"; key = "ctrl ctrl";
command = "workbench.action.showCommands"; command = "workbench.action.showCommands";
} }
]; ];
# #
# VSCode settings; runtime settings are immutable. # VSCode settings; runtime settings are immutable.
# #
userSettings = { userSettings = {
# Theming. # Theming.
"workbench.colorTheme" = lib.mkForce "Solarized-Palenight"; "workbench.colorTheme" = lib.mkForce "Solarized-Palenight";
# Default to formatting on save. # Default to formatting on save.
"editor.formatOnSave" = true; "editor.formatOnSave" = true;
# Curosrless: don't show decorations until asked. # Curosrless: don't show decorations until asked.
"cursorless.showOnStart" = false; "cursorless.showOnStart" = false;
@ -106,15 +112,32 @@ in
# mostly focuses around folks using screen readers. # mostly focuses around folks using screen readers.
"editor.accessibilitySupport" = "off"; "editor.accessibilitySupport" = "off";
# #
# Rust # Rust
# #
"rust-analyzer.checkOnSave.command" = "clippy"; "rust-analyzer.checkOnSave.command" = "clippy";
# #
# Spell Checking # Nix
# #
"cSpell.userWords" = [ "nix.enableLanguageServer" = true;
"nix.serverPath" = "${nil.nil}/bin/nil";
"nix.formatterPath" = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
"[nix]"."editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
#
# Neovim.
#
# Make it so the plugin is performant.
"extensions.experimental.affinity" = {
"asvetliakov.vscode-neovim" = 1;
};
#
# Spell Checking
#
"cSpell.userWords" = [
"serdes" "serdes"
"ktemkin" "ktemkin"
"kadkins" "kadkins"
@ -124,16 +147,15 @@ in
"hieratika" "hieratika"
]; ];
}; };
# #
# For now, let Nix manage everything. # For now, let Nix manage everything.
# #
enableUpdateCheck = false; enableUpdateCheck = false;
enableExtensionUpdateCheck = false; enableExtensionUpdateCheck = false;
mutableExtensionsDir = false;
mutableExtensionsDir = false; };
};
} }

View file

@ -271,7 +271,7 @@ in
boot.swraid.enable = true; boot.swraid.enable = true;
boot.swraid.mdadmConf = '' boot.swraid.mdadmConf = ''
MAILADDR kate@ktemk.in MAILADDR kate@deprekated.net
ARRAY /dev/md/nixos:0 level=raid0 num-devices=2 metadata=1.2 UUID=325ee7dc:7fcc6062:635e902f:af2552dc ARRAY /dev/md/nixos:0 level=raid0 num-devices=2 metadata=1.2 UUID=325ee7dc:7fcc6062:635e902f:af2552dc
devices=/dev/nvme0n1p1,/dev/nvme1n1p1 devices=/dev/nvme0n1p1,/dev/nvme1n1p1
''; '';

View file

@ -11,20 +11,26 @@ require("lazy").setup({
spec = { spec = {
-- add LazyVim and import its plugins -- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" }, { "LazyVim/LazyVim", import = "lazyvim.plugins" },
{ import = "lazyvim.plugins.extras.vscode" },
-- import any extras modules here -- import any extras modules here
-- { import = "lazyvim.plugins.extras.lang.typescript" }, -- { import = "lazyvim.plugins.extras.lang.typescript" },
-- { import = "lazyvim.plugins.extras.lang.json" }, -- { import = "lazyvim.plugins.extras.lang.json" },
-- { import = "lazyvim.plugins.extras.ui.mini-animate" }, -- { import = "lazyvim.plugins.extras.ui.mini-animate" },
-- import/override with your plugins -- import/override with your plugins
{ import = "plugins" }, { import = "plugins" },
}, },
defaults = { defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false, lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning, -- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install. -- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver -- version = "*", -- try installing the latest stable version for plugins that support semver
}, },
install = { colorscheme = { "tokyonight", "habamax" } }, install = { colorscheme = { "tokyonight", "habamax" } },

View file

@ -7,7 +7,7 @@ return {
vim.cmd([[ vim.cmd([[
colorscheme solarized8 colorscheme solarized8
" Make Solaried8 a biiiit darker. " Make Solarized8 a biiiit darker.
highlight Normal guibg=#001E27 highlight Normal guibg=#001E27
highlight LineNR ctermfg=11 guibg=#0B262D highlight LineNR ctermfg=11 guibg=#0B262D
]]) ]])