forked from jan-leila/nix-config
		
	feat: pinned mapilary version downloader
feat: created user ivy
This commit is contained in:
		
							parent
							
								
									44922dfcd5
								
							
						
					
					
						commit
						76d3c488db
					
				
					 9 changed files with 172 additions and 7 deletions
				
			
		
							
								
								
									
										55
									
								
								configurations/home-manager/ivy/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								configurations/home-manager/ivy/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,55 @@ | |||
| {osConfig, ...}: let | ||||
|   userConfig = osConfig.host.users.ivy; | ||||
| in { | ||||
|   imports = [ | ||||
|     ./packages.nix | ||||
|   ]; | ||||
| 
 | ||||
|   home = { | ||||
|     username = userConfig.name; | ||||
|     homeDirectory = osConfig.users.users.ivy.home; | ||||
| 
 | ||||
|     # This value determines the Home Manager release that your configuration is | ||||
|     # compatible with. This helps avoid breakage when a new Home Manager release | ||||
|     # introduces backwards incompatible changes. | ||||
|     # | ||||
|     # You should not change this value, even if you update Home Manager. If you do | ||||
|     # want to update the value, then make sure to first check the Home Manager | ||||
|     # release notes. | ||||
|     stateVersion = "23.11"; # Please read the comment before changing. | ||||
| 
 | ||||
|     # Home Manager is pretty good at managing dotfiles. The primary way to manage | ||||
|     # plain files is through 'home.file'. | ||||
|     file = { | ||||
|       # # Building this configuration will create a copy of 'dotfiles/screenrc' in | ||||
|       # # the Nix store. Activating the configuration will then make '~/.screenrc' a | ||||
|       # # symlink to the Nix store copy. | ||||
|       # ".screenrc".source = dotfiles/screenrc; | ||||
| 
 | ||||
|       # # You can also set the file content immediately. | ||||
|       # ".gradle/gradle.properties".text = '' | ||||
|       #   org.gradle.console=verbose | ||||
|       #   org.gradle.daemon.idletimeout=3600000 | ||||
|       # ''; | ||||
|     }; | ||||
| 
 | ||||
|     # Home Manager can also manage your environment variables through | ||||
|     # 'home.sessionVariables'. If you don't want to manage your shell through Home | ||||
|     # Manager then you have to manually source 'hm-session-vars.sh' located at | ||||
|     # either | ||||
|     # | ||||
|     #  ~/.nix-profile/etc/profile.d/hm-session-vars.sh | ||||
|     # | ||||
|     # or | ||||
|     # | ||||
|     #  ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh | ||||
|     # | ||||
|     # or | ||||
|     # | ||||
|     #  /etc/profiles/per-user/ivy/etc/profile.d/hm-session-vars.sh | ||||
|     # | ||||
|     sessionVariables = { | ||||
|       # EDITOR = "emacs"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										73
									
								
								configurations/home-manager/ivy/packages.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								configurations/home-manager/ivy/packages.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,73 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   osConfig, | ||||
|   ... | ||||
| }: { | ||||
|   config = { | ||||
|     nixpkgs.config = { | ||||
|       allowUnfree = true; | ||||
|     }; | ||||
| 
 | ||||
|     # Programs that need to be installed with some extra configuration | ||||
|     programs = lib.mkMerge [ | ||||
|       { | ||||
|         # Let Home Manager install and manage itself. | ||||
|         home-manager.enable = true; | ||||
|       } | ||||
|       (lib.mkIf (config.user.isDesktopUser || config.user.isTerminalUser) { | ||||
|         # git = { | ||||
|         #   enable = true; | ||||
|         #   userName = "Ivy"; | ||||
|         #   userEmail = "ivy@example.com"; # Update this with actual email | ||||
|         #   extraConfig.init.defaultBranch = "main"; | ||||
|         # }; | ||||
| 
 | ||||
|         openssh = { | ||||
|           enable = true; | ||||
|           hostKeys = [ | ||||
|             { | ||||
|               type = "ed25519"; | ||||
|               path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; | ||||
|             } | ||||
|           ]; | ||||
|         }; | ||||
|       }) | ||||
|       (lib.mkIf config.user.isDesktopUser { | ||||
|         vscode = { | ||||
|           enable = true; | ||||
|           package = pkgs.vscodium; | ||||
|           mutableExtensionsDir = false; | ||||
| 
 | ||||
|           profiles.default = { | ||||
|             enableUpdateCheck = false; | ||||
|             enableExtensionUpdateCheck = false; | ||||
| 
 | ||||
|             extraExtensions = { | ||||
|               # Cline extension (Claude AI assistant) | ||||
|               claudeDev.enable = true; | ||||
|               # Auto Rename Tag | ||||
|               autoRenameTag.enable = true; | ||||
|               # Live Server | ||||
|               liveServer.enable = true; | ||||
|             }; | ||||
| 
 | ||||
|             extensions = let | ||||
|               extension-pkgs = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version; | ||||
|             in ( | ||||
|               with extension-pkgs.open-vsx; [ | ||||
|                 streetsidesoftware.code-spell-checker | ||||
|               ] | ||||
|             ); | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|         firefox.enable = true; | ||||
|         discord.enable = true; | ||||
|         signal-desktop-bin.enable = true; | ||||
|         claude-code.enable = true; | ||||
|       }) | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue