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}))
|
||
|
];
|
||
|
};
|
||
|
}
|