{ lib , buildGoModule , fetchFromGitHub , installShellFiles }: buildGoModule rec { pname = "oh-my-posh"; version = "23.15.0"; src = fetchFromGitHub { owner = "jandedobbeleer"; repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-gZCR7cDSI0gRaTnYADOLpyHe26URo27JXJjnNxr4Jwc="; }; vendorHash = "sha256-EBLfbdTV15wSTOThzBY0d2KrSJzRaB8vNH53Uwc+XfM="; sourceRoot = "${src.name}/src"; nativeBuildInputs = [ installShellFiles ]; ldflags = [ "-s" "-w" "-X github.com/jandedobbeleer/oh-my-posh/src/build.Version=${version}" "-X github.com/jandedobbeleer/oh-my-posh/src/build.Date=1970-01-01T00:00:00Z" ]; tags = [ "netgo" "osusergo" "static_build" ]; postPatch = '' # these tests requires internet access rm image/image_test.go config/migrate_glyphs_test.go upgrade/notice_test.go ''; postInstall = '' mv $out/bin/{src,oh-my-posh} mkdir -p $out/share/oh-my-posh cp -r ${src}/themes $out/share/oh-my-posh/ installShellCompletion --cmd oh-my-posh \ --bash <($out/bin/oh-my-posh completion bash) \ --fish <($out/bin/oh-my-posh completion fish) \ --zsh <($out/bin/oh-my-posh completion zsh) ''; meta = with lib; { description = "Prompt theme engine for any shell"; mainProgram = "oh-my-posh"; homepage = "https://ohmyposh.dev"; changelog = "https://github.com/JanDeDobbeleer/oh-my-posh/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ lucperkins urandom ]; }; }