summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--docs/canonical-laptop.md7
-rw-r--r--meta/canonical/snap.txt2
-rw-r--r--scripts/canonical.py10
-rw-r--r--tests/test_canonical.py12
4 files changed, 28 insertions, 3 deletions
diff --git a/docs/canonical-laptop.md b/docs/canonical-laptop.md
index 7485b6c..9048a3a 100644
--- a/docs/canonical-laptop.md
+++ b/docs/canonical-laptop.md
@@ -140,6 +140,13 @@ a terminal tool; this role does not install the pass Secret Service daemon.
## Package Sources
+LXD is installed from `6/stable`. Workshop is installed from `stable` with
+classic confinement, as required by the
+[Workshop installation guide](https://ubuntu.com/workshop/docs/tutorial/part-1-get-started/).
+Package deployment does not initialize LXD storage or networking, or grant LXD
+group membership. Existing Snap installations keep their current track; check
+`snap list lxd workshop` before using Workshop with an existing LXD installation.
+
| Source | Applications |
| -------------- | ------------------------------------------------------------------------------------- |
| Snap, stable | Firefox, Thunderbird, Ghostty, Mattermost, Zoom, Okular, LibreOffice |
diff --git a/meta/canonical/snap.txt b/meta/canonical/snap.txt
index b257610..46a54c1 100644
--- a/meta/canonical/snap.txt
+++ b/meta/canonical/snap.txt
@@ -5,3 +5,5 @@ mattermost-desktop
zoom-client
okular
libreoffice
+lxd
+workshop
diff --git a/scripts/canonical.py b/scripts/canonical.py
index 7e6565f..35bfdcb 100644
--- a/scripts/canonical.py
+++ b/scripts/canonical.py
@@ -20,8 +20,14 @@ def packages(source: str) -> list[str]:
def snap_install_commands() -> list[list[str]]:
return [
- ["sudo", "snap", "install", name, "--channel=stable"]
- + (["--classic"] if name == "ghostty" else [])
+ [
+ "sudo",
+ "snap",
+ "install",
+ name,
+ "--channel=6/stable" if name == "lxd" else "--channel=stable",
+ ]
+ + (["--classic"] if name in {"ghostty", "workshop"} else [])
for name in packages("snap")
]
diff --git a/tests/test_canonical.py b/tests/test_canonical.py
index 018d813..848bf6c 100644
--- a/tests/test_canonical.py
+++ b/tests/test_canonical.py
@@ -97,7 +97,17 @@ class PackageTests(unittest.TestCase):
["sudo", "snap", "install", "ghostty", "--channel=stable", "--classic"],
commands,
)
- self.assertEqual(sum("--classic" in command for command in commands), 1)
+ self.assertIn(
+ ["sudo", "snap", "install", "workshop", "--channel=stable", "--classic"],
+ commands,
+ )
+ self.assertEqual(sum("--classic" in command for command in commands), 2)
+
+ def test_lxd_uses_workshop_supported_track(self):
+ self.assertIn(
+ ["sudo", "snap", "install", "lxd", "--channel=6/stable"],
+ canonical.snap_install_commands(),
+ )
def test_flatpaks_are_user_scoped(self):
commands = canonical.flatpak_install_commands()