my vim setup, as a nix flake
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.4KB

  1. {
  2. description = "tA's vim setup";
  3. inputs = {
  4. nixpkgs = {
  5. url = "github:NixOS/nixpkgs/nixos-unstable";
  6. };
  7. flake-utils = {
  8. url = "github:numtide/flake-utils";
  9. };
  10. rainbow-vim-src = {
  11. url = "github:luochen1990/rainbow";
  12. flake = false;
  13. };
  14. vim-racket-src = {
  15. url = "github:wlangstroth/vim-racket";
  16. flake = false;
  17. };
  18. slimv-src = {
  19. url = "github:kovisoft/slimv";
  20. flake = false;
  21. };
  22. idris2-src = {
  23. url = "github:edwinb/idris2-vim";
  24. flake = false;
  25. };
  26. };
  27. outputs = { self, nixpkgs, flake-utils, rainbow-vim-src
  28. , vim-racket-src, slimv-src, idris2-src, ... }:
  29. let
  30. customPlugins = pkgs: {
  31. rainbow-vim = pkgs.vimUtils.buildVimPlugin {
  32. name = "rainbow-vim";
  33. src = rainbow-vim-src;
  34. };
  35. vim-racket = pkgs.vimUtils.buildVimPlugin {
  36. name = "vim-racket";
  37. src = vim-racket-src;
  38. };
  39. slimv = pkgs.vimUtils.buildVimPlugin {
  40. name = "slimv";
  41. src = slimv-src;
  42. };
  43. idris2 = pkgs.vimUtils.buildVimPlugin {
  44. name = "idris2";
  45. src = idris2-src;
  46. };
  47. };
  48. in flake-utils.lib.eachDefaultSystem (system:
  49. let
  50. pkgs = import nixpkgs {
  51. overlays = [ ((import ./overlay.nix) customPlugins) ];
  52. inherit system;
  53. };
  54. in {
  55. defaultPackage = pkgs.ta.vim;
  56. }) // {
  57. overlay = (import ./overlay.nix) customPlugins;
  58. };
  59. }