From 381a06acdfa49cf25f6861a8c203480e6d7ab4f1 Mon Sep 17 00:00:00 2001 From: Natalie Date: Thu, 12 Jun 2025 15:14:43 -0700 Subject: [PATCH] various things i forgot to commit --- modules/home/default.nix | 2 +- users/natalie/laptop/configuration.nix | 2 + users/natalie/user.nix | 2 +- users/natalie/vim.nix | 4 + users/natalie/vim/coq.nix | 16 ++++ users/natalie/vim/default.nix | 2 + users/natalie/vim/keybinds.nix | 1 - users/natalie/vim/languages.nix | 104 ++++++++++++++++--------- users/natalie/vim/mini.nix | 9 +++ users/natalie/vim/visuals.nix | 16 ++++ 10 files changed, 120 insertions(+), 38 deletions(-) create mode 100644 users/natalie/vim/coq.nix create mode 100644 users/natalie/vim/mini.nix diff --git a/modules/home/default.nix b/modules/home/default.nix index 98635b4..773ddfe 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -86,8 +86,8 @@ in }; shellInit = '' batman --export-env | source + test -r '/Users/${user.username}/.opam/opam-init/init.fish' && source '/Users/${user.username}/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true ''; - ##test -r '/Users/${user.username}/.opam/opam-init/init.fish' && source '/Users/${user.username}/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true }; }; } diff --git a/users/natalie/laptop/configuration.nix b/users/natalie/laptop/configuration.nix index 1d8bff8..73243ce 100644 --- a/users/natalie/laptop/configuration.nix +++ b/users/natalie/laptop/configuration.nix @@ -10,6 +10,8 @@ macAppStoreApps = [ "wireguard" ]; }; + system.defaults.NSGlobalDomain."com.apple.trackpad.scaling" = 1.0; + # Create /etc/zshrc that loads the nix-darwin environment. programs = { gnupg.agent.enable = true; diff --git a/users/natalie/user.nix b/users/natalie/user.nix index 3eeea53..318a692 100644 --- a/users/natalie/user.nix +++ b/users/natalie/user.nix @@ -7,7 +7,7 @@ rec { browser = "firefox"; # Default browser; must select one from ./user/app/browser/ term = "ghostty"; # Default terminal command; font = "iosevka"; # Selected font - editor = "neovim"; # Default editor; + editor = "nvim"; # Default editor; timeZone = "America/Los_Angeles"; sexuality = "bisexual"; } diff --git a/users/natalie/vim.nix b/users/natalie/vim.nix index c1427ee..a642b93 100644 --- a/users/natalie/vim.nix +++ b/users/natalie/vim.nix @@ -4,6 +4,10 @@ ./vim/default.nix ]; vim = { + #enable python provider + withPython3 = true; + python3Packages = [ "pynvim" ]; + options = { tabstop = 2; softtabstop = 2; diff --git a/users/natalie/vim/coq.nix b/users/natalie/vim/coq.nix new file mode 100644 index 0000000..a0ddbba --- /dev/null +++ b/users/natalie/vim/coq.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + + vim = { + # extraPackages = with pkgs; [ + # coq_8_20 + # coqPackages_8_20.stdlib + # ]; + extraPlugins.Coqtail = { + # enabled = true; + package = pkgs.vimPlugins.Coqtail; + # lazy = true; + # ft = "coq"; + }; + }; +} diff --git a/users/natalie/vim/default.nix b/users/natalie/vim/default.nix index 9afa34b..8c7f50b 100644 --- a/users/natalie/vim/default.nix +++ b/users/natalie/vim/default.nix @@ -5,6 +5,8 @@ ./languages.nix ./latex.nix ./lean.nix + ./coq.nix ./visuals.nix + ./mini.nix ]; } diff --git a/users/natalie/vim/keybinds.nix b/users/natalie/vim/keybinds.nix index 619dec4..7ea6545 100644 --- a/users/natalie/vim/keybinds.nix +++ b/users/natalie/vim/keybinds.nix @@ -19,7 +19,6 @@ in (mkKeymap "n" "ff" ":lua require('snacks').picker.files()" "Find File") (mkKeymap "n" "fg" ":lua require('snacks').picker.grep()" "Grep Files") # Lsp - (mkKeymap "n" "K" ":Lspsaga hover_doc" "Hover docs") (mkKeymap "n" "lr" ":lua vim.lsp.buf.rename()" "Rename") # (mkKeymap "n" "th" ":lua function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end" "Toggle Inlay Hints") ]; diff --git a/users/natalie/vim/languages.nix b/users/natalie/vim/languages.nix index 077a138..7ef549c 100644 --- a/users/natalie/vim/languages.nix +++ b/users/natalie/vim/languages.nix @@ -5,49 +5,57 @@ pkgs, ... }: -let - darwin = if host.darwin then "darwin" else "nixos"; - flakePath = "/${if host.darwin then "Users" else "home"}/${user.username}/.dotfiles"; - - # BIG HACK DO NOT DO PLS - - hostname = if host.darwin then "Natalies-MacBook-Air" else "nixos"; -in { vim = { extraPackages = with pkgs; [ python312Packages.pylatexenc + nixd ]; lsp = { lightbulb.enable = false; - lspsaga = { - enable = true; - setupOpts = { - lightbulb = { - virtual_text = false; + # lspsaga = { + # enable = true; + # setupOpts = { + # lightbulb = { + # virtual_text = false; + # }; + # }; + # }; + inlayHints.enable = true; + servers = { + nil = { + settings.nil.nix.flake = { + + autoArchive = true; + autoEvalInputs = true; + }; }; - }; - nvim-docs-view.enable = true; - inlayHints.enable = true; - servers.nixd.settings.nixd = { - nixpkgs.expr = ''import "" { }''; - options = - { - home-manager = { - expr = ''(builtins.getFlake "${flakePath}").${darwin}Configurations.${hostname}.options.home-manager.users.type.getSubOptions [ ]''; - }; - } - // pkgs.lib.optionalAttrs host.darwin { - nix-darwin = { - expr = ''(builtins.getFlake "${flakePath}").darwinConfigurations.${hostname}.options''; - }; - } - // pkgs.lib.optionalAttrs host.linux { - nixos = { - expr = ''(builtins.getFlake "${flakePath}").nixosConfigurations.${hostname}.options''; - }; + nixd = { + settings.nixd = { + nixpkgs.expr = ''import "${flake.inputs.nixpkgs}" { }''; + + options = + { + home-manager = { + expr = ''(let pkgs = import "${flake.inputs.nixpkgs}" { }; lib = import "${flake.inputs.home-manager}/modules/lib/stdlib-extended.nix" pkgs.lib; in (lib.evalModules { modules = (import "${flake.inputs.home-manager}/modules/modules.nix") { inherit lib pkgs;check = false;}; })).options''; + # (builtins.getFlake "${flakePath}").${darwin}Configurations.${hostname}.options.home-manager.users.type.getSubOptions [ ]''; + }; + } + // pkgs.lib.optionalAttrs host.darwin { + nix-darwin = { + expr = ''(let pkgs = import "${flake.inputs.nixpkgs}" { }; in (pkgs.lib.evalModules { modules = (import "${flake.inputs.darwin}/modules/module-list.nix"); check = false;})).options''; + # (builtins.getFlake "${flakePath}").darwinConfigurations.${hostname}.options''; + }; + } + // pkgs.lib.optionalAttrs host.linux { + nixos = { + expr = ''(let pkgs = import "${flake.inputs.nixpkgs}" { }; in (pkgs.lib.evalModules { modules = (import "${flake.inputs.nixpkgs}/nixos/modules/module-list.nix"); check = false;})).options''; + # (builtins.getFlake "${flakePath}").nixosConfigurations.${hostname}.options''; + }; + }; }; + }; }; mappings = { codeAction = "ca"; @@ -55,7 +63,7 @@ in goToDefinition = "gd"; listReferences = "gr"; goToType = "gy"; - hover = null; + hover = "K"; nextDiagnostic = "d"; openDiagnosticFloat = "df"; renameSymbol = "rn"; @@ -91,7 +99,6 @@ in }; }; }; - diagnostics = { enable = true; config = { @@ -177,5 +184,32 @@ in }; }; }; + + lazy.plugins."blink.pairs" = { + enabled = true; + package = pkgs.vimPlugins.blink-pairs; + setupModule = "blink.pairs"; + setupOpts = { + mappings = { + # -- you can call require("blink.pairs.mappings").enable() and require("blink.pairs.mappings").disable() to enable/disable mappings at runtime + enabled = true; + # -- see the defaults: https://github.com/Saghen/blink.pairs/blob/main/lua/blink/pairs/config/mappings.lua#L10 + pairs = [ ]; + }; + highlights = { + enabled = true; + groups = [ + "BlinkPairsOrange" + "BlinkPairsPurple" + "BlinkPairsBlue" + ]; + matchparen = { + enabled = true; + group = "MatchParen"; + }; + }; + debug = false; + }; + }; }; } diff --git a/users/natalie/vim/mini.nix b/users/natalie/vim/mini.nix new file mode 100644 index 0000000..269036b --- /dev/null +++ b/users/natalie/vim/mini.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + vim = { + mini = { + icons.enable = true; + ai.enable = true; + }; + }; +} diff --git a/users/natalie/vim/visuals.nix b/users/natalie/vim/visuals.nix index 9cb6d77..357fb36 100644 --- a/users/natalie/vim/visuals.nix +++ b/users/natalie/vim/visuals.nix @@ -7,6 +7,22 @@ }; }; ui = { + noice = { + enable = true; + setupOpts = { + lsp = { + progress.enabled = false; + signature.enabled = true; + }; + presets = { + lsp_doc_border = true; + long_message_to_split = true; + inc_rename = false; + command_palette = false; + bottom_search = true; + }; + }; + }; borders = { enable = true; };