test module
This commit is contained in:
		
							parent
							
								
									b535861ad5
								
							
						
					
					
						commit
						4bd0715d27
					
				
					 1 changed files with 73 additions and 0 deletions
				
			
		
							
								
								
									
										73
									
								
								pp-gitea.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								pp-gitea.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
{ config, pkgs, lib, ... }:
 | 
			
		||||
with lib;
 | 
			
		||||
let
 | 
			
		||||
  cfgBase = config.base;
 | 
			
		||||
  cfg = config.services.ppGitea;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.services.ppGitea = {
 | 
			
		||||
#    baseModule = mkOption {
 | 
			
		||||
#      type = types.str;
 | 
			
		||||
#      default =  builtins.fetchurl {
 | 
			
		||||
#        url = "https://git.mineau.eu/histausse/nixos-modules/raw/branch/master/base.nix";
 | 
			
		||||
#        sha256 = "1iiz2igsklw8nhmng3gxpjgy47n9hivzlrpwmxy2rw8aziax1cgz";
 | 
			
		||||
#      };
 | 
			
		||||
#      description = "The base module to use";
 | 
			
		||||
#    };
 | 
			
		||||
    domain = mkOption {
 | 
			
		||||
      type = types.str;
 | 
			
		||||
      default = "git.${cfgBase.domainName}";
 | 
			
		||||
      example = "git.example.com";
 | 
			
		||||
      description = "The domain of the server";
 | 
			
		||||
    };
 | 
			
		||||
    disableRegistration = mkOption {
 | 
			
		||||
      type = types.bool;
 | 
			
		||||
      default = true;
 | 
			
		||||
      description = "Must be set to `false` for the initial deployement";
 | 
			
		||||
    };
 | 
			
		||||
    customPackage = mkOption {
 | 
			
		||||
      type = types.package;
 | 
			
		||||
      default = pkgs.fetchgit {
 | 
			
		||||
        url = "https://git.mineau.eu/histausse/gitea_custom";
 | 
			
		||||
        sha256 = "0r1kjkn0mkfyp2lb8j59frh1vnd1m54swpqwiasvg77r04ibfmn5";
 | 
			
		||||
      };
 | 
			
		||||
      description= "The package for custom configs like theme.";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
#  imports = [
 | 
			
		||||
#    cfg.baseModule    
 | 
			
		||||
#  ];
 | 
			
		||||
 | 
			
		||||
  config = {
 | 
			
		||||
 | 
			
		||||
    services.gitea.appName = "git";
 | 
			
		||||
    services.gitea.stateDir = "/var/lib/gitea"; # default value
 | 
			
		||||
    services.gitea.enable = true;
 | 
			
		||||
    services.gitea.rootUrl = "https://git.${cfg.domain}/";
 | 
			
		||||
    services.gitea.settings.service.DISABLE_REGISTRATION = lib.mkForce cfg.disableRegistration; # Only set after initial deploy
 | 
			
		||||
    services.gitea.settings.session.COOKIE_SECURE = lib.mkForce true;        # Why do I need to override this???
 | 
			
		||||
    services.gitea.lfs.enable = true;
 | 
			
		||||
    services.gitea.domain = cfg.domain;
 | 
			
		||||
    # services.gitea.database.type = "postgres"; # Default is sqlite3, probably better for a small instance
 | 
			
		||||
    services.gitea.database.passwordFile = "/var/lib/gitea/gitea-dbpassword";
 | 
			
		||||
    networking.firewall.allowedTCPPorts = [ 3000 ];
 | 
			
		||||
    environment.systemPackages = with pkgs; [
 | 
			
		||||
      gitea
 | 
			
		||||
    ];
 | 
			
		||||
    systemd.services.gitea.environment.GITEA_CUSTOM = "${config.services.gitea.stateDir}/custom";
 | 
			
		||||
    systemd.services.gitea.preStart = lib.mkAfter ''
 | 
			
		||||
      find ${config.services.gitea.stateDir}/ -type d -exec chmod u+w {} \;
 | 
			
		||||
      cp -f -s -r ${cfg.customPackage}/* ${config.services.gitea.stateDir}/custom/
 | 
			
		||||
    '';
 | 
			
		||||
    services.gitea.settings = {
 | 
			
		||||
      ui = {
 | 
			
		||||
        THEMES = "gitea,arc-green,plex,aquamarine,dark,dracula,hotline,organizr,space-gray,hotpink,onedark,overseerr,nord";
 | 
			
		||||
        DEFAULT_THEME = "dark";
 | 
			
		||||
      };
 | 
			
		||||
      "ui.meta" = {
 | 
			
		||||
        DESCRIPTION = "Code everywhere";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue