mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 05:40:05 +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. | - General secrets are stored within the `secrets` directory. | ||||||
| - System specific secrets are stored within their respective `systems/<system_type>/<system_name>/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: | 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" | 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 | ```sh | ||||||
| nix-shell -p sops --run "sops updatekeys secrets/example.yaml" | 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. | - Further refining my usage of the Nix language, through language best-practices and CLI dev tools. | ||||||
| 
 | 
 | ||||||
| ## 🏗️ Structure | ## 🏗️ 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. | 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/discord | ||||||
|     ./apps/firefox |     ./apps/firefox | ||||||
|     ./apps/vicinae |     ./apps/vicinae | ||||||
|  |     ./apps/packettracer | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   puzzlevision = { |   puzzlevision = { | ||||||
|  | @ -28,9 +29,6 @@ | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Notify on systembus events |  | ||||||
|   services.systembus-notify.enable = true; |  | ||||||
| 
 |  | ||||||
|   sops.secrets.wakatime-cfg = { |   sops.secrets.wakatime-cfg = { | ||||||
|     format = "binary"; |     format = "binary"; | ||||||
|     sopsFile = ./secrets/wakatime.cfg; |     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