Sets up a Solids Group workstation on Ubuntu 24.04 or 26.04 LTS (amd64/x86-64) with KDE, research and development tools, Zoom Workplace, Slack with math rendering, and ISU VPN support. Requires internet access, curl, and sudo privileges.
Regular install — keep the terminal open; enter your sudo password if prompted. Press L to toggle the live log or Ctrl+C to cancel.
curl -fsSL -H 'Accept: application/vnd.github.raw+json' 'https://api.github.com/repos/solidsgroup/NewComputer/contents/install.sh?ref=master' | sudo bashUnattended install — starts a background service and continues after closing the terminal or logging out. Only the initial sudo authentication may require input.
sudo systemd-run --unit=new-computer-configure --collect /bin/bash -o pipefail -c "curl -fsSL -H 'Accept: application/vnd.github.raw+json' 'https://api.github.com/repos/solidsgroup/NewComputer/contents/install.sh?ref=master' | bash"Neither command requires a Git clone. Both run without installation prompts. Failed tasks are marked ✗ in the final summary; subsequent tasks still run. Any task failure gives a nonzero exit status. Reboot after successful completion; the installer does not reboot automatically.
- Background progress:
sudo journalctl -fu new-computer-configure.service - Full installer log:
sudo tail -f /var/log/new-computer-configure.log - Background status:
systemctl status new-computer-configure.service(the service is removed after completion). - Local checkout:
sudo ./new-computer-configure.sh - Failure or cancellation: check the log, resolve the problem, and rerun. Completed changes are not rolled back; repeat runs reapply setup and skip existing large downloads.
- Desktop: KDE Plasma, LightDM/Slick Greeter, fonts, and group wallpapers. Defaults include a dark theme, a 30-minute screen lock, and no automatic display sleep, suspend, or lid-close action.
- Applications: Chrome, Zoom Workplace, Slack with math-with-slack, Emacs, Evince, Inkscape with TexText, Meld, and FFmpeg.
- Research and development: Git/Git LFS, GitHub CLI (
gh), Python/pip/Flask, Node.js/npm, Clang/clangd, the NVIDIA CUDA toolkit (nvcc), MPICH, development libraries, TeX Live (includingtexlive-bibtex-extra),latexmk, and VisIt 3.5/3.4. - AI command-line tools: Codex, Claude Code, and Gemini CLI, with an isolated Node.js 24 runtime.
- Networking: OpenSSH, UFW with SSH allowed, and OpenConnect/NetworkManager configured for ISU.
-
CLI sign-in: run
codex,claude, orgeminias your normal user; usegh auth loginfor GitHub. Credentials are not configured by the installer. AI CLI versions are pinned incli/install-ai-clis; rerunning setup installs the versions specified there. -
ISU VPN: click Connect beside ISU in KDE, or run
isu-vpn. Complete browser sign-in and MFA. Usesvpn.iastate.edu, the Primary group, and split routing based on official ISU instructions, adapted for OpenConnect. VPN login is not part of the unattended installation. -
Chrome: excluded from KDE’s GTK global-menu integration to prevent its startup crash. Applied to existing users and at login for future accounts.
-
Zoom: installed from Zoom's official Ubuntu package using APT so all required dependencies are installed automatically. Existing installations are retained without another 300 MB download.
-
TexText: restart Inkscape, then open Extensions → Text → TexText. If an account already has a manually installed TexText copy, the installer disables that duplicate so it cannot conflict with Ubuntu's package. The old copy is retained under
~/.config/inkscape/disabled-extensions, and itsdefault_packages.texremains active at the original configured path. -
Slack math: restart Slack; use
$ ... $or$$ ... $$. Rendering requires the patch on each viewer's desktop. After a Slack update, close Slack and runsudo /usr/local/sbin/install-slack-mathto reapply it. -
VisIt: use
visitorvisit3.5for 3.5.0, andvisit3.4for 3.4.2. -
CUDA: run
nvcc --versionto verify the compiler. Ubuntu 24.04 installs itsnvidia-cuda-toolkitpackage; Ubuntu 26.04 installs the newercuda-toolkitpackage. Compiling does not require an NVIDIA GPU, but running GPU code requires supported NVIDIA hardware and a compatible driver. The installer deliberately does not install or replace the hardware-specific GPU driver.
CI checks both Ubuntu versions on every push and monthly: installer flow, package dependency resolution, external download URLs, terminal controls, helper tests, and real AI CLI installation/version checks. Desktop rendering and authenticated VPN access require manual verification.
| Package or integration | Dependency that can break |
|---|---|
| Codex, Claude Code, Gemini CLI | Pinned npm packages and native dependencies; separate Node.js archive from nodejs.org with a pinned checksum. |
| Google Chrome | Direct .deb download from Google's website. |
| Zoom Workplace | Latest .deb redirect on Zoom's website; a new upstream release is installed on fresh systems. |
| Slack desktop | Version-specific .deb URL on Slack's download server. |
| math-with-slack | Pinned GitHub patcher and MathJax archive from npm; Slack updates can overwrite or invalidate the patch. |
| VisIt 3.5/3.4 | Large, version-specific GitHub release archives with pinned checksums; Ubuntu 24 binaries are also used on Ubuntu 26.04. |
| TexText compatibility fix | Ubuntu 26.04 patch depends on TexText's Python source layout; package updates can replace it. |
| CUDA GPU execution | Requires compatible NVIDIA hardware and a matching kernel driver; this installer installs the toolkit but does not select a driver. |
The bootstrap also depends on GitHub's API, commit feed, and raw-file downloads. Most other software comes from Ubuntu's APT repositories.