Skip to content

PDS (Personal Deploy Suite)

A cross-platform function library for system administration and tooling deployment across Windows, Linux, and macOS.

Overview

Back in 2015, I was first learning to script. A high school teacher introduced me to PowerShell, though honestly, I didn't fully grasp what scripting was or how the Linux ecosystem worked at that point. The concept of modules and reusable functions was completely foreign to me.

It wasn't until a few years later, in my first system engineering role, that everything clicked. I needed to automate Windows deployments at scale, and I naturally gravitated to PowerShell and GPOs. That's just how you did things in Windows environments. I built up a solid library of scripts and functions during that time, many of which I still maintain today.

When I later shifted to cloud-native work and started using bash more heavily, I hit a frustrating limitation: bash doesn't have a built-in module system like PowerShell. If you want to share custom functions, you're stuck with distro-specific package managers or just manually sourcing the files.

The Concept

That's when PDS was born. I wanted to combine all my scripting knowledge from different platforms into one cohesive framework. PDS (originally "Personal Deploy Suite") holds all the functions I use daily across Windows, Linux, and macOS:

  • Windows: Published to NuGet for easy installation
  • Linux: Currently supports apt (with plans to expand to other package managers)
  • macOS: Actively exploring Homebrew distribution

The functions handle things like:

  • Installing tools not available in native package managers
  • System administration tasks
  • Configuration management
  • Environment setup

Why It Exists

Anyone can fork the repo, add their own custom functions, and install them consistently across all their devices. No more copying scripts around or maintaining separate tooling per platform.

Getting Started

Check out the official repository for the latest documentation and installation instructions. PDS is constantly evolving, so the repo will have the most up-to-date information.

Contributions and forks are welcome. If you build something useful on top of PDS, I'd love to hear about it.

WARNING

PDS installs custom functions directly on your system. Review the code thoroughly before using it in production environments.

While there's nothing malicious in here, package managers are always a potential security risk. Use at your own discretion and always vet what you're installing.