aboutsummaryrefslogtreecommitdiff
path: root/homes/floppydisk/nvf.nix
diff options
context:
space:
mode:
Diffstat (limited to 'homes/floppydisk/nvf.nix')
-rw-r--r--homes/floppydisk/nvf.nix253
1 files changed, 253 insertions, 0 deletions
diff --git a/homes/floppydisk/nvf.nix b/homes/floppydisk/nvf.nix
new file mode 100644
index 0000000..a8fb245
--- /dev/null
+++ b/homes/floppydisk/nvf.nix
@@ -0,0 +1,253 @@
+{
+ inputs,
+ pkgs,
+ ...
+}: {
+ imports = [
+ inputs.nvf.homeManagerModules.default
+ ];
+
+ programs.nvf = {
+ enable = true;
+ settings = {
+ vim = {
+ viAlias = true;
+ vimAlias = true;
+ debugMode = {
+ enable = false;
+ level = 20;
+ logFile = "/tmp/nvim.log";
+ };
+ };
+
+ vim.lsp = {
+ formatOnSave = true;
+ lspkind.enable = false;
+ lightbulb.enable = true;
+ lspsaga.enable = false;
+ nvimCodeActionMenu.enable = true;
+ trouble.enable = true;
+ lspSignature.enable = true;
+ };
+
+ vim.languages = {
+ enableLSP = true;
+ enableFormat = true;
+ enableTreesitter = true;
+ enableExtraDiagnostics = true;
+
+ nix.enable = true;
+ html.enable = true;
+ clang.enable = false;
+ sql.enable = false;
+ rust = {
+ enable = false;
+ crates.enable = false;
+ };
+ ts.enable = true;
+ go.enable = true;
+ zig.enable = false;
+ python.enable = false;
+ dart.enable = false;
+ elixir.enable = false;
+ };
+
+ vim.visuals = {
+ enable = true;
+ nvimWebDevicons.enable = true;
+ scrollBar.enable = true;
+ smoothScroll.enable = true;
+ cellularAutomaton.enable = true;
+ fidget-nvim.enable = true;
+ indentBlankline = {
+ enable = true;
+ fillChar = null;
+ eolChar = null;
+ scope.enabled = true;
+ };
+ cursorline = {
+ enable = true;
+ lineTimeout = 0;
+ };
+ };
+
+ vim.statusline = {
+ lualine = {
+ enable = true;
+ theme = "onedark";
+ };
+ };
+
+ vim.theme = {
+ enable = true;
+ name = "onedark";
+ style = "dark";
+ transparent = false;
+ };
+ vim.autopairs.enable = true;
+
+ vim.autocomplete = {
+ enable = true;
+ type = "nvim-cmp";
+ };
+
+ vim.filetree = {
+ nvimTree = {
+ enable = true;
+ openOnSetup = true;
+ setupOpts = {
+ disable_netrw = true;
+
+ hijack_unnamed_buffer_when_opening = true;
+ hijack_cursor = true;
+ hijack_directories = {
+ enable = true;
+ autoOpen = true;
+ };
+
+ git = {
+ enable = true;
+ showOnDirs = false;
+ timeout = 100;
+ };
+
+ view = {
+ cursorline = false;
+ width = {
+ min = 35;
+ max = -1;
+ padding = 1;
+ };
+ };
+
+ renderer = {
+ indent_markers.enable = true;
+ root_folder_label = false;
+
+ icons = {
+ modified_placement = "after";
+ git_placement = "after";
+ show.git = true;
+ show.modified = true;
+ };
+ };
+
+ diagnostics.enable = true;
+
+ modified = {
+ enable = true;
+ show_on_dirs = false;
+ show_on_open_dirs = true;
+ };
+ };
+
+ mappings = {
+ toggle = "<C-w>";
+ };
+ };
+ };
+
+ vim.tabline = {
+ nvimBufferline.enable = true;
+ };
+
+ vim.treesitter.context.enable = true;
+
+ vim.binds = {
+ whichKey.enable = true;
+ cheatsheet.enable = true;
+ };
+
+ vim.telescope.enable = true;
+
+ vim.git = {
+ enable = true;
+ gitsigns.enable = true;
+ gitsigns.codeActions.enable = false;
+ };
+
+ vim.minimap = {
+ minimap-vim.enable = false;
+ codewindow.enable = true; # lighter, faster, and uses lua for configuration
+ };
+
+ vim.dashboard = {
+ dashboard-nvim.enable = false;
+ alpha.enable = true;
+ };
+
+ vim.notify = {
+ nvim-notify.enable = true;
+ };
+
+ vim.projects = {
+ project-nvim.enable = true;
+ };
+
+ vim.utility = {
+ ccc.enable = true;
+ icon-picker.enable = true;
+ diffview-nvim.enable = true;
+ motion = {
+ hop.enable = true;
+ leap.enable = false;
+ };
+ vim-wakatime = {
+ enable = true;
+ cli-package = pkgs.wakatime;
+ };
+ };
+
+ vim.notes = {
+ mind-nvim.enable = true;
+ todo-comments.enable = true;
+ };
+
+ vim.terminal = {
+ toggleterm.enable = true;
+ };
+
+ vim.ui = {
+ noice.enable = true;
+ smartcolumn = {
+ enable = true;
+ setupOpts.custom_colorcolumn = {
+ nix = 150;
+ ruby = 110;
+ java = 120;
+ go = [110 150];
+ };
+ };
+ };
+
+ vim.assistant = {
+ copilot.enable = true;
+ };
+
+ vim.session = {
+ nvim-session-manager.enable = true;
+ };
+
+ vim.gestures = {
+ gesture-nvim.enable = false;
+ };
+
+ vim.comments = {
+ comment-nvim.enable = true;
+ };
+
+ #vim.presence = {
+ # presence-nvim = {
+ # enable = true;
+ # auto_update = true;
+ # image_text = "The Superior Text Editor";
+ # client_id = "793271441293967371";
+ # main_image = "neovim";
+ # rich_presence = {
+ # editing_text = "Editing %s";
+ # };
+ # };
+ #};
+ };
+ };
+}