The scripts I use to set up my machines and handle the admin work that comes after. Software installs, shell configuration, cloud tooling, and Windows administration, collected in one place.
PDS has Bash functions for Linux, a PowerShell module for Windows, and Homebrew setup scripts for macOS. Each platform has its own entry points and coverage.
Bash · PowerShell · macOS · Issues
| Platform | What is here | Where to start |
|---|---|---|
| Debian / Ubuntu | Staged workstation bootstrap, software and shell functions, .deb packaging, and the pds CLI |
Bootstrap guide |
| Fedora | Software installers and a separate system bootstrap script. The staged workstation bootstrap is Debian-only. | Fedora scripts |
| Arch Linux | Setup and virtualisation scripts. No staged workstation bootstrap. | Arch scripts |
| Windows | PowerShell functions for software, shells, cloud and Kubernetes tools, diagnostics, and administration | PowerShell module |
| macOS | Homebrew installation and shell setup scripts | macOS guide |
The Debian bootstrap still needs a full run on a real Linux host. Issue #32 tracks installation, credential storage, and package validation. Existing scripts do not establish equivalent coverage across platforms.
Clone the repository to inspect the scripts and use the functions you need:
git clone https://github.com/michielvha/PDS.git
cd PDSFor a fresh Debian or Ubuntu workstation, load the bootstrap functions from your checkout:
source bash/debian/deploy/bootstrap.sh
bootstrap_workstation reposThe repos stage needs GitHub CLI authentication. Other stages install the base system tools, the development stack, and GitHub authentication tooling. Run bootstrap_workstation without a stage to run them all.
Review the bootstrap guide before running the full setup. The base stage upgrades the system, enables passwordless sudo, and replaces the user's Zsh configuration. Installer functions may fetch additional scripts from GitHub.
If the .deb package is already installed:
pds help
pds list
pds search docker
pds show install_docker
pds bootstrap reposSee packaging for the build and installation instructions.
Import the PowerShell module from your checkout:
Import-Module .\pwsh\module\PDS.psm1
Get-Command -Module PDSUse the function documentation and module source to choose what to run. The Windows setup script makes system changes and installs a personal selection of applications.
Read the macOS guide and review the installer for its Homebrew packages and shell changes before running it.
| Path | Contents |
|---|---|
bash/common/ |
Shared shell, Git, cloud, and software functions |
bash/debian/ |
Debian and Ubuntu installers, desktop setup, and workstation bootstrap |
bash/fedora/ · bash/arch/ |
Distribution-specific scripts |
pwsh/module/Public/ |
PowerShell functions grouped by purpose |
pwsh/docs/ |
PowerShell function reference |
darwin/ |
macOS installation and shell configuration |
packaging/ |
Debian package, CLI, and container configuration |
docs/ |
Setup guides |
AGENTS.md pins the shared engineering conventions used with vh-adlc. Read it before changing the scripts. A new feature gets a feature document with acceptance criteria and a test plan; its issue tracks the work.
The APT workflow includes ShellCheck and package installation checks. PowerShell validation and broader bootstrap coverage still need work. See the open issues for the backlog.
PowerShell Gallery · Tiny11Builder · Win11Debloat · Crapfixer