diff --git a/src/Workloads/_common/apply-configuration.ps1 b/src/Workloads/_common/apply-configuration.ps1
index 9f8b949..54412e4 100644
--- a/src/Workloads/_common/apply-configuration.ps1
+++ b/src/Workloads/_common/apply-configuration.ps1
@@ -36,7 +36,7 @@ param(
[Parameter(Mandatory)] [string] $Id,
[Parameter(Mandatory)] [string] $ConfigFile,
# AllowEmptyCollection: Windows PowerShell 5.1 rejects empty arrays
- # bound to Mandatory parameters. Some flows (e.g. mac-comfort-shell)
+ # bound to Mandatory parameters. Some flows (e.g. comfort-shell)
# have no post-install CLI to verify - the DSC only installs a font
# and pwsh - so they legitimately pass @() here.
[Parameter(Mandatory)] [AllowEmptyCollection()] [string[]] $RequireCommands
diff --git a/src/docs/development.md b/src/docs/development.md
index 9364fca..868d3de 100644
--- a/src/docs/development.md
+++ b/src/docs/development.md
@@ -1,4 +1,4 @@
-# WindowsDevSetupScripts — Developer Guide
+# Windows Developer Config — Developer Guide
> 👋 **Just want to run something?** See the
> [top-level README](../../README.md). This file is the contributor /
@@ -11,7 +11,7 @@ toolchains and Windows-desktop personalities using `winget` /
On Windows the **core artifact of each flow is a [winget DSC configuration
file](https://learn.microsoft.com/windows/package-manager/configuration/)**
(`configuration.winget` for language toolchains, `dev-config.winget` for the
-Calm OS flow) — a declarative, idempotent description of the machine state
+Windows Dev Config flow) — a declarative, idempotent description of the machine state
required for that flow. Where winget alone is not enough (e.g. `npm install
--global typescript`, registry tweaks, or a `RunOnce` reboot dance) the
configuration calls a DSC `Script` / `RunCommandOnSet` / `Registry`
@@ -27,7 +27,7 @@ configuration actually produced a working toolchain.
## Supported flows
-Each flow's `configuration.winget` (or `dev-config.winget` for Calm OS)
+Each flow's `configuration.winget` (or `dev-config.winget` for Windows Dev Config)
is the source of truth for what gets installed; the table below
summarizes it for quick scanning. Flows marked **manual** are excluded
from the automated CI matrix (they need an interactive desktop session
@@ -46,8 +46,8 @@ extension.
| Python | ✅ automated | `Python.Python.3.13`, `astral-sh.uv` |
| WinForms | 🙋 manual | `Microsoft.DotNet.SDK.10` + the .NET desktop workload (multi-GB; manual to spare CI minutes) |
| WinUI 3 | 🙋 manual | `Microsoft.DotNet.SDK.10`, `Microsoft.VisualStudio.Community`, `Microsoft.WinAppCLI` + WinUI/Universal/ManagedDesktop VS workloads |
-| Calm OS | 🙋 manual | A full distraction-free workstation: apps + ~24 registry tweaks + WSL + Ubuntu (see [`windows-dev-config/README.md`](../windows-dev-config/README.md)) |
-| Comfort Shell | 🙋 manual | WSL distro + zsh/bash + starship + modern CLI bundle + Cascadia Code Nerd Font + themed Windows Terminal profile (see [`wsl-comfort/readme.md`](../wsl-comfort/readme.md)) |
+| Windows Dev Config| 🙋 manual | A full distraction-free workstation: apps + ~24 registry tweaks + WSL + Ubuntu (see [`windows-dev-config/README.md`](../windows-dev-config/README.md)) |
+| WSL Comfort | 🙋 manual | WSL distro + zsh/bash + starship + modern CLI bundle + Cascadia Code Nerd Font + themed Windows Terminal profile (see [`wsl-comfort/readme.md`](../wsl-comfort/readme.md)) |
See [`manifest.yml`](../manifest.yml) for the canonical declarative
list (paths, build/run commands, onboarding URLs).
@@ -78,8 +78,8 @@ Workloads/
rust/ # configuration.winget (core) + install.ps1 (thin shim)
winforms/ # configuration.winget (core) + install.ps1 (thin shim)
winui/ # configuration.winget (core) + install.ps1 (thin shim)
-windows-dev-config/ # Calm OS — dev-config.winget (single-file DSC) + install.ps1 + README.md
-wsl-comfort/ # Comfort Shell — install.ps1 (Windows side) + comfort-shell-bootstrap.sh (Linux side, self-contained) + readme.md
+windows-dev-config/ # Windows Dev Config — dev-config.winget (single-file DSC) + install.ps1 + README.md
+wsl-comfort/ # WSL Comfort — install.ps1 (Windows side) + comfort-shell-bootstrap.sh (Linux side, self-contained) + readme.md
tests/
_harness/ # build-run-diff harness used by CI:
# run-flow.ps1 - all flows (build + run + diff stdout)
@@ -94,8 +94,8 @@ tests/
rust/ # Cargo.toml + src/main.rs + expected.txt
winforms/ # hello.csproj + Program.cs + expected.txt
winui/ # hello.csproj + Program.cs + expected.txt
- calm-os/ # probe.ps1 + expected.txt (manual-only flow)
- comfort-shell/ # hello.sh + expected.txt (manual-only flow)
+ windows-dev-config/# probe.ps1 + expected.txt (manual-only flow)
+ wsl-shell/ # hello.sh + expected.txt (manual-only flow)
manifest.yml # declarative list of flows consumed by CI **and** by the extension
future/
cmdpal/ # PowerToys Command Palette extension (reads manifest.yml)
diff --git a/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Models/ScriptEntry.cs b/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Models/ScriptEntry.cs
index ec559be..c0038f9 100644
--- a/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Models/ScriptEntry.cs
+++ b/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Models/ScriptEntry.cs
@@ -116,7 +116,7 @@ public class WindowsTarget
/// Optional PowerShell step that runs in the same Windows Terminal tab
/// after winget configure succeeds. Use when a flow's DSC
/// installs the machine-side prerequisites but the real setup is an
- /// interactive script (e.g. mac-my-wsl.ps1 -Interactive). The
+ /// interactive script (e.g. comfort-shell-bootstrap.sh). The
/// script path is repo-relative; args are appended verbatim.
///
[JsonPropertyName("postConfigure")]
diff --git a/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Pages/ScriptDetailPage.cs b/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Pages/ScriptDetailPage.cs
index ed5531c..3b9bfc5 100644
--- a/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Pages/ScriptDetailPage.cs
+++ b/src/future/cmdpal/QuickWingetSetup/QuickWingetSetup/Pages/ScriptDetailPage.cs
@@ -34,7 +34,7 @@ public override IListItem[] GetItems()
var winSubtitle = $"winget configure {winPath}";
// Flows that need WSL even though they register as Windows-only
- // (e.g. mac-comfort-shell installs a font via DSC but the
+ // (e.g. comfort-shell installs a font via DSC but the
// follow-up manual step runs inside a WSL distro). Surface the
// same ⚠️ affordances we show on Linux items.
if (_script.RequiresWsl)
@@ -191,8 +191,8 @@ public override ICommandResult Invoke()
return CommandResult.Dismiss();
}
- // Resolve an optional post-configure step (e.g. mac-my-wsl.ps1
- // -Interactive) and chain it in the same wt tab so the user gets
+ // Resolve an optional post-configure step (e.g. comfort-shell-bootstrap.sh)
+ // and chain it in the same wt tab so the user gets
// one continuous experience instead of a manual follow-up.
string? postPath = null;
string? postArgs = null;
diff --git a/src/future/cmdpal/README.md b/src/future/cmdpal/README.md
index d1111d6..3f56f5c 100644
--- a/src/future/cmdpal/README.md
+++ b/src/future/cmdpal/README.md
@@ -37,7 +37,7 @@ The list view groups by `category`, with this priority order:
| 1 | `languages` | Language toolchains (typescript, python, dotnet, ...).|
| 2 | `desktop` | Desktop frameworks on top of a language (winforms, winui). |
| 3 | (other / default) | Any unrecognized category sorts here. |
-| 4 | `user-experience` | OS-feel flows (common-adjustments, mac-comfort-shell, calm-os). |
+| 4 | `user-experience` | OS-feel flows (windows-dev-config, wsl-comfort). |
| 4 | `shell` | Legacy alias for `user-experience`. New flows should pick `user-experience`. |
Within a rank, flows sort alphabetically by category then by name.
diff --git a/src/manifest.yml b/src/manifest.yml
index 083142b..2416cb2 100644
--- a/src/manifest.yml
+++ b/src/manifest.yml
@@ -26,7 +26,7 @@
# - "user-experience" : OS-feel / shell flows that
# shape the desktop rather than
# install dev toolchains
-# (wsl-comfort, calm-os,
+# (wsl-comfort, windows-dev-config,
# common-adjustments).
# - "shell" : legacy alias for
# "user-experience"; new flows
@@ -221,8 +221,8 @@ flows:
expected: src/tests/python/expected.txt
version: "python --version; uv --version"
- - id: comfort-shell
- name: Comfort Shell
+ - id: wsl-comfort
+ name: WSL Comfort
description: Cozy WSL shell setup — zsh/bash, starship, modern CLI tools, and shims
category: user-experience
tags: [user-experience, wsl, zsh, bash, shell, starship, homebrew, terminal, nerd-font]
@@ -236,20 +236,20 @@ flows:
windows:
install: wsl-comfort/install.ps1
build: ""
- run: wsl -- bash src/tests/comfort-shell/hello.sh
- expected: src/tests/comfort-shell/expected.txt
+ run: wsl -- bash src/tests/wsl-comfort/hello.sh
+ expected: src/tests/wsl-comfort/expected.txt
version: "wsl --status"
- - id: calm-os
- name: Calm OS
+ - id: windows-dev-config
+ name: Windows Dev Config
description: Distraction-free dev workstation — apps + OS settings + WSL, all in one DSC
category: user-experience
- tags: [user-experience, calm-os, distraction-free, taskbar, wsl, ubuntu]
+ tags: [user-experience, windows-dev-config, distraction-free, taskbar, wsl, ubuntu]
icon: 🧘
onboardingUrl: https://dev.windows.com
# Heavy machine-state changes (Sudo, Recall off, Click To Do off, WSL +
# Ubuntu install with a forced reboot, etc.) — keep out of the automated
- # matrix. The probe under src/tests/calm-os/probe.ps1 is for a human running
+ # matrix. The probe under src/tests/windows-dev-config/probe.ps1 is for a human running
# the flow locally; it asserts that `git` resolves on PATH after the
# install (the apps module's first dep) as a fast smoke signal.
manual_test: true
@@ -258,8 +258,8 @@ flows:
install: windows-dev-config/install.ps1
configuration: windows-dev-config/dev-config.winget
build: ""
- run: pwsh -NoProfile -File src/tests/calm-os/probe.ps1
- expected: src/tests/calm-os/expected.txt
+ run: pwsh -NoProfile -File src/tests/windows-dev-config/probe.ps1
+ expected: src/tests/windows-dev-config/expected.txt
version: "git --version"
# Curated bundles of flows. Surfaced by the Command Palette extension; not
diff --git a/src/tests/calm-os/expected.txt b/src/tests/windows-dev-config/expected.txt
similarity index 100%
rename from src/tests/calm-os/expected.txt
rename to src/tests/windows-dev-config/expected.txt
diff --git a/src/tests/calm-os/probe.ps1 b/src/tests/windows-dev-config/probe.ps1
similarity index 94%
rename from src/tests/calm-os/probe.ps1
rename to src/tests/windows-dev-config/probe.ps1
index a73dc46..34f433d 100644
--- a/src/tests/calm-os/probe.ps1
+++ b/src/tests/windows-dev-config/probe.ps1
@@ -1,4 +1,4 @@
-# Smoke-test probe for the calm-os user-experience flow.
+# Smoke-test probe for the windows-dev-config user-experience flow.
#
# After the master config has been applied, the apps module installs
# git via winget. The simplest signal a human can use to confirm the
diff --git a/src/tests/wsl-comfort-shell/expected.txt b/src/tests/wsl-comfort-shell/expected.txt
deleted file mode 100644
index af5626b..0000000
--- a/src/tests/wsl-comfort-shell/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello, world!
diff --git a/src/tests/wsl-comfort-shell/hello.sh b/src/tests/wsl-comfort-shell/hello.sh
deleted file mode 100644
index aa02f77..0000000
--- a/src/tests/wsl-comfort-shell/hello.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env zsh
-# Minimal hello-world for the wsl-comfort-shell flow.
-#
-# Invoked via `wsl -d -- zsh -lc 'bash tests/wsl-comfort-shell/hello.sh'`.
-# Running this under zsh -lc proves that the shell this flow configures
-# (zsh with the wsl-comfort managed block in ~/.zprofile) at least
-# dot-sources its login files without errors.
-#
-# Note: this flow is manual_test: true — CI does not execute this.
-echo "Hello, world!"
diff --git a/src/tests/comfort-shell/expected.txt b/src/tests/wsl-comfort/expected.txt
similarity index 100%
rename from src/tests/comfort-shell/expected.txt
rename to src/tests/wsl-comfort/expected.txt
diff --git a/src/tests/comfort-shell/hello.sh b/src/tests/wsl-comfort/hello.sh
similarity index 100%
rename from src/tests/comfort-shell/hello.sh
rename to src/tests/wsl-comfort/hello.sh
diff --git a/src/windows-dev-config/install.ps1 b/src/windows-dev-config/install.ps1
index 1194635..c2facff 100644
--- a/src/windows-dev-config/install.ps1
+++ b/src/windows-dev-config/install.ps1
@@ -1,16 +1,16 @@
<#
.SYNOPSIS
- Apply the Calm OS user-experience configuration on Windows.
+ Apply the Windows Dev Config user-experience configuration on Windows.
.DESCRIPTION
Thin CI/dev shim around `dev-config.winget`, a winget DSC configuration
- that sets up the full Calm OS developer workstation (apps, distraction-
- free desktop, taskbar polish, Recall off, dark theme, WSL + Ubuntu).
+ that sets up the full Windows Dev Config developer workstation (apps,
+ distraction-free desktop, taskbar polish, Recall off, dark theme, WSL + Ubuntu).
The shim only:
* applies the DSC config with retry,
* rehydrates PATH in the current session,
- * emits `INSTALL_OK: calm-os` for the test harness.
+ * emits `INSTALL_OK: windows-dev-config` for the test harness.
RequireCommands lists `git` because the master config installs it
unconditionally; asserting it on PATH catches a clean-install failure
@@ -24,6 +24,6 @@ $ErrorActionPreference = 'Stop'
Set-StrictMode -Version Latest
& (Join-Path $PSScriptRoot '..\Workloads\_common\apply-configuration.ps1') `
- -Id 'calm-os' `
+ -Id 'windows-dev-config' `
-ConfigFile (Join-Path $PSScriptRoot 'dev-config.winget') `
-RequireCommands @('git')