Skip to content

Support for an automated install of Regolith #1129

@nagi

Description

@nagi

New Feature - "officially" support automated installs

TLDR

Officially support this .../install-release-ubuntu-22.04-amd64.txt, which is tucked behing the Ubuntu 22.04 tab here
.../docs/using-regolith/install/.

Installing Regolith is a manual process:

  1. Go to the Regolith website
  2. Navigate to the install page on the docs
  3. Copy and paste a bunch of commands

It would be nice to be able to automate this in a manor which should work across differing versions of Regolith. Currently, any of those steps may change between versions for perfectly legitimate and reasonable reasons.

A potential solution

Something like the package manager Homebrew does...

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Or, if that's a bit too much, something like the Clojure tool Leiningen does. Their install instructions link to a script which installs the latest stable version, but leaves it to the user to execute. They might curl it down, but at their own discretion.

The script would contain something like:

#!/bin/env bash

set -e

UBUNTU_CODENAME=$(lsb_release -cs)
REGOLITH_STABLE_VERSION=v3.2

case "$UBUNTU_CODENAME" in
"noble" | "jammy")
  echo "Installing Regolith $REGOLITH_STABLE_VERSION"
  ;;
*)
  echo "Error: Currently, only 'noble' or 'jammy' are supported on the stable release of Regolith." >&2
  echo "Your current Ubuntu codename is: $UBUNTU_CODENAME" >&2
  exit 1
  ;;
esac

wget -qO - https://archive.regolith-desktop.com/regolith.key | gpg --dearmor | sudo tee /usr/share/keyrings/regolith-archive-keyring.gpg >/dev/null
echo deb "[arch=amd64 signed-by=/usr/share/keyrings/regolith-archive-keyring.gpg] https://archive.regolith-desktop.com/ubuntu/stable $UBUNTU_CODENAME $REGOLITH_STABLE_VERSION" | sudo tee /etc/apt/sources.list.d/regolith.list
sudo apt update
sudo apt install regolith-desktop regolith-session-flashback regolith-look-lascaille

... which get's updated during the release process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageAny bug that requires classification by a contributor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions