default.nix 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. { pkgs, inputs, ... }:
  2. let
  3. dired-nvim = pkgs.vimUtils.buildVimPlugin {
  4. name = "dired.nvim";
  5. src = pkgs.fetchFromGitHub {
  6. owner = "X3eRo0";
  7. repo = "dired.nvim";
  8. rev = "master";
  9. sha256 = "sha256-cPbfSoVxKlsUaiHMJ74FROL+9KnZRE4Ed+n823gc/04=";
  10. };
  11. dependencies = [ pkgs.vimPlugins.nui-nvim ];
  12. };
  13. in
  14. {
  15. imports = [
  16. inputs.nixvim.homeModules.nixvim
  17. ];
  18. programs.nixvim = {
  19. enable = true;
  20. nixpkgs.config.allowUnfree = true;
  21. opts = {
  22. number = true;
  23. relativenumber = true;
  24. shiftwidth = 4;
  25. };
  26. keymaps = [
  27. {
  28. mode = [ "i" "v" "c" ];
  29. key = "<F12>";
  30. action = "<C-c>";
  31. }
  32. {
  33. mode = [ "i" "v" "c" ];
  34. key = "<Esc>";
  35. action = "<Nop>";
  36. }
  37. {
  38. mode = [ "n" "v" ];
  39. key = "ø";
  40. action = ":";
  41. }
  42. {
  43. mode = [ "n" "v" ];
  44. key = ":";
  45. action = "<Nop>";
  46. }
  47. ];
  48. colorscheme = "retrobox";
  49. plugins = {
  50. visual-multi.enable = true;
  51. barbar = {
  52. enable = true;
  53. settings = {
  54. pinned = {
  55. button = false;
  56. };
  57. icons = {
  58. button = false;
  59. modified.button = false;
  60. buffer_index = false;
  61. filetype = {
  62. custom_colors = false;
  63. enabled = true;
  64. };
  65. };
  66. };
  67. };
  68. web-devicons.enable = true;
  69. };
  70. extraPlugins = with pkgs.vimPlugins; [
  71. nui-nvim
  72. dired-nvim
  73. ];
  74. extraConfigLua = ''
  75. require("dired").setup({
  76. path_separator = "/",
  77. show_hidden = true,
  78. show_icons = true,
  79. })
  80. '';
  81. };
  82. }