2024-11-24 20:14:55 +00:00
|
|
|
Import-Module ./util/chocolatey.psm1
|
2024-11-24 17:41:24 +00:00
|
|
|
Import-Module ./util/windows.psm1
|
2024-11-24 20:14:10 +00:00
|
|
|
Import-Module ./util/winget.psm1
|
2024-11-24 20:15:14 +00:00
|
|
|
Import-Module ./util/wsl.psm1
|
2024-11-24 17:41:24 +00:00
|
|
|
|
|
|
|
|
2024-11-24 20:14:10 +00:00
|
|
|
# (Optionally) Install required Software
|
2024-11-24 20:32:45 +00:00
|
|
|
WingetInstall
|
|
|
|
ChocolateyInstall
|
|
|
|
WSLInstall
|
2024-11-24 20:14:10 +00:00
|
|
|
|
2024-11-24 22:27:00 +00:00
|
|
|
Write-Host "Installation Steps complete!" -ForegroundColor Cyan
|
2024-11-25 10:45:47 +00:00
|
|
|
$continue = Read-Host "Continue with configuration? [Y/n]"
|
2024-11-24 22:27:00 +00:00
|
|
|
if ($continue.ToLower() -eq 'n')
|
|
|
|
{ return
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2024-08-27 10:32:13 +00:00
|
|
|
# Define paths for tools and configurations
|
|
|
|
$dotfilesRepo = "$env:TMP\dotfiles"
|
|
|
|
$alacrittyConfigDir = "$env:APPDATA\alacritty"
|
|
|
|
$psProfile = "$env:USERPROFILE\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
|
|
|
|
$repoUrl = "https://github.com/Baipyrus/dotfiles.git"
|
2024-08-27 10:33:44 +00:00
|
|
|
|
2024-08-27 10:34:32 +00:00
|
|
|
# Check if the script is running inside the dotfiles repository
|
|
|
|
$currentDir = (Get-Location).Path
|
|
|
|
|
2024-08-27 10:35:51 +00:00
|
|
|
|
2024-11-25 14:21:47 +00:00
|
|
|
$dotfilesRepo = ReadyDotfilesRepo -cwd $currentDir -url $repoUrl -destination $dotfilesRepo
|
2024-08-27 10:35:30 +00:00
|
|
|
|
2024-08-27 10:35:51 +00:00
|
|
|
# Setting up Alacritty Configuration
|
|
|
|
Write-Host "Setting up Alacritty configuration..." -ForegroundColor Cyan
|
2024-11-24 20:12:23 +00:00
|
|
|
ProcessUrlFiles -source "$dotfilesRepo\alacritty" -destination $alacrittyConfigDir
|
2024-08-27 10:35:51 +00:00
|
|
|
|
2024-08-27 10:35:30 +00:00
|
|
|
# Copy the main Alacritty configuration file
|
|
|
|
CopyFileWithPrompt "$dotfilesRepo\alacritty\alacritty.toml" "$alacrittyConfigDir\alacritty.toml"
|
|
|
|
|
2024-08-27 10:35:51 +00:00
|
|
|
# Setting up Neovim Configuration
|
|
|
|
Write-Host "Setting up Neovim configuration..." -ForegroundColor Cyan
|
2024-10-21 19:07:41 +00:00
|
|
|
$ubuntu = wsl.exe -l --all | Where-Object { $_.Replace("`0", "") -match '^Ubuntu' }
|
|
|
|
if ($null -eq $ubuntu)
|
2024-11-24 20:12:23 +00:00
|
|
|
{ ProcessUrlFiles -source "$dotfilesRepo\nvim" -destination "$env:LOCALAPPDATA"
|
2024-10-21 19:08:05 +00:00
|
|
|
} else
|
2024-11-24 20:15:14 +00:00
|
|
|
{ InstallWSLNeovim -source "$dotfilesRepo\nvim"
|
2024-10-21 19:07:41 +00:00
|
|
|
}
|
2024-08-27 10:35:51 +00:00
|
|
|
|
2024-08-27 10:35:30 +00:00
|
|
|
# Setting up PowerShell Profile
|
|
|
|
Write-Host "Setting up PowerShell profile..." -ForegroundColor Cyan
|
2024-11-25 14:10:09 +00:00
|
|
|
# Create local PowerShell profile directory
|
|
|
|
$psDir = Split-Path -Path $psProfile
|
|
|
|
if (-not (Test-Path $psDir))
|
|
|
|
{ New-Item -ItemType Directory -Path $psDir
|
|
|
|
}
|
|
|
|
# Copy existing startup script to destination
|
2024-08-27 10:35:30 +00:00
|
|
|
CopyFileWithPrompt "$dotfilesRepo\PowerShell\Microsoft.PowerShell_profile.ps1" $psProfile
|
|
|
|
|
2024-09-02 06:55:38 +00:00
|
|
|
# Setting up self-made ProxySwitcher
|
2024-10-21 19:05:57 +00:00
|
|
|
Write-Host "============================================" -ForegroundColor DarkGray
|
|
|
|
Write-Host "Setting up ProxySwitcher via subscript..." -ForegroundColor Cyan
|
2024-09-02 06:55:38 +00:00
|
|
|
Invoke-RestMethod 'https://raw.githubusercontent.com/Baipyrus/ProxySwitcher/main/install.ps1' | Invoke-Expression
|
2024-10-21 19:05:57 +00:00
|
|
|
Write-Host "============================================" -ForegroundColor DarkGray
|
2024-09-02 06:55:38 +00:00
|
|
|
|
2024-08-27 13:38:57 +00:00
|
|
|
# Installing Nerd Fonts
|
|
|
|
Write-Host "Installing Nerd Fonts..." -ForegroundColor Cyan
|
2024-11-24 20:12:23 +00:00
|
|
|
ProcessUrlFiles -source "$dotfilesRepo\nerd-fonts" -fileExt ".zip"
|
2024-10-21 17:53:27 +00:00
|
|
|
UnzipAndInstall -source "$dotfilesRepo\nerd-fonts"
|
2024-08-27 13:38:57 +00:00
|
|
|
|
2024-08-27 10:35:30 +00:00
|
|
|
# Final message
|
|
|
|
Write-Host "Windows setup complete!" -ForegroundColor Green
|