44 lines
No EOL
1.4 KiB
PowerShell
44 lines
No EOL
1.4 KiB
PowerShell
if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
|
|
# Install required packages with winget
|
|
winget install alacritty gitui
|
|
|
|
# Install other packages with scoop because not available in winget
|
|
try{
|
|
Get-Command -Name scoop -ErrorAction Stop
|
|
}
|
|
catch{
|
|
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
|
|
}
|
|
|
|
scoop install neovim
|
|
|
|
# Install fonts
|
|
scoop bucket add nerd-fonts
|
|
scoop install FiraCode-NF FiraCode-NF-Mono FiraMono-NF FiraCode-Script FiraCode Delugia-Nerd-Font-Complete Delugia-Mono-Nerd-Font-Complete Cascadia-Code CascadiaCode-NF CascadiaCode-NF-Mono
|
|
|
|
$CommandLine = "-File `"" + $MyInvocation.MyCommand.Path + "`" " + $MyInvocation.UnboundArguments
|
|
Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList $CommandLine
|
|
Start-Sleep -Seconds 1
|
|
} else {
|
|
try {
|
|
$appToSymlink = @(
|
|
@{
|
|
Name = 'gitui';
|
|
Path = "$env:APPDATA";
|
|
},
|
|
@{
|
|
Name = 'nvim';
|
|
Path = "$env:LOCALAPPDATA";
|
|
}
|
|
)
|
|
Foreach ($item in $appToSymlink) {
|
|
$symlink_folder = $item.Path + '\' + $item.Name
|
|
$name = $item.Name
|
|
$config_folder = "$env:USERPROFILE\.config\$name"
|
|
New-Item -Force -Path $symlink_folder -ItemType SymbolicLink -Value $config_folder
|
|
}
|
|
Exit
|
|
} catch {
|
|
Start-Sleep -Seconds 10
|
|
}
|
|
} |