forked from jan-leila/nix-config
		
	main #5
					 4 changed files with 91 additions and 44 deletions
				
			
		|  | @ -33,20 +33,8 @@ in { | |||
|               "editor.tabSize" = 2; | ||||
|               "editor.insertSpaces" = false; | ||||
|             } | ||||
|             (lib.mkIf nix-development-enabled { | ||||
|               "nix.enableLanguageServer" = true; | ||||
|               "nix.serverPath" = "nil"; | ||||
|               "[nix]" = { | ||||
|                 "editor.defaultFormatter" = "kamadorueda.alejandra"; | ||||
|                 "editor.formatOnPaste" = true; | ||||
|                 "editor.formatOnSave" = true; | ||||
|                 "editor.formatOnType" = true; | ||||
|               }; | ||||
|               "alejandra.program" = "alejandra"; | ||||
|             }) | ||||
|           ]; | ||||
| 
 | ||||
|           # TODO: move the rest of the extensions into enable options like this | ||||
|           extraExtensions = { | ||||
|             oneDark.enable = true; | ||||
|             atomKeybindings.enable = true; | ||||
|  | @ -54,49 +42,43 @@ in { | |||
|               enable = ai-tooling-enabled; | ||||
|               ollamaHost = "http://defiant:11434"; | ||||
|             }; | ||||
|             alejandra.enable = nix-development-enabled; | ||||
|             nixIde.enable = nix-development-enabled; | ||||
|           }; | ||||
| 
 | ||||
|           extensions = let | ||||
|             extension-pkgs = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version; | ||||
|           in ( | ||||
|             ( | ||||
|               with extension-pkgs.open-vsx; ( | ||||
|                 [ | ||||
|                   # vs code feel extensions | ||||
|                   streetsidesoftware.code-spell-checker | ||||
|                   streetsidesoftware.code-spell-checker-german | ||||
|                   streetsidesoftware.code-spell-checker-italian | ||||
|                   jeanp413.open-remote-ssh | ||||
|               with extension-pkgs.open-vsx; [ | ||||
|                 # vs code feel extensions | ||||
|                 streetsidesoftware.code-spell-checker | ||||
|                 streetsidesoftware.code-spell-checker-german | ||||
|                 streetsidesoftware.code-spell-checker-italian | ||||
|                 jeanp413.open-remote-ssh | ||||
| 
 | ||||
|                   # html extensions | ||||
|                   formulahendry.auto-rename-tag | ||||
|                   ms-vscode.live-server | ||||
|                 # html extensions | ||||
|                 formulahendry.auto-rename-tag | ||||
|                 ms-vscode.live-server | ||||
| 
 | ||||
|                   # js extensions | ||||
|                   dsznajder.es7-react-js-snippets | ||||
|                   dbaeumer.vscode-eslint | ||||
|                   standard.vscode-standard | ||||
|                   orta.vscode-jest | ||||
|                   stylelint.vscode-stylelint | ||||
|                   tauri-apps.tauri-vscode | ||||
|                 # js extensions | ||||
|                 dsznajder.es7-react-js-snippets | ||||
|                 dbaeumer.vscode-eslint | ||||
|                 standard.vscode-standard | ||||
|                 orta.vscode-jest | ||||
|                 stylelint.vscode-stylelint | ||||
|                 tauri-apps.tauri-vscode | ||||
| 
 | ||||
|                   # go extensions | ||||
|                   golang.go | ||||
|                 # go extensions | ||||
|                 golang.go | ||||
| 
 | ||||
|                   # astro blog extensions | ||||
|                   astro-build.astro-vscode | ||||
|                   unifiedjs.vscode-mdx | ||||
|                 # astro blog extensions | ||||
|                 astro-build.astro-vscode | ||||
|                 unifiedjs.vscode-mdx | ||||
| 
 | ||||
|                   # misc extensions | ||||
|                   tamasfe.even-better-toml | ||||
|                 ] | ||||
|                 ++ (lib.lists.optionals nix-development-enabled [ | ||||
|                   # nix extensions | ||||
|                   pinage404.nix-extension-pack | ||||
|                   jnoortheen.nix-ide | ||||
|                   kamadorueda.alejandra | ||||
|                 ]) | ||||
|               ) | ||||
|                 # misc extensions | ||||
|                 tamasfe.even-better-toml | ||||
|               ] | ||||
|             ) | ||||
|             ++ ( | ||||
|               with extension-pkgs.vscode-marketplace; ( | ||||
|  |  | |||
							
								
								
									
										34
									
								
								modules/home-manager-modules/programs/vscode/alejandra.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								modules/home-manager-modules/programs/vscode/alejandra.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,34 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   ... | ||||
| }: let | ||||
|   pkgsRepositories = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version; | ||||
|   pkgsRepository = pkgsRepositories.open-vsx; | ||||
| in { | ||||
|   options.programs.vscode.profiles = lib.mkOption { | ||||
|     type = lib.types.attrsOf (lib.types.submodule ({config, ...}: { | ||||
|       options = { | ||||
|         extraExtensions.alejandra = { | ||||
|           enable = lib.mkEnableOption "Enable Alejandra extension for Nix formatting"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "alejandra" { | ||||
|             default = ["kamadorueda" "alejandra"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.alejandra.enable { | ||||
|         extensions = [config.extraExtensions.alejandra.extension]; | ||||
|         userSettings = { | ||||
|           "[nix]" = { | ||||
|             "editor.defaultFormatter" = "kamadorueda.alejandra"; | ||||
|             "editor.formatOnPaste" = true; | ||||
|             "editor.formatOnSave" = true; | ||||
|             "editor.formatOnType" = true; | ||||
|           }; | ||||
|           "alejandra.program" = "alejandra"; | ||||
|         }; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
|  | @ -3,5 +3,7 @@ | |||
|     ./oneDark.nix | ||||
|     ./atomKeybindings.nix | ||||
|     ./aiCode.nix | ||||
|     ./alejandra.nix | ||||
|     ./nixIde.nix | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										29
									
								
								modules/home-manager-modules/programs/vscode/nixIde.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								modules/home-manager-modules/programs/vscode/nixIde.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   ... | ||||
| }: let | ||||
|   pkgsRepositories = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version; | ||||
|   pkgsRepository = pkgsRepositories.open-vsx; | ||||
| in { | ||||
|   options.programs.vscode.profiles = lib.mkOption { | ||||
|     type = lib.types.attrsOf (lib.types.submodule ({config, ...}: { | ||||
|       options = { | ||||
|         extraExtensions.nixIde = { | ||||
|           enable = lib.mkEnableOption "Enable Nix IDE extension"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "nix-ide" { | ||||
|             default = ["jnoortheen" "nix-ide"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.nixIde.enable { | ||||
|         extensions = [config.extraExtensions.nixIde.extension]; | ||||
|         userSettings = { | ||||
|           "nix.enableLanguageServer" = true; | ||||
|           "nix.serverPath" = "nil"; | ||||
|         }; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue