32 lines
		
	
	
	
		
			677 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			32 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}))
 | |
|       ];
 | |
|     };
 | |
| }
 |