From bdaf9961f8025bf70d48a6890567ebc075682689 Mon Sep 17 00:00:00 2001 From: Gannon McGibbon Date: Thu, 21 Nov 2024 02:44:31 -0600 Subject: [PATCH] Add localsend, pinta, ripgrep, btop, ollama, and fastfetch Fiils some gaps now that I'm using Linux on my personal laptop. Inspired by Omakub. --- .github/workflows/setup-ci.yml | 1 + Bootstrapfile | 6 ++++ bootstrap/lib/bootstrap/package/sources.yml | 33 ++++++++++++++++++++- test/bootstrap/fedora_test.rb | 32 ++++++++++++++++++++ test/bootstrap/macos_test.rb | 32 ++++++++++++++++++++ test/bootstrap/ubuntu_test.rb | 32 ++++++++++++++++++++ test/bootstrap/windows_test.rb | 16 ++++++++++ 7 files changed, 151 insertions(+), 1 deletion(-) diff --git a/.github/workflows/setup-ci.yml b/.github/workflows/setup-ci.yml index 9917de7..dc0b1fc 100644 --- a/.github/workflows/setup-ci.yml +++ b/.github/workflows/setup-ci.yml @@ -5,6 +5,7 @@ on: push jobs: test: strategy: + fail-fast: false matrix: platform: - name: ubuntu diff --git a/Bootstrapfile b/Bootstrapfile index d0e9f79..3562584 100644 --- a/Bootstrapfile +++ b/Bootstrapfile @@ -11,6 +11,8 @@ gui do install "slack" install "gimp" install "qemu" + install "localsend" + install "pinta" macos do install "iterm2" @@ -31,6 +33,10 @@ unix do install "antigen" install "vundle" install "heroku" + install "ripgrep" + install "btop" end +install "ollama" +install "fastfetch" install "vim" diff --git a/bootstrap/lib/bootstrap/package/sources.yml b/bootstrap/lib/bootstrap/package/sources.yml index 1ae528a..5640c43 100644 --- a/bootstrap/lib/bootstrap/package/sources.yml +++ b/bootstrap/lib/bootstrap/package/sources.yml @@ -121,4 +121,35 @@ gimp: qemu: ubuntu: - name: qemu-system \ No newline at end of file + name: qemu-system + +localsend: + windows: + name: LocalSend.LocalSend + fedora: + flatpak: true + name: org.localsend.localsend_app + ubuntu: + snap: true + +fastfetch: + windows: + name: Fastfetch-cli.Fastfetch + ubuntu: + apt: ppa:zhangsongcui3371/fastfetch + +btop: + ubuntu: + snap: true + +ollama: + linux: &linux + script: | + if ! command -v ollama >/dev/null 2>&1; then + curl -fsSL https://ollama.com/install.sh | sh + fi + fedora: + <<: *linux + ubuntu: + <<: *linux + diff --git a/test/bootstrap/fedora_test.rb b/test/bootstrap/fedora_test.rb index 7b38dda..a53946b 100644 --- a/test/bootstrap/fedora_test.rb +++ b/test/bootstrap/fedora_test.rb @@ -32,10 +32,26 @@ class FedoraTest < TestCase assert_dnf_installed("vim") end + test "installs fastfetch" do + assert_dnf_installed("fastfetch") + end + test "installs heroku" do assert_installed_at("/usr/local/bin/heroku") end + test "installs ripgrep" do + assert_dnf_install("ripgrep") + end + + test "installs btop" do + assert_dnf_install("btop") + end + + test "installs olama" do + assert_installed_at("/usr/local/bin/ollama") + end + if gui? test "installs firefox" do assert_dnf_installed("firefox") @@ -76,6 +92,14 @@ class FedoraTest < TestCase test "installs qemu" do assert_dnf_installed("qemu") end + + test "installs localsend" do + assert_flatpak_installed("localsend") + end + + test "installs pinta" do + assert_dnf_installed("pinta") + end else test "does not install flux" do assert_dnf_not_installed("fluxgui") @@ -116,6 +140,14 @@ class FedoraTest < TestCase test "does not install qemu" do assert_dnf_not_installed("qemu") end + + test "does not install localsend" do + assert_flatpak_not_installed("localsend") + end + + test "does not install pinta" do + assert_dnf_not_installed("pinta") + end end private diff --git a/test/bootstrap/macos_test.rb b/test/bootstrap/macos_test.rb index 2274e81..c10eb37 100644 --- a/test/bootstrap/macos_test.rb +++ b/test/bootstrap/macos_test.rb @@ -32,10 +32,26 @@ class MacosTest < TestCase assert_brew_installed("vim") end + test "installs fastfetch" do + assert_brew_installed("fastfetch") + end + test "installs heroku" do assert_brew_installed("heroku") end + test "installs ripgrep" do + assert_brew_installed("ripgrep") + end + + test "installs btop" do + assert_brew_installed("btop") + end + + test "installs ollama" do + assert_brew_installed("ollama") + end + if gui? test "installs iterm2" do assert_brew_cask_installed("iterm2") @@ -84,6 +100,14 @@ class MacosTest < TestCase test "installs qemu" do assert_brew_installed("qemu") end + + test "installs localsend" do + assert_brew_cask_installed("localsend") + end + + test "installs pinta" do + assert_brew_cask_installed("pinta") + end else test "does not install iterm2" do assert_brew_cask_not_installed("iterm2") @@ -128,6 +152,14 @@ class MacosTest < TestCase test "does not install qemu" do assert_brew_not_installed("qemu") end + + test "does not install localsend" do + assert_brew_cask_not_installed("localsend") + end + + test "does not install pinta" do + assert_brew_cask_not_installed("pinta") + end end private diff --git a/test/bootstrap/ubuntu_test.rb b/test/bootstrap/ubuntu_test.rb index 957c68e..1d4a291 100644 --- a/test/bootstrap/ubuntu_test.rb +++ b/test/bootstrap/ubuntu_test.rb @@ -32,10 +32,26 @@ class UbuntuTest < TestCase assert_apt_installed("vim") end + test "installs fastfetch" do + assert_apt_installed("fastfetch") + end + test "installs heroku" do assert_apt_installed("heroku") end + test "installs ripgrep" do + assert_apt_installed("ripgrep") + end + + test "installs btop" do + assert_snap_installed("btop") + end + + test "installs ollama" do + assert_installed_at("/usr/local/bin/ollama") + end + if gui? test "installs firefox" do assert_apt_installed("firefox") @@ -76,6 +92,14 @@ class UbuntuTest < TestCase test "installs qemu" do assert_apt_installed("qemu") end + + test "installs localsend" do + assert_snap_installed("localsend") + end + + test "installs pinta" do + assert_apt_installed("pinta") + end else test "does not install flux" do assert_apt_not_installed("fluxgui") @@ -116,6 +140,14 @@ class UbuntuTest < TestCase test "does not install qemu" do assert_apt_not_installed("qemu") end + + test "does not install localsend" do + assert_snap_not_installed("localsend") + end + + test "does not install pinta" do + assert_apt_not_installed("pinta") + end end private diff --git a/test/bootstrap/windows_test.rb b/test/bootstrap/windows_test.rb index 49c2fb1..94d794e 100644 --- a/test/bootstrap/windows_test.rb +++ b/test/bootstrap/windows_test.rb @@ -56,6 +56,22 @@ class WindowsTest < TestCase assert_winget_installed("SoftwareFreedomConservancy.QEMU") end + test "installs localsend" do + assert_winget_installed("localsend") + end + + test "installs pinta" do + assert_winget_installed("pinta") + end + + test "installs fastfetch" do + assert_winget_installed("fastfetch") + end + + test "installs ollama" do + assert_winget_installed("ollama") + end + private def assert_winget_installed(package_name)