mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 05:40:05 +00:00 
			
		
		
		
	feat(modules/nixos): W.I.P add forgejo service
feat(modules/nixos): add admin module for system wide admin data
This commit is contained in:
		
							parent
							
								
									636d384150
								
							
						
					
					
						commit
						84bfdec3f2
					
				
					 7 changed files with 168 additions and 4 deletions
				
			
		|  | @ -42,7 +42,7 @@ in | |||
|         enable-blur = mkOpt bool true "Whether to enable blur-my-shell application blur."; | ||||
|       }; | ||||
|     }; | ||||
|     wallpaper = mkOpt str (builtins.toString ./wallpapers/rocket-launch.jpg) "Specify the path of your prefered Gnome wallpaper."; | ||||
|     wallpaper = mkOpt str (builtins.toString ./wallpapers/car-wreck.png) "Specify the path of your prefered Gnome wallpaper."; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf osConfig.${namespace}.desktop.gnome.enable { | ||||
|  | @ -81,5 +81,97 @@ in | |||
|         picture-uri-dark = cfg.wallpaper; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     home.file.".local/share/themes/catppuccin-macchiato/gnome-shell/gnome-shell.css".text = '' | ||||
|       #panel { | ||||
| 
 | ||||
|      /*background-color: #131313;*/ | ||||
| 
 | ||||
|      background-color: rgba(0, 0, 0, 0); | ||||
| 
 | ||||
|      /*background-color: transparent;*/ | ||||
| 
 | ||||
|      font-weight: bold; | ||||
| 
 | ||||
|      /*height: 2.2em;*/ | ||||
| 
 | ||||
|      height: 2.3em; | ||||
| 
 | ||||
|      transition-duration: 250ms; | ||||
| 
 | ||||
|      /*Custom panel settings */ | ||||
| 
 | ||||
|      /*margin: 5px 35px 0 35px;*/ | ||||
| 
 | ||||
|      margin: 5px 22px 0 22px; | ||||
| 
 | ||||
|      border-radius: 10px; | ||||
| 
 | ||||
|      #panel .panel-button { | ||||
| 
 | ||||
|      background-color: rgba(19, 19, 19, 0.8); | ||||
| 
 | ||||
|      font-weight: bold; | ||||
| 
 | ||||
|      /*color: #f2f2f2;*/ | ||||
| 
 | ||||
|      /*color: #131313;*/ | ||||
| 
 | ||||
|      -natural-hpadding: 12px; | ||||
| 
 | ||||
|      -minimum-hpadding: 6px; | ||||
| 
 | ||||
|      transition-duration: 150ms; | ||||
| 
 | ||||
|      border: 0px solid transparent; | ||||
| 
 | ||||
|      /*border: none;*/ | ||||
| 
 | ||||
|      /*border-radius: 99px;*/ | ||||
| 
 | ||||
|      border-radius: 10px; | ||||
| 
 | ||||
|      /*margin: 5px;*/ | ||||
| 
 | ||||
|      margin-left: 5px; | ||||
| 
 | ||||
|      margin-right: 5px; | ||||
| 
 | ||||
|      #panel .panel-button:active, | ||||
| 
 | ||||
|      #panel .panel-button:overview, | ||||
| 
 | ||||
|      #panel .panel-button:focus, | ||||
| 
 | ||||
|      #panel .panel-button:checked { | ||||
| 
 | ||||
|      box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.2); | ||||
| 
 | ||||
|      /*background-color: #8c7feb;*/ | ||||
| 
 | ||||
|      background-color: #b299d1; | ||||
| 
 | ||||
|      /*background-color: #b299d1;*/ | ||||
| 
 | ||||
|      /*color: #8c7feb;*/ | ||||
| 
 | ||||
|      color: #131313; | ||||
| 
 | ||||
|      /*background-color: rgba(163, 153, 235, 1);*/ | ||||
| 
 | ||||
|      } | ||||
| 
 | ||||
|      #panel .panel-button:hover { | ||||
| 
 | ||||
|      box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.15); | ||||
| 
 | ||||
|      background-color: #a399eb; | ||||
| 
 | ||||
|      color: #131313; | ||||
| 
 | ||||
|      /*box-shadow: inset 0 0 0 100px rgba(183, 176, 235, 0.15);*/ | ||||
| 
 | ||||
|      } | ||||
|     ''; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/car-wreck.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/car-wreck.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 554 KiB | 
							
								
								
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/crane.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/crane.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.6 MiB | 
							
								
								
									
										16
									
								
								modules/nixos/admin/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								modules/nixos/admin/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| { | ||||
|   lib, | ||||
|   namespace, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) types; | ||||
|   inherit (lib.${namespace}) mkOpt; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.admin = with types; { | ||||
|     name = mkOpt str "Jo" "The short name of the system admin."; | ||||
|     full-name = mkOpt str "Johannes Reckers" "The full name of the system admin."; | ||||
|     email = mkOpt str "system@thevoid.cafe" "The E-Mail of the system admin. (Used for system services by default)"; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										56
									
								
								modules/nixos/services/forgejo/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								modules/nixos/services/forgejo/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,56 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   namespace, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.services.forgejo; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.services.forgejo = { | ||||
|     enable = mkEnableOption "Whether to enable the forgejo git service."; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     services.forgejo = { | ||||
|       enable = true; | ||||
| 
 | ||||
|       database = { | ||||
|         type = "postgres"; | ||||
|       }; | ||||
|       lfs.enable = true; | ||||
|       settings = { | ||||
|         server = { | ||||
|           DOMAIN = "git.thevoid.cafe"; | ||||
|           ROOT_URL = "https://git.thevoid.cafe/"; | ||||
|           HTTP_PORT = "3030"; | ||||
|         }; | ||||
|         service.DISABLE_REGISTRATION = true; | ||||
|         actions = { | ||||
|           ENABLED = true; | ||||
|           DEFAULT_ACTIONS_URL = "github"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     # TODO: finish this configuration | ||||
| 
 | ||||
|     services.traefik = { | ||||
|       dynamicConfigOptions = { | ||||
|         http = { | ||||
|           routers.forgejo = { | ||||
|             entryPoints = ["websecure"]; | ||||
|             rule = "Host(`git.thevoid.cafe`)"; | ||||
|             service = "forgejo"; | ||||
|           }; | ||||
| 
 | ||||
|           services.forgejo.loadbalancer.server = { | ||||
|             url = "http://localhost:3030"; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -11,7 +11,7 @@ in { | |||
|     enable = mkEnableOption "Enable the Traefik service."; | ||||
|     cloudflareEmail = mkOption { | ||||
|       type = types.str; | ||||
|       default = "system@thevoid.cafe"; | ||||
|       default = config.${namespace}.admin.email; | ||||
|       example = "system@thevoid.cafe"; | ||||
|       description = "Specify the E-Mail associated with your Cloudflare account for ACME."; | ||||
|     }; | ||||
|  |  | |||
|  | @ -53,8 +53,8 @@ | |||
|   puzzlevision = { | ||||
|     archetypes.workstation.enable = true; | ||||
|     security.yubikey = { | ||||
|         enable = true; | ||||
|         enable-agent = true; | ||||
|       enable = true; | ||||
|       enable-agent = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue