From 32bd3046a4896044b5ed9d7e05aa515438d56622 Mon Sep 17 00:00:00 2001 From: Eyre_S Date: Tue, 6 Feb 2024 00:28:00 +0800 Subject: [PATCH] update CRLF and update windows script using rclone --- PowerShell/Microsoft.PowerShell_profile.ps1 | 446 ++++++++++---------- windows_archive.ps1 | 15 + windows_restore.ps1 | 15 + windows_sync.ps1 | 23 - 4 files changed, 253 insertions(+), 246 deletions(-) create mode 100644 windows_archive.ps1 create mode 100644 windows_restore.ps1 delete mode 100644 windows_sync.ps1 diff --git a/PowerShell/Microsoft.PowerShell_profile.ps1 b/PowerShell/Microsoft.PowerShell_profile.ps1 index 89f35d5..44ba0f4 100644 --- a/PowerShell/Microsoft.PowerShell_profile.ps1 +++ b/PowerShell/Microsoft.PowerShell_profile.ps1 @@ -1,223 +1,223 @@ -## -## PowerShell® -## startup environment settings -## user.sukazyo -## -###### - -<# ================= - - user variable - #> -$ws = "S:\workspace" -$tests = "S:\__test" - -$gradlearchive = "S:\Document\gradle-builds" - - -<# ================= - - Alias - #> - -function profile { . $PROFILE } -function source { profile } -function nexplorer { explorer . } - -function whereis { - Get-Command $args | Format-List -} - -<# == batcat == #> -Set-Alias -Name cat -Value bat - -<# == lsd (colorls before) == #> -#source $(dirname $(gem which colorls))/tab_complete.sh -function cols { - lsd $args -} -function crls { - cols @args -} -function ccls { - #theres no git (--gs) support due to slow performance and bugs on Windows - crls @args -} -function cl { - $args_new = @("-lA") + $args - ccls @args_new -} -function cll { - $args_new = @("-l") + $args - ccls @args_new -} -function cla { - $args_new = @("-la") + $args - ccls @args_new -} -function lc { - ccls @args -} -Set-Alias -Name ls -Value lc # override system ls -function l { cl @args } -function ll { cll @args } -function la { cla @args } -function lgg { - $args_new = @("--tree") + $args - ccls @args_new -} - -<# == zoxide cd == #> - -# ============================================================================= -# -# Utility functions for zoxide. -# - -# Call zoxide binary, returning the output as UTF-8. -function global:__zoxide_bin { - $encoding = [Console]::OutputEncoding - try { - [Console]::OutputEncoding = [System.Text.Utf8Encoding]::new() - $result = zoxide @args - return $result - } finally { - [Console]::OutputEncoding = $encoding - } -} - -# pwd based on zoxide's format. -function global:__zoxide_pwd { - $cwd = Get-Location - if ($cwd.Provider.Name -eq "FileSystem") { - $cwd.ProviderPath - } -} - -# cd + custom logic based on the value of _ZO_ECHO. -function global:__zoxide_cd($dir, $literal) { - $dir = if ($literal) { - Set-Location -LiteralPath $dir -Passthru -ErrorAction Stop - } else { - if ($dir -eq '-' -and ($PSVersionTable.PSVersion -lt 6.1)) { - Write-Error "cd - is not supported below PowerShell 6.1. Please upgrade your version of PowerShell." - } - elseif ($dir -eq '+' -and ($PSVersionTable.PSVersion -lt 6.2)) { - Write-Error "cd + is not supported below PowerShell 6.2. Please upgrade your version of PowerShell." - } - else { - Set-Location -Path $dir -Passthru -ErrorAction Stop - } - } -} - -# ============================================================================= -# -# Hook configuration for zoxide. -# - -# Hook to add new entries to the database. -$global:__zoxide_oldpwd = __zoxide_pwd -function global:__zoxide_hook { - $result = __zoxide_pwd - if ($result -ne $global:__zoxide_oldpwd) { - if ($null -ne $result) { - zoxide add -- $result - } - $global:__zoxide_oldpwd = $result - } -} - -# Initialize hook. -$global:__zoxide_hooked = (Get-Variable __zoxide_hooked -ErrorAction SilentlyContinue -ValueOnly) -if ($global:__zoxide_hooked -ne 1) { - $global:__zoxide_hooked = 1 - $global:__zoxide_prompt_old = $function:prompt - - function global:prompt { - if ($null -ne $__zoxide_prompt_old) { - & $__zoxide_prompt_old - } - $null = __zoxide_hook - } -} - -# ============================================================================= -# -# When using zoxide with --no-cmd, alias these internal functions as desired. -# - -# Jump to a directory using only keywords. -function global:__zoxide_z { - if ($args.Length -eq 0) { - __zoxide_cd ~ $true - } - elseif ($args.Length -eq 1 -and ($args[0] -eq '-' -or $args[0] -eq '+')) { - __zoxide_cd $args[0] $false - } - elseif ($args.Length -eq 1 -and (Test-Path $args[0] -PathType Container)) { - __zoxide_cd $args[0] $true - } - else { - $result = __zoxide_pwd - if ($null -ne $result) { - $result = __zoxide_bin query --exclude $result -- @args - } - else { - $result = __zoxide_bin query -- @args - } - if ($LASTEXITCODE -eq 0) { - __zoxide_cd $result $true - } - } -} - -# Jump to a directory using interactive search. -function global:__zoxide_zi { - $result = __zoxide_bin query -i -- @args - if ($LASTEXITCODE -eq 0) { - __zoxide_cd $result $true - } -} - -# ============================================================================= -# -# Commands for zoxide. Disable these using --no-cmd. -# - -Set-Alias -Name z -Value __zoxide_z -Option AllScope -Scope Global -Force -Set-Alias -Name zi -Value __zoxide_zi -Option AllScope -Scope Global -Force -Remove-Alias cd -Set-Alias -Name cd -Value z -Set-Alias -Name cdi -Value zi - -<# ================= - - TOOLCHAILS - #> - -<# === Chocolatey === #> - -# $ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" -# if (Test-Path($ChocolateyProfile)) { -# Import-Module "$ChocolateyProfile" -# } - -<# === Oh-My-Posh === #> - -# $USE_POSH_THEME = "catppuccin" -# $USE_POSH_THEME = "chips" -# $USE_POSH_THEME = "emodipt-extend" # original -# $USE_POSH_THEME = "hunk" -# $USE_POSH_THEME = "multiverse-neon" -# $USE_POSH_THEME = "negligible" -# $USE_POSH_THEME = "peru" -# $USE_POSH_THEME = "pure" -# $USE_POSH_THEME = "ys" -$USE_POSH_THEME = "sukazyo" - -oh-my-posh init pwsh --config "$HOME\.config\oh-my-posh\$USE_POSH_THEME.omp.json" | Invoke-Expression -# oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\$USE_POSH_THEME.omp.json" | Invoke-Expression - -<# === Others Auto Generated === #> - -#34de4b3d-13a8-4540-b76d-b9e8d3851756 PowerToys CommandNotFound module -Import-Module "C:\Program Files\PowerToys\WinUI3Apps\..\WinGetCommandNotFound.psd1" -#34de4b3d-13a8-4540-b76d-b9e8d3851756 +## +## PowerShell® +## startup environment settings +## user.sukazyo +## +###### + +<# ================= + - user variable + #> +$ws = "S:\workspace" +$tests = "S:\__test" + +$gradlearchive = "S:\Document\gradle-builds" + + +<# ================= + - Alias + #> + +function profile { . $PROFILE } +function source { profile } +function nexplorer { explorer . } + +function whereis { + Get-Command $args | Format-List +} + +<# == batcat == #> +Set-Alias -Name cat -Value bat + +<# == lsd (colorls before) == #> +#source $(dirname $(gem which colorls))/tab_complete.sh +function cols { + lsd $args +} +function crls { + cols @args +} +function ccls { + #theres no git (--gs) support due to slow performance and bugs on Windows + crls @args +} +function cl { + $args_new = @("-lA") + $args + ccls @args_new +} +function cll { + $args_new = @("-l") + $args + ccls @args_new +} +function cla { + $args_new = @("-la") + $args + ccls @args_new +} +function lc { + ccls @args +} +Set-Alias -Name ls -Value lc # override system ls +function l { cl @args } +function ll { cll @args } +function la { cla @args } +function lgg { + $args_new = @("--tree") + $args + ccls @args_new +} + +<# == zoxide cd == #> + +# ============================================================================= +# +# Utility functions for zoxide. +# + +# Call zoxide binary, returning the output as UTF-8. +function global:__zoxide_bin { + $encoding = [Console]::OutputEncoding + try { + [Console]::OutputEncoding = [System.Text.Utf8Encoding]::new() + $result = zoxide @args + return $result + } finally { + [Console]::OutputEncoding = $encoding + } +} + +# pwd based on zoxide's format. +function global:__zoxide_pwd { + $cwd = Get-Location + if ($cwd.Provider.Name -eq "FileSystem") { + $cwd.ProviderPath + } +} + +# cd + custom logic based on the value of _ZO_ECHO. +function global:__zoxide_cd($dir, $literal) { + $dir = if ($literal) { + Set-Location -LiteralPath $dir -Passthru -ErrorAction Stop + } else { + if ($dir -eq '-' -and ($PSVersionTable.PSVersion -lt 6.1)) { + Write-Error "cd - is not supported below PowerShell 6.1. Please upgrade your version of PowerShell." + } + elseif ($dir -eq '+' -and ($PSVersionTable.PSVersion -lt 6.2)) { + Write-Error "cd + is not supported below PowerShell 6.2. Please upgrade your version of PowerShell." + } + else { + Set-Location -Path $dir -Passthru -ErrorAction Stop + } + } +} + +# ============================================================================= +# +# Hook configuration for zoxide. +# + +# Hook to add new entries to the database. +$global:__zoxide_oldpwd = __zoxide_pwd +function global:__zoxide_hook { + $result = __zoxide_pwd + if ($result -ne $global:__zoxide_oldpwd) { + if ($null -ne $result) { + zoxide add -- $result + } + $global:__zoxide_oldpwd = $result + } +} + +# Initialize hook. +$global:__zoxide_hooked = (Get-Variable __zoxide_hooked -ErrorAction SilentlyContinue -ValueOnly) +if ($global:__zoxide_hooked -ne 1) { + $global:__zoxide_hooked = 1 + $global:__zoxide_prompt_old = $function:prompt + + function global:prompt { + if ($null -ne $__zoxide_prompt_old) { + & $__zoxide_prompt_old + } + $null = __zoxide_hook + } +} + +# ============================================================================= +# +# When using zoxide with --no-cmd, alias these internal functions as desired. +# + +# Jump to a directory using only keywords. +function global:__zoxide_z { + if ($args.Length -eq 0) { + __zoxide_cd ~ $true + } + elseif ($args.Length -eq 1 -and ($args[0] -eq '-' -or $args[0] -eq '+')) { + __zoxide_cd $args[0] $false + } + elseif ($args.Length -eq 1 -and (Test-Path $args[0] -PathType Container)) { + __zoxide_cd $args[0] $true + } + else { + $result = __zoxide_pwd + if ($null -ne $result) { + $result = __zoxide_bin query --exclude $result -- @args + } + else { + $result = __zoxide_bin query -- @args + } + if ($LASTEXITCODE -eq 0) { + __zoxide_cd $result $true + } + } +} + +# Jump to a directory using interactive search. +function global:__zoxide_zi { + $result = __zoxide_bin query -i -- @args + if ($LASTEXITCODE -eq 0) { + __zoxide_cd $result $true + } +} + +# ============================================================================= +# +# Commands for zoxide. Disable these using --no-cmd. +# + +Set-Alias -Name z -Value __zoxide_z -Option AllScope -Scope Global -Force +Set-Alias -Name zi -Value __zoxide_zi -Option AllScope -Scope Global -Force +Remove-Alias cd +Set-Alias -Name cd -Value z +Set-Alias -Name cdi -Value zi + +<# ================= + - TOOLCHAILS + #> + +<# === Chocolatey === #> + +# $ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" +# if (Test-Path($ChocolateyProfile)) { +# Import-Module "$ChocolateyProfile" +# } + +<# === Oh-My-Posh === #> + +# $USE_POSH_THEME = "catppuccin" +# $USE_POSH_THEME = "chips" +# $USE_POSH_THEME = "emodipt-extend" # original +# $USE_POSH_THEME = "hunk" +# $USE_POSH_THEME = "multiverse-neon" +# $USE_POSH_THEME = "negligible" +# $USE_POSH_THEME = "peru" +# $USE_POSH_THEME = "pure" +# $USE_POSH_THEME = "ys" +$USE_POSH_THEME = "sukazyo" + +oh-my-posh init pwsh --config "$HOME\.config\oh-my-posh\$USE_POSH_THEME.omp.json" | Invoke-Expression +# oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\$USE_POSH_THEME.omp.json" | Invoke-Expression + +<# === Others Auto Generated === #> + +#34de4b3d-13a8-4540-b76d-b9e8d3851756 PowerToys CommandNotFound module +Import-Module "C:\Program Files\PowerToys\WinUI3Apps\..\WinGetCommandNotFound.psd1" +#34de4b3d-13a8-4540-b76d-b9e8d3851756 diff --git a/windows_archive.ps1 b/windows_archive.ps1 new file mode 100644 index 0000000..2dcfcc4 --- /dev/null +++ b/windows_archive.ps1 @@ -0,0 +1,15 @@ +$path_colorls = "$HOME/.config/colorls/" +$path_lsd = "$HOME/AppData/Roaming/lsd/" +$path_PowerShell = "$HOME/Documents/PowerShell/" +$path_neofetch = "$HOME/.config/neofetch/" +$path_oh_my_posh = "$HOME/.config/oh-my-posh/" +$path_hyfetch = "$HOME/.config/hyfetch.json" +$path_bat = "$HOME/AppData/Roaming/bat/" + +rclone sync --create-empty-src-dirs -v $path_colorls ./colorls/ +rclone sync --create-empty-src-dirs -v $path_lsd ./lsd/ +rclone sync --create-empty-src-dirs -v $path_PowerShell ./PowerShell/ --exclude 'Modules/' --exclude 'Scripts/' +rclone sync --create-empty-src-dirs -v $path_neofetch ./neofetch/ +rclone sync --create-empty-src-dirs -v $path_oh_my_posh ./oh-my-posh/ +rclone copyto -v $path_hyfetch ./hyfetch.json +rclone sync --create-empty-src-dirs -v $path_bat ./bat/ diff --git a/windows_restore.ps1 b/windows_restore.ps1 new file mode 100644 index 0000000..e2e9387 --- /dev/null +++ b/windows_restore.ps1 @@ -0,0 +1,15 @@ +$path_colorls = "$HOME/.config/colorls/" +$path_lsd = "$HOME/AppData/Roaming/lsd/" +$path_PowerShell = "$HOME/Documents/PowerShell/" +$path_neofetch = "$HOME/.config/neofetch/" +$path_oh_my_posh = "$HOME/.config/oh-my-posh/" +$path_hyfetch = "$HOME/.config/hyfetch.json" +$path_bat = "$HOME/AppData/Roaming/bat/" + +rclone sync --create-empty-src-dirs -v ./colorls/ $path_colorls +rclone sync --create-empty-src-dirs -v ./lsd/ $path_lsd +rclone sync --create-empty-src-dirs -v ./PowerShell/ $path_PowerShell --exclude 'Modules/' --exclude 'Scripts/' +rclone sync --create-empty-src-dirs -v ./neofetch/ $path_neofetch +rclone sync --create-empty-src-dirs -v ./oh-my-posh/ $path_oh_my_posh +rclone copyto -v ./hyfetch.json $path_hyfetch +rclone sync --create-empty-src-dirs -v ./bat/ $path_bat diff --git a/windows_sync.ps1 b/windows_sync.ps1 deleted file mode 100644 index f926505..0000000 --- a/windows_sync.ps1 +++ /dev/null @@ -1,23 +0,0 @@ -$path_colorls = "~/.config/colorls/" -$path_lsd = "~/AppData/Roaming/lsd/" -$path_PowerShell = "~/Documents/PowerShell/" -$path_neofetch = "~/.config/neofetch/" -$path_oh_my_posh = "~/.config/oh-my-posh/" -$path_hyfetch = "~/.config/hyfetch.json" -$path_bat = "~/AppData/Roaming/bat/" - -rsync -avh $path_colorls ./colorls/ -rsync -avh $path_lsd ./lsd/ -rsync -avh $path_PowerShell ./PowerShell/ --exclude 'Modules/' --exclude 'Scripts/' -rsync -avh $path_neofetch ./neofetch/ -rsync -avh $path_oh_my_posh ./oh-my-posh/ -rsync -avh $path_hyfetch ./hyfetch.json -rsync -avh $path_bat ./bat/ - -rsync -avh ./colorls/ $path_colorls -rsync -avh ./lsd/ $path_lsd -rsync -avh ./PowerShell/ $path_PowerShell --exclude 'Modules/' --exclude 'Scripts/' -rsync -avh ./neofetch/ $path_neofetch -rsync -avh ./oh-my-posh/ $path_oh_my_posh -rsync -avh ./hyfetch.json $path_hyfetch -rsync -avh ./bat/ $path_bat