This article is part of a series about powershell in general and the multiplatform nature of Powershell-Core specifically.

TLDR

Got to PsDevScripts on Github to find an easy entry to using powershell with whichever OS.

My Intentions

In the last article in this series I wrote mainly about the possibility of using powershell on multiple platforms. In no way I want to talk people into abandoning there tried and true setup and diving heads deep into powershell. I just wanted to talk about the advantages I see.

How to make the Entry easy

Many comments I got for the last article read something like I wanted to try pwsh for a long time but didn't find a good book(other resource) to start with. As for resources, I named some at the end of the last article.

In my opinion the easiest way of getting into a shell is just using it though. That's why I cleaned up my personal suite of setup scripts and helper modules I use on every system: PsDevScripts on Github

I will update this repository in the future as I myself go along with learning about powershell.

Parts of my Setup

Following is a little more detailed explanation to every part of this suite.

Installer Scripts

While cleaning up the repo I noticed that I would like to just start a single script and be done with it. Everybody that wants to try out this basic setup can just run InstallDefaultSetup.ps1 .

Modules

For now I included the two modules that I always install on a new machine:

Module Description posh-git Autocomplete for git commands posh-docker Autocomplete for docker(-compose) commands PowershellConfig.psm1 Functions to interact with your pwsh-config

Default Profile

# import all modules in this folder Get-ChildItem -Filter "*.psm1" -File "~\Github\PsDevScripts" | ForEach-Object {Import-Module $_.FullName} # activate modules you want always to be active Import-Module -Force posh-git, posh-docker # configure posh-git $global:GitPromptSettings.DefaultPromptAbbreviateHomeDirectory = $true $global:GitPromptSettings.BeforeText = '[' $global:GitPromptSettings.AfterText = '] ' # additional functions that are machine specific

All this does it importing the installed modules into your session. I use the the term installed loosely here, as I also import modules included in my repository.

At the end there is a very basic configuration for posh-git just so your command prompt is a little bit cleaner when navigating through git repos.

Further Questions?

With the above setup you can get started with powershell and the git/docker based workflow I tend to follow.

Now I would be very much interested in questions that come to mind for someone reading about this setup. I would be happy to answer them in a future article or in a conversation on twitter, reddit or email.

Till next time.