diff options
author | Profpatsch <mail@profpatsch.de> | 2021-04-05T11·56+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2021-04-23T18·30+0000 |
commit | 952d5480bcd29ba28991503c25863c736e9ff85b (patch) | |
tree | f7c83f67fbbfca0dda15a993bd942246f01101ce /third_party/gopkgs/github.com/charmbracelet | |
parent | 7b57165351869f9649513ea194409bb71cdf6d3f (diff) |
feat(third_party/gopkgs): add charmbracelet/{bubbletea,bubbles} r/2537
A small go TUI framework based on the Elm Architecture. Change-Id: I0c400a7b25af682735bfc5061db179e5d1dd75ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/2853 Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
Diffstat (limited to 'third_party/gopkgs/github.com/charmbracelet')
3 files changed, 65 insertions, 0 deletions
diff --git a/third_party/gopkgs/github.com/charmbracelet/bubbles/default.nix b/third_party/gopkgs/github.com/charmbracelet/bubbles/default.nix new file mode 100644 index 000000000000..e041edd4b698 --- /dev/null +++ b/third_party/gopkgs/github.com/charmbracelet/bubbles/default.nix @@ -0,0 +1,16 @@ +{ depot, pkgs, ... }: + +depot.nix.buildGo.external { + path = "github.com/charmbracelet/bubbles"; + src = pkgs.fetchFromGitHub { + owner = "charmbracelet"; + repo = "bubbles"; + # unreleased version required by bubbletea + rev = "v0.7.6"; + sha256 = "1gd4k4f2mj2dnqcbpdrh9plziz0l29ls6mgyy4mfdcdfijfyd30n"; + }; + + deps = with depot.third_party; [ + gopkgs."github.com".charmbracelet.bubbletea + ]; +} diff --git a/third_party/gopkgs/github.com/charmbracelet/bubbletea/default.nix b/third_party/gopkgs/github.com/charmbracelet/bubbletea/default.nix new file mode 100644 index 000000000000..75eb5402c17c --- /dev/null +++ b/third_party/gopkgs/github.com/charmbracelet/bubbletea/default.nix @@ -0,0 +1,28 @@ +{ depot, pkgs, ... }: + +depot.nix.buildGo.external { + path = "github.com/charmbracelet/bubbletea"; + src = + let gitSrc = pkgs.fetchFromGitHub { + owner = "charmbracelet"; + repo = "bubbletea"; + rev = "v0.13.1"; + sha256 = "0yf2fjkvx8ym9n6f3qp2z7sxs0qsfpj148sfvbrp38k67s3h20cs"; + }; + # The examples/ directory is fairly extensive, + # but it also adds most of the dependencies. + in pkgs.runCommand gitSrc.name {} '' + mkdir -p $out + ln -s "${gitSrc}"/* $out + rm -r $out/examples + rm -r $out/tutorials + ''; + deps = with depot.third_party; [ + gopkgs."github.com".containerd.console + gopkgs."github.com".mattn.go-isatty + gopkgs."github.com".muesli.reflow.truncate + gopkgs."github.com".muesli.termenv + gopkgs."golang.org".x.sys.unix + gopkgs."golang.org".x.crypto.ssh.terminal + ]; +} diff --git a/third_party/gopkgs/github.com/charmbracelet/lipgloss/default.nix b/third_party/gopkgs/github.com/charmbracelet/lipgloss/default.nix new file mode 100644 index 000000000000..d10332a1d572 --- /dev/null +++ b/third_party/gopkgs/github.com/charmbracelet/lipgloss/default.nix @@ -0,0 +1,21 @@ +{ depot, pkgs, ... }: + +depot.nix.buildGo.external { + path = "github.com/charmbracelet/lipgloss"; + src = pkgs.fetchFromGitHub { + owner = "charmbracelet"; + repo = "lipgloss"; + # unreleased version required by bubbletea + rev = "v0.1.0"; + sha256 = "1chhs492rsq7i4mr6qpjv3d89rvsd23ri6psnmil3ah6i286vl06"; + }; + + deps = with depot.third_party; [ + # gopkgs."github.com".charmbracelet.bubbletea + gopkgs."github.com".lucasb-eyer.go-colorful + gopkgs."github.com".muesli.reflow.ansi + gopkgs."github.com".muesli.reflow.truncate + gopkgs."github.com".muesli.reflow.wordwrap + gopkgs."github.com".muesli.termenv + ]; +} |