{
  pkgs,
  nixvim,
  ...
}: {
  home-manager.users.buffet = {
    imports = [
      nixvim.homeManagerModules.nixvim
    ];

    programs.nixvim = {
      enable = true;
      colorschemes.ayu.enable = true;

      plugins = {
        cmp.enable = true;
        cmp-async-path.enable = true;
        cmp-buffer.enable = true;
        cmp-calc.enable = true;
        cmp-conventionalcommits.enable = true;
        cmp-emoji.enable = true;
        cmp-nvim-lsp.enable = true;
        cmp-pandoc-nvim.enable = true;
        crates-nvim.enable = true;
        fugitive.enable = true;
        gitsigns = {
          enable = true;
          settings.current_line_blame = true;
        };
        lsp = {
          enable = true;
          servers = {
            clangd.enable = true;
            nil-ls.enable = true;
            pyright.enable = true;
            rust-analyzer = {
              enable = true;
              installCargo = true;
              installRustc = true;
              cargoPackage = pkgs.unstable.cargo;
              rustcPackage = pkgs.unstable.rustc;
            };
          };
        };
        lualine.enable = true;
        nix.enable = true;
        noice.enable = true;
        oil.enable = true;
        parinfer-rust.enable = true;
        persistence.enable = true;
        rust-tools.enable = true;
        startify.enable = true;
        telescope = {
          enable = true;
          extensions = {
            fzf-native = {
              enable = true;
            };
          };
        };
        treesitter.enable = true;
      };

      keymaps = [
        {
          action = "<cmd>Telescope find_files<cr>";
          key = "<space>f";
          mode = "n";
          options = {
            silent = true;
          };
        }
        {
          action = "<esc>";
          key = "kj";
          mode = "i";
        }
      ];
    };
  };
}