mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 13:50:04 +00:00 
			
		
		
		
	Compare commits
	
		
			2 commits
		
	
	
		
			a6da14d4cf
			...
			8edd189f07
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 8edd189f07 | |||
| 1e94d11ce0 | 
					 4 changed files with 41 additions and 5 deletions
				
			
		|  | @ -43,6 +43,7 @@ Secrets are managed by the [sops-nix](https://github.com/Mic92/sops-nix) nixos/h | |||
| 
 | ||||
| - General secrets are stored within the `secrets` directory. | ||||
| - System specific secrets are stored within their respective `systems/<system_type>/<system_name>/secrets` directory. | ||||
| - User secrets are stored within their respective `homes/<system_type>/<user_name>/secrets` directory. | ||||
| 
 | ||||
| The following command may be used to convert the SSH host key of a new machine to an age key: | ||||
| 
 | ||||
|  | @ -66,7 +67,7 @@ You may also encrypt arbitrary binary formats, like .cfg, using the following co | |||
| nix-shell -p sops --run "sops -e original_file.cfg > secrets/encrypted_file.cfg" | ||||
| ``` | ||||
| 
 | ||||
| Lastly, when adding new systems, make sure to update any required secret files with the following command: | ||||
| Finally, when adding new systems, make sure to update any required secret files with the following command: | ||||
| 
 | ||||
| ```sh | ||||
| nix-shell -p sops --run "sops updatekeys secrets/example.yaml" | ||||
|  | @ -117,7 +118,7 @@ Some of my future goals for this flake are: | |||
| - Further refining my usage of the Nix language, through language best-practices and CLI dev tools. | ||||
| 
 | ||||
| ## 🏗️ Structure | ||||
| The structure this flake aims to build on is relatively simple to grasp. | ||||
| This flake follows an opinionated directory structure, described below. | ||||
| 
 | ||||
| ``` | ||||
| flake.nix  --> The flake. | ||||
|  |  | |||
							
								
								
									
										9
									
								
								homes/x86_64-linux/jo/apps/packettracer/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								homes/x86_64-linux/jo/apps/packettracer/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| { | ||||
|   ... | ||||
| }: | ||||
| { | ||||
|   puzzlevision.apps.packettracer = { | ||||
|     enable = true; | ||||
|     binaryPath = ./Packet_Tracer822_amd64_signed.deb; | ||||
|   }; | ||||
| } | ||||
|  | @ -8,6 +8,7 @@ | |||
|     ./apps/discord | ||||
|     ./apps/firefox | ||||
|     ./apps/vicinae | ||||
|     ./apps/packettracer | ||||
|   ]; | ||||
| 
 | ||||
|   puzzlevision = { | ||||
|  | @ -28,9 +29,6 @@ | |||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   # Notify on systembus events | ||||
|   services.systembus-notify.enable = true; | ||||
| 
 | ||||
|   sops.secrets.wakatime-cfg = { | ||||
|     format = "binary"; | ||||
|     sopsFile = ./secrets/wakatime.cfg; | ||||
|  |  | |||
							
								
								
									
										28
									
								
								modules/home/apps/packettracer/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								modules/home/apps/packettracer/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,28 @@ | |||
| { | ||||
|   config, | ||||
|   self, | ||||
|   pkgs, | ||||
|   lib, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (self) namespace; | ||||
|   inherit (self.lib) mkOpt; | ||||
|   inherit (lib) mkEnableOption types mkIf; | ||||
| 
 | ||||
|   cfg = config.${namespace}.apps.packettracer; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.apps.packettracer = { | ||||
|     enable = mkEnableOption "the Cisco Packettracer application, a network emulator."; | ||||
|     binaryPath = | ||||
|       mkOpt types.path null | ||||
|         "The path of the Packettracer binary. Has to be downloaded from Cisco Netacad"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     home.packages = with pkgs; [ | ||||
|       (ciscoPacketTracer8.override { packetTracerSource = cfg.binaryPath; }) | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue