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