PowerShell Profile Restructuring
Goal: Restructure the profile directory structure to be simpler and more consolidated, utilizing custom, tailor made modules where necessary.
Primary Features
-
Maintain and Manage existing functionalities such as:
- Installed Modules
- Installed Scripts
- Downloaded/Updated Help
-
Keep up-to-date, comprehensive documentation about each aspect of the profile and its underlying components (i.e. options, integrations, completions, custom functions/aliases, etc.)
- Architectural Decision Records
-
Migrate all customized resources and source code into single, centralized profile
Sourcedirectory.
Current Setup
Default Folders:
- Help: PowerShell Help files for installed modules and cmdlets
- Modules: Installed (CurrentUser Scoped) Modules
- Scripts: Installed (CurrentUser Scoped) Modules
Default Files:
Microsoft.PowerShell_Profile.ps1:CurrentUser.CurrentHostProfileProfile.ps1:CurrentUser.AllHostsProfilepowershell.config.json: PowerShell config/settings file- README.md
- .gitignore, .gitattributes, .editorconfig
- desktop.ini (for applying icon to folder)
Proposed Setup
- Add new
Sourcefolder:- Source Code that gets loaded by profiles on startup:
- Custom Functions/Aliases
- Completions/Completion Modules
- Other "profile" integrations (Chocolatey, Scoop, etc.)
- Customizations and Options:
- PSReadLine
- PSDefaultParameters
- oh-my-posh Prompt
- Secret Management:
- ...
- Tests/Assertions:
- ExecutionPolicy
- Trusted PSGallery, NuGet, and Personal GitHub Feeds (PackageManagement, PowerShellGet, PSResourceGet)
- Networking Assertions and TLS1.2 Protocol
- Tool Assertions (i.e. has GitHub CLI installed, etc.)
- Pester Tests for simple computer maintenance things (Disk space, up-to-date software, etc.
- Source Code that gets loaded by profiles on startup:
List view
0 issues of 2 selected
- Status: Open.#16 In jimbrig/PowerShell;
- Status: Open (in progress).jimbrig/PowerShellnumber 17#17 In jimbrig/PowerShell;