forked from jan-leila/nix-config
		
	main #5
					 8 changed files with 187 additions and 29 deletions
				
			
		|  | @ -39,6 +39,7 @@ in { | |||
|             # vs code feel | ||||
|             oneDark.enable = true; | ||||
|             atomKeybindings.enable = true; | ||||
|             openRemoteSsh.enable = true; | ||||
| 
 | ||||
|             # html development | ||||
|             autoRenameTag.enable = true; | ||||
|  | @ -52,50 +53,39 @@ in { | |||
|             vscodeStandard.enable = true; | ||||
|             vscodeStylelint.enable = true; | ||||
| 
 | ||||
|             nearley.enable = true; | ||||
| 
 | ||||
|             # astro development | ||||
|             vscodeMdx.enable = true; | ||||
|             astroVscode.enable = true; | ||||
| 
 | ||||
|             # nix development | ||||
|             alejandra.enable = nix-development-enabled; | ||||
|             nixIde.enable = nix-development-enabled; | ||||
| 
 | ||||
|             # go development | ||||
|             go.enable = true; | ||||
| 
 | ||||
|             # ai tooling | ||||
|             aiCode = { | ||||
|               enable = ai-tooling-enabled; | ||||
|               ollamaHost = "http://defiant:11434"; | ||||
|               inlineCompletion.model = "qwen3:4b"; | ||||
|             }; | ||||
| 
 | ||||
|             # misc extensions | ||||
|             evenBetterToml.enable = true; | ||||
|           }; | ||||
| 
 | ||||
|           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 | ||||
| 
 | ||||
|                 # go extensions | ||||
|                 golang.go | ||||
| 
 | ||||
|                 # astro blog extensions | ||||
|                 astro-build.astro-vscode | ||||
|                 unifiedjs.vscode-mdx | ||||
| 
 | ||||
|                 # misc extensions | ||||
|                 tamasfe.even-better-toml | ||||
|             ] | ||||
|             ) | ||||
|             ++ ( | ||||
|               with extension-pkgs.vscode-marketplace; ( | ||||
|                 [ | ||||
|                   # js extensions | ||||
|                   karyfoundation.nearley | ||||
|                 ] | ||||
|                 ++ (lib.lists.optionals ai-tooling-enabled [ | ||||
|                   ]) | ||||
|               ) | ||||
|             ) | ||||
|           ); | ||||
|         }; | ||||
|       }; | ||||
|  |  | |||
							
								
								
									
										27
									
								
								modules/home-manager-modules/programs/vscode/astroVscode.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								modules/home-manager-modules/programs/vscode/astroVscode.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| { | ||||
|   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.astroVscode = { | ||||
|           enable = lib.mkEnableOption "should the astro-vscode extension for vscode be enabled"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "astro-vscode" { | ||||
|             default = ["astro-build" "astro-vscode"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.astroVscode.enable { | ||||
|         extensions = [ | ||||
|           config.extraExtensions.astroVscode.extension | ||||
|         ]; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
|  | @ -13,5 +13,11 @@ | |||
|     ./vscodeJest.nix | ||||
|     ./vscodeStandard.nix | ||||
|     ./vscodeStylelint.nix | ||||
|     ./go.nix | ||||
|     ./evenBetterToml.nix | ||||
|     ./openRemoteSsh.nix | ||||
|     ./astroVscode.nix | ||||
|     ./vscodeMdx.nix | ||||
|     ./nearley.nix | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,27 @@ | |||
| { | ||||
|   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.evenBetterToml = { | ||||
|           enable = lib.mkEnableOption "should the even-better-toml extension for vscode be enabled"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "even-better-toml" { | ||||
|             default = ["tamasfe" "even-better-toml"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.evenBetterToml.enable { | ||||
|         extensions = [ | ||||
|           config.extraExtensions.evenBetterToml.extension | ||||
|         ]; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										27
									
								
								modules/home-manager-modules/programs/vscode/go.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								modules/home-manager-modules/programs/vscode/go.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| { | ||||
|   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.go = { | ||||
|           enable = lib.mkEnableOption "should the go extension for vscode be enabled"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "go" { | ||||
|             default = ["golang" "go"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.go.enable { | ||||
|         extensions = [ | ||||
|           config.extraExtensions.go.extension | ||||
|         ]; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										27
									
								
								modules/home-manager-modules/programs/vscode/nearley.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								modules/home-manager-modules/programs/vscode/nearley.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   ... | ||||
| }: let | ||||
|   pkgsRepositories = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version; | ||||
|   pkgsRepository = pkgsRepositories.vscode-marketplace; | ||||
| in { | ||||
|   options.programs.vscode.profiles = lib.mkOption { | ||||
|     type = lib.types.attrsOf (lib.types.submodule ({config, ...}: { | ||||
|       options = { | ||||
|         extraExtensions.nearley = { | ||||
|           enable = lib.mkEnableOption "should the nearley extension for vscode be enabled"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "nearley" { | ||||
|             default = ["karyfoundation" "nearley"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.nearley.enable { | ||||
|         extensions = [ | ||||
|           config.extraExtensions.nearley.extension | ||||
|         ]; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
|  | @ -0,0 +1,27 @@ | |||
| { | ||||
|   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.openRemoteSsh = { | ||||
|           enable = lib.mkEnableOption "should the open-remote-ssh extension for vscode be enabled"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "open-remote-ssh" { | ||||
|             default = ["jeanp413" "open-remote-ssh"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.openRemoteSsh.enable { | ||||
|         extensions = [ | ||||
|           config.extraExtensions.openRemoteSsh.extension | ||||
|         ]; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										27
									
								
								modules/home-manager-modules/programs/vscode/vscodeMdx.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								modules/home-manager-modules/programs/vscode/vscodeMdx.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| { | ||||
|   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.vscodeMdx = { | ||||
|           enable = lib.mkEnableOption "should the vscode-mdx extension for vscode be enabled"; | ||||
|           extension = lib.mkPackageOption pkgsRepository "vscode-mdx" { | ||||
|             default = ["unifiedjs" "vscode-mdx"]; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.vscodeMdx.enable { | ||||
|         extensions = [ | ||||
|           config.extraExtensions.vscodeMdx.extension | ||||
|         ]; | ||||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue