Personal Nix flake
nixos home-manager nix
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(neovim): Add custom animotion plugin

+56 -3
+1 -1
nix/flakeModules/ezConfigs.nix
··· 10 10 root = "${self}/nix"; 11 11 in { 12 12 inherit root; 13 - globalArgs = {inherit inputs;}; 13 + globalArgs = {inherit inputs self;}; 14 14 nixos = rec { 15 15 configurationsDirectory = "${root}/nixos/configs"; 16 16 modulesDirectory = "${root}/nixos/modules";
+7
nix/home/modules/cli/editors/neovim/default.nix
··· 2 2 config, 3 3 lib, 4 4 pkgs, 5 + self, 5 6 ... 6 7 }: let 7 8 cfg = config.my.cli.editors.neovim; ··· 15 16 config = lib.mkIf cfg.enable { 16 17 programs.nixvim = { 17 18 enable = true; 19 + imports = [./nixvimPlugins]; 18 20 globals = { 19 21 mapleader = "<Space>"; 20 22 maplocalleader = "<Space>"; ··· 23 25 ignorecase = true; 24 26 smartcase = true; 25 27 }; 28 + nixpkgs.overlays = [self.overlays.vimPlugins]; 26 29 keymaps = [ 27 30 { 28 31 mode = ""; ··· 33 36 } 34 37 ]; 35 38 plugins = { 39 + animotion = { 40 + enable = true; 41 + mode = "helix"; 42 + }; 36 43 coq = { 37 44 enable = true; 38 45 settings.auto_start = true;
+18
nix/home/modules/cli/editors/neovim/nixvimPlugins/animotion.nix
··· 1 + {lib, ...}: 2 + lib.nixvim.plugins.mkNeovimPlugin { 3 + name = "animotion"; 4 + moduleName = "AniMotion"; 5 + package = "animotion"; 6 + 7 + settingsOptions = { 8 + mode = lib.mkOption { 9 + type = lib.types.enum ["animotion" "helix" "nvim"]; 10 + default = "animotion"; 11 + description = "See https://github.com/luiscassih/AniMotion.nvim?tab=readme-ov-file#different-modes"; 12 + }; 13 + }; 14 + 15 + url = "https://github.com/luiscassih/AniMotion.nvim"; 16 + description = "A Neovim plugin that implements selection-first text editing"; 17 + maintainers = [lib.maintainers.lpchaim]; 18 + }
+5
nix/home/modules/cli/editors/neovim/nixvimPlugins/default.nix
··· 1 + { 2 + imports = [ 3 + ./animotion.nix 4 + ]; 5 + }
+1
nix/legacyPackages/default.nix
··· 12 12 legacyPackages = { 13 13 ci.matrix = callPackage ./ciMatrix.nix {inherit (args.inputs) self;}; 14 14 scripts = callPackageRecursive ./scripts {inherit (self'.legacyPackages.pkgs) writeNuScriptStdinBin;}; 15 + vimPlugins = callPackageRecursive ./vimPlugins {}; 15 16 }; 16 17 }; 17 18 }
+15
nix/legacyPackages/vimPlugins/animotion.nix
··· 1 + { 2 + fetchFromGitHub, 3 + vimUtils, 4 + ... 5 + }: 6 + vimUtils.buildVimPlugin { 7 + pname = "animotion"; 8 + version = "unstable-2026-02-27"; 9 + src = fetchFromGitHub { 10 + owner = "luiscassih"; 11 + repo = "AniMotion.nvim"; 12 + rev = "main"; 13 + hash = "sha256-Ro+Nic4v2oR60p/rE3vm0iDCNU+EtkSKAiTHkp19WB8="; 14 + }; 15 + }
+2 -2
nix/overlays/packages.nix
··· 1 - {inputs, ...}: final: prev: let 1 + {self, ...}: final: prev: let 2 2 inherit (prev.stdenv.hostPlatform) system; 3 3 in 4 - inputs.self.packages.${system} or {} 4 + self.packages.${system} or {}
+7
nix/overlays/vimPlugins.nix
··· 1 + {self, ...}: final: prev: let 2 + inherit (prev.stdenv.hostPlatform) system; 3 + in { 4 + vimPlugins = 5 + prev.vimPlugins 6 + // self.legacyPackages.${system}.vimPlugins or {}; 7 + }