Skip to content
michielvhaPublic

About

Portable Deploy Suite - Shell functions to easily setup a new dev instance on Windows, macOS & Linux

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

PDS: Portable Deploy Suite. Workstation setup and everyday admin scripts.

Portable Deploy Suite

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 coverage

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.

Get started

Clone the repository to inspect the scripts and use the functions you need:

git clone https://github.com/michielvha/PDS.git
cd PDS

Linux

For a fresh Debian or Ubuntu workstation, load the bootstrap functions from your checkout:

source bash/debian/deploy/bootstrap.sh
bootstrap_workstation repos

The 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 repos

See packaging for the build and installation instructions.

Windows

Import the PowerShell module from your checkout:

Import-Module .\pwsh\module\PDS.psm1
Get-Command -Module PDS

Use 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.

macOS

Read the macOS guide and review the installer for its Homebrew packages and shell changes before running it.

Find your way around

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

Development

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.

References

PowerShell Gallery · Tiny11Builder · Win11Debloat · Crapfixer

License

GPL-3.0.

About

Portable Deploy Suite - Shell functions to easily setup a new dev instance on Windows, macOS & Linux

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages