added some stuff i need
This commit is contained in:
64
setup.ps1
Normal file
64
setup.ps1
Normal file
@@ -0,0 +1,64 @@
|
||||
# setup.ps1
|
||||
# $dotfiles = "$HOME\.dotfiles"
|
||||
$dotfiles = $PSScriptRoot
|
||||
|
||||
$mappings = @(
|
||||
@{
|
||||
Src = "$dotfiles\alacritty\alacritty.toml"
|
||||
Dst = "$HOME\AppData\Roaming\alacritty\alacritty.toml"
|
||||
}
|
||||
@{
|
||||
Src = "$dotfiles\emacs\init.el"
|
||||
Dst = "$HOME\.emacs.d\init.el"
|
||||
}
|
||||
@{
|
||||
Src = "$dotfiles\emacs\themes"
|
||||
Dst = "$HOME\.emacs.d\themes"
|
||||
}
|
||||
@{
|
||||
Src = "$dotfiles\oh-my-posh-themes"
|
||||
Dst = "$HOME\oh-my-posh-themes"
|
||||
}
|
||||
@{
|
||||
Src = "$dotfiles\powershell\profile.ps1"
|
||||
Dst = $PROFILE
|
||||
}
|
||||
|
||||
# @{ Src = "$dotfiles\nvim\init.lua"; Dst = "$HOME\AppData\Local\nvim\init.lua" }
|
||||
# @{ Src = "$dotfiles\powershell\profile.ps1"; Dst = $PROFILE }
|
||||
# @{ Src = "$dotfiles\wezterm\.wezterm.lua"; Dst = "$HOME\.wezterm.lua" }
|
||||
)
|
||||
|
||||
function New-Symlink($src, $dst) {
|
||||
$dir = Split-Path $dst
|
||||
if (!(Test-Path $dir)) {
|
||||
New-Item -ItemType Directory -Path $dir -Force | Out-Null
|
||||
Write-Host " Created dir: $dir" -ForegroundColor DarkGray
|
||||
}
|
||||
|
||||
if (Test-Path $dst) {
|
||||
$existing = Get-Item $dst -Force
|
||||
if ($existing.LinkType -eq "SymbolicLink" -and $existing.Target -eq $src) {
|
||||
Write-Host " [skip] Already linked: $dst" -ForegroundColor DarkGray
|
||||
return
|
||||
} else {
|
||||
Write-Host " [warn] Already exists (not a matching symlink): $dst" -ForegroundColor Yellow
|
||||
Write-Host " Remove it manually if you want to replace it."
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (!(Test-Path $src)) {
|
||||
Write-Host " [error] Source not found: $src" -ForegroundColor Red
|
||||
return
|
||||
}
|
||||
|
||||
New-Item -ItemType SymbolicLink -Path $dst -Target $src | Out-Null
|
||||
Write-Host " [ok] $dst -> $src" -ForegroundColor Green
|
||||
}
|
||||
|
||||
Write-Host "`nSetting up dotfile symlinks...`n"
|
||||
foreach ($m in $mappings) {
|
||||
New-Symlink $m.Src $m.Dst
|
||||
}
|
||||
Write-Host "`nDone.`n"
|
||||
Reference in New Issue
Block a user