mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 11:02:37 +00:00 
			
		
		
		
	feat: rename extra.nix -> configuration.nix
		
	This commit is contained in:
		
					parent
					
						
							
								4980ccbd46
							
						
					
				
			
			
				commit
				
					
						00f801a23f
					
				
			
		
					 3 changed files with 3 additions and 3 deletions
				
			
		
							
								
								
									
										237
									
								
								configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										237
									
								
								configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,237 @@ | |||
| inputs: let | ||||
|   modulesWithInputs = import ./modules inputs; | ||||
| 
 | ||||
|   neovimConfiguration = { | ||||
|     modules ? [], | ||||
|     pkgs, | ||||
|     lib ? pkgs.lib, | ||||
|     check ? true, | ||||
|     extraSpecialArgs ? {}, | ||||
|   }: | ||||
|     modulesWithInputs { | ||||
|       inherit pkgs lib check extraSpecialArgs; | ||||
|       configuration.imports = modules; | ||||
|     }; | ||||
| 
 | ||||
|   tidalConfig = { | ||||
|     config.vim.languages.tidal.enable = true; | ||||
|   }; | ||||
| 
 | ||||
|   mainConfig = isMaximal: { | ||||
|     config = { | ||||
|       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.debugger = { | ||||
|         nvim-dap = { | ||||
|           enable = true; | ||||
|           ui.enable = true; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       vim.languages = { | ||||
|         enableLSP = true; | ||||
|         enableFormat = true; | ||||
|         enableTreesitter = true; | ||||
|         enableExtraDiagnostics = true; | ||||
| 
 | ||||
|         nix.enable = true; | ||||
|         html.enable = isMaximal; | ||||
|         clang.enable = isMaximal; | ||||
|         sql.enable = isMaximal; | ||||
|         rust = { | ||||
|           enable = isMaximal; | ||||
|           crates.enable = true; | ||||
|         }; | ||||
|         ts.enable = isMaximal; | ||||
|         svelte.enable = isMaximal; | ||||
|         go.enable = isMaximal; | ||||
|         zig.enable = isMaximal; | ||||
|         python.enable = isMaximal; | ||||
|         dart.enable = isMaximal; | ||||
|         elixir.enable = isMaximal; | ||||
|       }; | ||||
| 
 | ||||
|       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; | ||||
|           showCurrContext = true; | ||||
|         }; | ||||
|         cursorWordline = { | ||||
|           enable = true; | ||||
|           lineTimeout = 0; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       vim.statusline = { | ||||
|         lualine = { | ||||
|           enable = true; | ||||
|           theme = "catppuccin"; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       vim.theme = { | ||||
|         enable = true; | ||||
|         name = "catppuccin"; | ||||
|         style = "mocha"; | ||||
|         transparent = false; | ||||
|       }; | ||||
|       vim.autopairs.enable = true; | ||||
| 
 | ||||
|       vim.autocomplete = { | ||||
|         enable = true; | ||||
|         type = "nvim-cmp"; | ||||
|       }; | ||||
| 
 | ||||
|       vim.filetree = { | ||||
|         nvimTreeLua = { | ||||
|           enable = true; | ||||
|           renderer = { | ||||
|             rootFolderLabel = null; | ||||
|           }; | ||||
|           view = { | ||||
|             width = 25; | ||||
|             cursorline = false; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       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 = false; # throws an annoying debug message | ||||
|       }; | ||||
| 
 | ||||
|       vim.minimap = { | ||||
|         minimap-vim.enable = false; | ||||
|         codewindow.enable = isMaximal; # lighter, faster, and uses lua for configuration | ||||
|       }; | ||||
| 
 | ||||
|       vim.dashboard = { | ||||
|         dashboard-nvim.enable = false; | ||||
|         alpha.enable = isMaximal; | ||||
|       }; | ||||
| 
 | ||||
|       vim.notify = { | ||||
|         nvim-notify.enable = true; | ||||
|       }; | ||||
| 
 | ||||
|       vim.projects = { | ||||
|         project-nvim.enable = true; | ||||
|       }; | ||||
| 
 | ||||
|       vim.utility = { | ||||
|         ccc.enable = isMaximal; | ||||
|         vim-wakatime.enable = isMaximal; | ||||
|         icon-picker.enable = isMaximal; | ||||
|         surround.enable = isMaximal; | ||||
|         diffview-nvim.enable = true; | ||||
|         motion = { | ||||
|           hop.enable = true; | ||||
|           leap.enable = true; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       vim.notes = { | ||||
|         obsidian.enable = false; # FIXME neovim fails to build if obsidian is enabled | ||||
|         orgmode.enable = false; | ||||
|         mind-nvim.enable = true; | ||||
|         todo-comments.enable = true; | ||||
|       }; | ||||
| 
 | ||||
|       vim.terminal = { | ||||
|         toggleterm = { | ||||
|           enable = true; | ||||
|           lazygit.enable = true; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       vim.ui = { | ||||
|         noice.enable = true; | ||||
|         colorizer.enable = true; | ||||
|         modes-nvim.enable = false; # the theme looks terrible with catppuccin | ||||
|         illuminate.enable = true; | ||||
|         smartcolumn = { | ||||
|           enable = true; | ||||
|           columnAt.languages = { | ||||
|             # this is a freeform module, it's `buftype = int;` for configuring column position | ||||
|             nix = 110; | ||||
|             ruby = 120; | ||||
|             java = 130; | ||||
|             go = [90 130]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       vim.assistant = { | ||||
|         copilot.enable = isMaximal; | ||||
|       }; | ||||
| 
 | ||||
|       vim.session = { | ||||
|         nvim-session-manager.enable = isMaximal; | ||||
|       }; | ||||
| 
 | ||||
|       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"; | ||||
|           show_time = true; | ||||
|           rich_presence = { | ||||
|             editing_text = "Editing %s"; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| in { | ||||
|   inherit neovimConfiguration mainConfig tidalConfig; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue