diff --git a/profile.d/MyConfig.class.ps1 b/profile.d/MyConfig.class.ps1 index 28d7b2e..4e7c457 100644 --- a/profile.d/MyConfig.class.ps1 +++ b/profile.d/MyConfig.class.ps1 @@ -1,12 +1,15 @@ class MyConfig { #: System.Management.Automation.IValidateSetValuesGenerator { - hidden static [string[]]$_MyConfigDictionaryPath = @( - $(Join-Path $(Join-Path $MyPSScriptRoot 'src') 'config.files.json'), - $(Join-Path $(Join-Path $MyPSScriptRoot 'src') 'config.files.local.json') - ) + hidden static [hashtable]$_HardCodedConfigDict = @{ + 'myconfig' = @($(Join-Path $(Join-Path $MyPSScriptRoot 'src') 'config.files.json'), + $(Join-Path $(Join-Path $MyPSScriptRoot 'src') 'config.files.local.json')) + 'mymodules' = @($(Join-Path $(Join-Path $MyPSScriptRoot 'src') 'modules.json'), + $(Join-Path $(Join-Path $MyPSScriptRoot 'src') 'modules.local.json')) + } + static [hashtable]GetConfigDictionary() { $local:result = @{} - $result['myconfig'] = [MyConfig]::_MyConfigDictionaryPath; - foreach( $local:jsonSource in [MyConfig]::_MyConfigDictionaryPath ) { + [MyConfig]::_HardCodedConfigDict.Keys | ForEach-Object { $result[$_] = [MyConfig]::_HardCodedConfigDict[$_] } + foreach( $local:jsonSource in $result.myconfig ) { if( -not ( Test-Path $jsonSource ) ) { continue } foreach( $local:prop in $(Get-Content $jsonSource | ConvertFrom-Json).PSObject.Properties ) { $result[$prop.Name] = $prop.Value diff --git a/src/modules.json b/src/modules.json new file mode 100644 index 0000000..2bd93a2 --- /dev/null +++ b/src/modules.json @@ -0,0 +1,7 @@ +{ + "Modules": [ + "Microsoft.PowerShell.UnixCompleters", + "oh-my-posh", + "posh-git" + ] +}