mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 02:52:37 +00:00 
			
		
		
		
	ui/edgy-nvim: init
This commit is contained in:
		
					parent
					
						
							
								a56a83bd46
							
						
					
				
			
			
				commit
				
					
						a2e757440e
					
				
			
		
					 6 changed files with 80 additions and 0 deletions
				
			
		
							
								
								
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -508,6 +508,22 @@ | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "plugin-edgy-nvim": { | ||||||
|  |       "flake": false, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1725089082, | ||||||
|  |         "narHash": "sha256-KP8lA+HU3xtX5gOigROva65bf7YH+12EVPM185riJTk=", | ||||||
|  |         "owner": "folke", | ||||||
|  |         "repo": "edgy.nvim", | ||||||
|  |         "rev": "7e8dedc39abebe40c289b8012cc89b11c69aa7a0", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "folke", | ||||||
|  |         "repo": "edgy.nvim", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "plugin-elixir-tools": { |     "plugin-elixir-tools": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|  | @ -1807,6 +1823,7 @@ | ||||||
|         "plugin-diffview-nvim": "plugin-diffview-nvim", |         "plugin-diffview-nvim": "plugin-diffview-nvim", | ||||||
|         "plugin-dracula": "plugin-dracula", |         "plugin-dracula": "plugin-dracula", | ||||||
|         "plugin-dressing-nvim": "plugin-dressing-nvim", |         "plugin-dressing-nvim": "plugin-dressing-nvim", | ||||||
|  |         "plugin-edgy-nvim": "plugin-edgy-nvim", | ||||||
|         "plugin-elixir-tools": "plugin-elixir-tools", |         "plugin-elixir-tools": "plugin-elixir-tools", | ||||||
|         "plugin-fastaction-nvim": "plugin-fastaction-nvim", |         "plugin-fastaction-nvim": "plugin-fastaction-nvim", | ||||||
|         "plugin-fidget-nvim": "plugin-fidget-nvim", |         "plugin-fidget-nvim": "plugin-fidget-nvim", | ||||||
|  |  | ||||||
|  | @ -565,6 +565,11 @@ | ||||||
|       flake = false; |       flake = false; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |     plugin-edgy-nvim = { | ||||||
|  |       url = "github:folke/edgy.nvim"; | ||||||
|  |       flake = false; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     # Assistant |     # Assistant | ||||||
|     plugin-chatgpt = { |     plugin-chatgpt = { | ||||||
|       url = "github:jackMort/ChatGPT.nvim"; |       url = "github:jackMort/ChatGPT.nvim"; | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
|     ./notifications |     ./notifications | ||||||
|     ./smartcolumn |     ./smartcolumn | ||||||
|     ./colorizer |     ./colorizer | ||||||
|  |     ./edgy-nvim | ||||||
|     ./illuminate |     ./illuminate | ||||||
|     ./breadcrumbs |     ./breadcrumbs | ||||||
|     ./borders |     ./borders | ||||||
|  |  | ||||||
							
								
								
									
										30
									
								
								modules/plugins/ui/edgy-nvim/config.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								modules/plugins/ui/edgy-nvim/config.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   inherit (lib.modules) mkIf; | ||||||
|  |   inherit (lib.strings) optionalString; | ||||||
|  |   inherit (lib.nvim.dag) entryBefore; | ||||||
|  |   inherit (lib.nvim.lua) toLuaObject; | ||||||
|  | 
 | ||||||
|  |   cfg = config.vim.ui.edgy-nvim; | ||||||
|  | in { | ||||||
|  |   config = mkIf cfg.enable { | ||||||
|  |     vim = { | ||||||
|  |       startPlugins = ["edgy-nvim"]; | ||||||
|  |       pluginRC.edgy-nvim = entryBefore ["basic"] '' | ||||||
|  |         ${optionalString cfg.setRecommendedNeovimOpts '' | ||||||
|  |           -- Neovim options recommended by upstream. | ||||||
|  |           -- Views can only be fully collapsed with the global statusline. | ||||||
|  |           vim.o.laststatus = 3 | ||||||
|  |           -- Default splitting will cause your main splits to jump when opening an edgebar. | ||||||
|  |           -- To prevent this, set `splitkeep` to either `screen` or `topline`. | ||||||
|  |           vim.o.splitkeep = "screen" | ||||||
|  |         ''} | ||||||
|  | 
 | ||||||
|  |         require('edgy').setup(${toLuaObject cfg.setupOpts}) | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								modules/plugins/ui/edgy-nvim/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								modules/plugins/ui/edgy-nvim/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | { | ||||||
|  |   imports = [ | ||||||
|  |     ./edgy-nvim.nix | ||||||
|  |     ./config.nix | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										21
									
								
								modules/plugins/ui/edgy-nvim/edgy-nvim.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								modules/plugins/ui/edgy-nvim/edgy-nvim.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | ||||||
|  | {lib, ...}: let | ||||||
|  |   inherit (lib.options) mkOption mkEnableOption; | ||||||
|  |   inherit (lib.types) bool; | ||||||
|  |   inherit (lib.nvim.types) mkPluginSetupOption; | ||||||
|  | in { | ||||||
|  |   options.vim.ui.edgy-nvim = { | ||||||
|  |     enable = mkEnableOption "edgy.nvim for predefined window layouts"; | ||||||
|  |     setRecommendedNeovimOpts = mkOption { | ||||||
|  |       type = bool; | ||||||
|  |       default = false; | ||||||
|  |       description = '' | ||||||
|  |         Whether nvf should set `vim.opt.laststatus` and `vim.opt.splitkeep` to | ||||||
|  |         values recommended by upstream to ensure maximum compatibility. | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     setupOpts = mkPluginSetupOption "edgy" { | ||||||
|  |       animate.enabled = mkEnableOption "animation support. Requires an animation library such as `mini.animate`"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue