Complete guide for Windows users using PowerShell
This guide covers setting up blackdot on native Windows with PowerShell. For WSL2, use the standard Linux installation.
irm https://raw.githubusercontent.com/blackwell-systems/blackdot/main/install-windows.ps1 | iexThis will:
- Clone the repository to
~/workspace/blackdot - Install the PowerShell module
- Download the Go binary
- Configure your PowerShell profile
After installation, restart PowerShell and run blackdot setup.
For a minimal installation (shell config only, no setup wizard):
$env:BLACKDOT_MINIMAL = '1'; irm https://raw.githubusercontent.com/blackwell-systems/blackdot/main/install-windows.ps1 | iexIf you don't need the Go binary:
$env:BLACKDOT_NO_BINARY = '1'; irm https://raw.githubusercontent.com/blackwell-systems/blackdot/main/install-windows.ps1 | iex# 1. Clone the repository
git clone https://github.com/blackwell-systems/blackdot.git $HOME\workspace\blackdot
# 2. Install the PowerShell module
cd $HOME\workspace\blackdot\powershell
.\Install-Blackdot.ps1 -Binary
# 3. Restart PowerShell or import manually
Import-Module Blackdot
# 4. Run setup wizard
blackdot setup- Windows 10/11 (PowerShell 5.1+ included)
- Git for Windows - Download or
winget install Git.Git - PowerShell 7 (recommended) -
winget install Microsoft.PowerShell
- Go 1.24+ - For building the CLI from source:
winget install GoLang.Go - Bitwarden CLI - For vault sync:
winget install Bitwarden.CLI - 1Password CLI - Alternative vault:
winget install AgileBits.1Password.CLI - Docker Desktop - For Docker tools:
winget install Docker.DockerDesktop
If you just want the developer tool aliases:
# Clone
git clone https://github.com/blackwell-systems/blackdot.git $HOME\workspace\blackdot
# Install module
cd $HOME\workspace\blackdot\powershell
.\Install-Blackdot.ps1
# Done! Restart PowerShellThis gives you:
- All tool aliases (ssh-, aws-, go-, rust-, py-, docker-)
- Hook system integration
- Directory change hooks
For complete functionality including vault sync:
# Clone
git clone https://github.com/blackwell-systems/blackdot.git $HOME\workspace\blackdot
cd $HOME\workspace\blackdot
# Build and install the Go CLI
go build -o blackdot.exe ./cmd/blackdot
Move-Item blackdot.exe $HOME\.local\bin\
# Add to PATH (if not already)
$env:Path += ";$HOME\.local\bin"
[Environment]::SetEnvironmentVariable("Path", $env:Path, "User")
# Install PowerShell module
cd powershell
.\Install-Blackdot.ps1
# Run setup wizard
blackdot setupInstall via Scoop (recommended for developers) or winget:
# Scoop
scoop bucket add blackwell-systems https://github.com/blackwell-systems/scoop-bucket
scoop install blackdot
# winget (PR pending — not yet available)
# winget install BlackwellSystems.blackdotOr download a pre-built binary directly from the releases page and place it in your PATH.
Similar to brew bundle on macOS/Linux, Windows has a package installer script:
# Full installation (all packages)
cd $HOME\workspace\blackdot\powershell
.\Install-Packages.ps1
# Minimal (essential CLI tools only)
.\Install-Packages.ps1 -Tier minimal
# Enhanced (modern CLI + dev languages, no Docker/editors)
.\Install-Packages.ps1 -Tier enhanced
# Preview what would be installed
.\Install-Packages.ps1 -DryRun| Tier | Packages | Use Case |
|---|---|---|
| minimal | git, gh, pwsh, bat, ripgrep, fzf, jq | Essential CLI tools |
| enhanced | + fd, eza, zoxide, glow, dust, AWS CLI, Go, Rust, Python, fnm | Developer workstation |
| full | + Docker Desktop, VS Code, Windows Terminal, 1Password CLI | Complete setup |
| Category | Packages |
|---|---|
| CLI Tools | bat, fd, ripgrep, fzf, eza, zoxide, glow, dust, jq |
| Development | Go, Rust, Python, fnm (Node.js manager) |
| Cloud | AWS CLI, Bitwarden CLI, 1Password CLI, age (encryption) |
| Containers | Docker Desktop |
| Editors | VS Code, Windows Terminal |
Instead of NVM (Unix-only), use fnm (Fast Node Manager) - cross-platform:
# Install fnm
winget install Schniz.fnm
# Or via the package script
.\Install-Packages.ps1 -Tier enhanced
# Install Node.js LTS
fnm-install lts-latest
# Switch versions
fnm-use 20
# List installed versions
fnm-listfnm auto-switches Node versions when entering directories with .nvmrc or .node-version files.
| Category | Commands | Description |
|---|---|---|
| SSH | ssh-keys, ssh-gen, ssh-tunnel, ssh-status |
SSH key and tunnel management |
| AWS | aws-profiles, aws-who, aws-login, aws-switch |
AWS profile management |
| CDK | cdk-init, cdk-env, cdk-outputs, cdk-status |
AWS CDK helpers |
| Go | go-new, go-test, go-lint, go-info |
Go development tools |
| Rust | rust-new, rust-lint, rust-info |
Rust development tools |
| Python | py-new, py-test, py-info |
Python development tools |
| Docker | docker-ps, docker-images, docker-clean, docker-status |
Docker management |
| Node.js | fnm-install, fnm-use, fnm-list, Initialize-Fnm |
Node version management |
| Navigation | z (via zoxide), Initialize-Zoxide |
Smart directory jumping |
| Hooks | Invoke-BlackdotHook, Register-BlackdotHook |
24 hook points |
| Command | Description |
|---|---|
blackdot setup |
Interactive setup wizard |
blackdot status |
Show configuration status |
blackdot doctor |
Health check with auto-fix |
blackdot vault pull |
Pull secrets from vault |
blackdot vault push |
Push secrets to vault |
blackdot features |
Manage feature flags |
# Install Bitwarden CLI
winget install Bitwarden.CLI
# Login and unlock
bw login
$env:BW_SESSION = $(bw unlock --raw)
# Configure blackdot
blackdot setup
# Select Bitwarden as vault backend# Install 1Password CLI
winget install AgileBits.1Password.CLI
# Sign in
op signin
# Configure blackdot
blackdot setup
# Select 1Password as vault backend# Check if module is installed
Get-Module -ListAvailable Blackdot
# Check profile imports it
Get-Content $PROFILE
# Manual import
Import-Module Blackdot -Verbose# Ensure blackdot CLI is in PATH
where.exe blackdot
# If not found, add to PATH
$env:Path += ";$HOME\.local\bin"# Enable script execution
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned# Check Docker is running
docker info
# Enable docker_tools feature
blackdot features enable docker_toolsAfter installation:
$HOME\
├── workspace\
│ └── blackdot\ # Repository clone
│ ├── powershell\ # PowerShell module source
│ └── ...
├── Documents\
│ └── PowerShell\
│ └── Modules\
│ └── Blackdot\ # Installed module
└── .config\
└── blackdot\
└── config.json # Configuration
# Update repository
cd $HOME\workspace\blackdot
git pull
# Reinstall module
cd powershell
.\Install-Blackdot.ps1 -Force
# Rebuild CLI (if using Go)
go build -o blackdot.exe ./cmd/blackdot
Move-Item -Force blackdot.exe $HOME\.local\bin\| Feature | Unix (ZSH) | Windows (PowerShell) |
|---|---|---|
| Shell config | ~/.zshrc |
$PROFILE |
| Tool aliases | ZSH functions | PowerShell functions |
| Hooks | 24 ZSH hooks | 24 PowerShell hooks |
| Vault sync | ✅ | ✅ |
| Feature flags | ✅ | ✅ |
| Go CLI | ✅ | ✅ |
| Auto-install | curl | bash |
Manual (see above) |
- Documentation: https://github.com/blackwell-systems/blackdot
- Issues: https://github.com/blackwell-systems/blackdot/issues
- PowerShell Commands:
Get-Command -Module Blackdot
Last updated: 2025-12-08