Introduction of BitWarden package + prep

+ BitWarden module for easy autologon (not very secure but convinent on
  personal machines) - Will think this over some more afterwards
* Get-Path will always return without trailing directory separator
  (might want to make this 'always' for dirs, but unsure yet)
+ Added Edit-MountUnit scaffolding for later modifying it to import a
  template on new mount units, and easy edit of systemd mount and
  automount units.
This commit is contained in:
Gal on Sygin 2022-02-03 19:08:16 -05:00
parent 40cb17d419
commit c0131deba4
7 changed files with 64 additions and 21 deletions

19
BitWarden/_.package.json Normal file
View File

@ -0,0 +1,19 @@
{
"package": {
"Name": "BitWarden",
"Condition": [
{
"custom": null,
"System": null,
"Hostname": null,
"Username": null,
"CmdletExists": null,
"ModuleExists": null,
"AppExeExists": [
"bw"
],
"Logic": 0
}
]
}
}

View File

@ -0,0 +1,10 @@
if( -not (Test-Path env:BITWARDEN_CLI_PATH) ) {
$env:BITWARDEN_CLI_PATH = Get-Command bw -Type Application | Select-Object -First 1 -ExpandProperty Source
}
$local:bwPath = Join-Path $HOME 'tmp'
$null = New-Item -ItemType Directory -Path $bwPath -Force
$bwPath = Join-Path $bwPath 'git-credential-bw.key'
if( Test-Path $bwPath ) {
$env:BW_SESSION= Get-Content $bwPath
}

View File

@ -0,0 +1,6 @@
{
"Always": [
"BitwardenWrapper"
]
}

View File

@ -5,6 +5,10 @@
$local:pathChar = [IO.Path]::DirectorySeparatorChar
$MountPath = Get-Path $MountPath
$local:MountName = $MountPath -replace '-','\\x2d' -replace $pathChar,'-' -replace '^-','' -replace '-^',''
$local:MountName = $($($(
$MountPath -replace '-','\\x2d'
).Replace( $pathChar, '-' )
) -replace '^-',''
)
$MountName

View File

@ -5,6 +5,10 @@ param(
$local:detectedDisistro = cat /etc/os-release | Select-String -Pattern "^ID=" | ForEach-Object { $_ -split '=' | Select-Object -Skip 1 }
switch ($detectedDisistro) {
'arch' { Update-ArchOSz -Mode:$Mode $args }
'ubuntu' { Update-UbuntuOSz -Mode:$Mode $args }
'arch' {
Update-ArchOSz -Mode:$Mode $args
}
{$_ -in 'debian','ubuntu','zorin'} {
Update-UbuntuOSz -Mode:$Mode $args
}
}

View File

@ -6,4 +6,18 @@ if( -not (Test-Path env:XDG_DATA_HOME) ) {
}
if( -not (Test-Path env:XDG_CONFIG_HOME) ) {
$env:XDG_CONFIG_HOME="$HOME/.config"
}
}
if( -not (
Test-Path env:SHELL_PARENT
) -and -not (
$env:SHELL -match 'p(wsh|owershell)$'
) -and (
Test-Path env:SHELL
)
) {
$env:COMPLETION_SHELL_PREFERENCE = $env:SHELL
$env:SHELL_PARENT = $env:SHELL
}
$env:SHELL = Get-Process -Id $PID | Select-Object -ExpandProperty Path
Set-UnixCompleter -Shell $env:COMPLETION_SHELL_PREFERENCE

View File

@ -5,17 +5,6 @@
[string[]]$Path
)
process {
function Get-FullPath {
param([string]$Path)
if([System.IO.Path]::IsPathRooted($Path)){
[System.IO.Path]::GetFullPath($Path)
}else{
[System.IO.Path]::GetFullPath((Join-Path $PWD $Path))
}
}
foreach( $local:p in $Path ) {
switch( $p[0] ) {
'@' { $p = Join-Path $MyPSScriptRoot $p.Substring(1) }
@ -27,6 +16,9 @@ process {
}
}
# clean end of path from DirectorySeparatorChars
$p = $p -replace '[/\\]+$',''
$p = $p -replace '#C-','#C-#' -replace '\*','#C-A#' -replace '\?','#C-Q#'
if([System.IO.Path]::IsPathRooted($p)){
$p = [System.IO.Path]::GetFullPath($p)
@ -44,9 +36,3 @@ process {
$p
}
}
# try {
# get-item $Path -Force -ErrorAction Stop |
# Select-Object -ExpandProperty FullName
# } catch {
# $_.targetObject
# }