diff --git a/modules/programs/gitbutler/default.nix b/modules/programs/gitbutler/default.nix new file mode 100644 index 0000000..073dd0f --- /dev/null +++ b/modules/programs/gitbutler/default.nix @@ -0,0 +1,24 @@ +{ config +, pkgs +, lib +, ... +}: + +let + inherit (lib) mkEnableOption mkIf mkOption types; + + cfg = config.my.programs.gitbutler; +in +{ + options.my.programs.gitbutler = { + enable = mkEnableOption "gitbutler"; + package = mkOption { + default = pkgs.callPackage ./package.nix { }; + type = types.package; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + }; +} diff --git a/modules/programs/gitbutler/package.nix b/modules/programs/gitbutler/package.nix new file mode 100644 index 0000000..a0b2102 --- /dev/null +++ b/modules/programs/gitbutler/package.nix @@ -0,0 +1,16 @@ +{ fetchzip, appimageTools }: + +let + pname = "git-butler"; + version = "0.12.4"; + buildNum = "994"; + + srcZipped = fetchzip { + url = "https://releases.gitbutler.com/releases/release/${version}-${buildNum}/linux/x86_64/git-butler_${version}_amd64.AppImage.tar.gz"; + hash = "sha256-+QP+H0bVSLbobv/W6lFBbl08RnwKvG8BVo68bwMrAzM="; + }; +in +appimageTools.wrapType2 { + inherit pname version; + src = "${srcZipped}/git-butler_${version}_amd64.AppImage"; +}