33 lines
		
	
	
	
		
			677 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
	
		
			677 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
|  | { withSystem, ... }: | ||
|  | 
 | ||
|  | let | ||
|  |   name = "open-repo-url"; | ||
|  | in | ||
|  | { | ||
|  |   perSystem = | ||
|  |     { pkgs, ... }: | ||
|  |     { | ||
|  |       packages.${name} = pkgs.writeShellApplication { | ||
|  |         inherit name; | ||
|  | 
 | ||
|  |         runtimeInputs = with pkgs; [ coreutils git ]; | ||
|  | 
 | ||
|  |         text = ''
 | ||
|  |           repo_url=$(git remote get-url origin | sed -E 's#(git|forgejo)@([A-Za-z0-9.-]+):#https://\2/#;s#.git$##') | ||
|  | 
 | ||
|  |           repo_url="''${repo_url//ssh.oliverdavies.uk/code.oliverdavies.uk}" | ||
|  | 
 | ||
|  |           xdg-open "$repo_url" | ||
|  |         '';
 | ||
|  |       }; | ||
|  |     }; | ||
|  | 
 | ||
|  |   flake.modules.homeManager.base = | ||
|  |     { pkgs, ... }: | ||
|  |     { | ||
|  |       home.packages = [ | ||
|  |         (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) | ||
|  |       ]; | ||
|  |     }; | ||
|  | } |