mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 00:33:00 +00:00
feat(bootstrap): Initialise windows script
This commit is contained in:
parent
1cdb00ba50
commit
1025053406
12 changed files with 314 additions and 99 deletions
|
|
@ -1,9 +1,17 @@
|
|||
echo "[INFO] Installing Rime"
|
||||
|
||||
git clone --depth 1 https://github.com/js0ny/rime_wanxiang_pro.git ~/Library/Rime
|
||||
case "$(uname)" in
|
||||
Linux)
|
||||
RIMEDIR="${RIMEDIR:-$HOME/.local/share/fcitx5/rime}"
|
||||
;;
|
||||
Darwin)
|
||||
RIMEDIR="${RIMEDIR:-$HOME/Library/Rime}"
|
||||
;;
|
||||
esac
|
||||
|
||||
git clone --depth 1 https://github.com/js0ny/rime_wanxiang_pro.git "$RIMEDIR"
|
||||
cd ~/Library/Rime || exit
|
||||
|
||||
just init
|
||||
# just install_rime
|
||||
## Rime is installed via Brewfile
|
||||
just clone_plum
|
||||
|
|
|
|||
|
|
@ -116,6 +116,8 @@ echo "[INFO] Setting up symbolic links"
|
|||
|
||||
source "$DOTFILES"/bootstrap/linux/symlinks.bash
|
||||
|
||||
set +x
|
||||
|
||||
if [ "$WHEEL" -eq 1 ]; then
|
||||
source "$DOTFILES"/tools/bash/xdg-compact.sh
|
||||
source "$DOTFILES"/tools/bash/global.bashrc
|
||||
|
|
@ -124,6 +126,8 @@ source "$DOTFILES"/tools/bash/profile
|
|||
source "$DOTFILES"/tools/bash/bashrc
|
||||
source "$DOTFILES"/tools/bash/bash_aliases
|
||||
|
||||
set -x
|
||||
|
||||
if command -v zsh >/dev/null 2>&1; then
|
||||
|
||||
read -p "[ACTION] Do you want to setup zsh? (Y/n) " -r choice
|
||||
|
|
|
|||
|
|
@ -1,3 +1,49 @@
|
|||
#Requires -RunAsAdministrator
|
||||
# TODO: This file is under development
|
||||
exit 1
|
||||
|
||||
$DOTFILES = if ($Env:DOTFILES) { $Env:DOTFILES } else { Join-Path "$Env:USERPROFILE" "dotfiles" }
|
||||
|
||||
|
||||
New-Item -ItemType Directory -Path (Join-Path $Env:UserProfile "Temp") -Force
|
||||
|
||||
winget install -e --id Git.Git
|
||||
|
||||
if (Get-Command git -ErrorAction SilentlyContinue) {
|
||||
git clone https://github.com/js0ny/dotfiles.git "$DOTFILES" --depth 1
|
||||
}
|
||||
else {
|
||||
Write-Output "[ERROR] Git is not installed"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install scoop
|
||||
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
|
||||
|
||||
# Inline `sudo`
|
||||
sudo sudo config --enable normal
|
||||
|
||||
$BOOTSTRAP = Join-Path $DOTFILES "bootstrap" "win"
|
||||
|
||||
. (Join-Path $BOOTSTRAP "Environment.ps1")
|
||||
. (Join-Path $BOOTSTRAP "Registry.ps1")
|
||||
. (Join-Path $BOOTSTRAP "Symlinks.ps1")
|
||||
|
||||
scoop import (Join-Path $BOOTSTRAP "Scoopfile.json")
|
||||
|
||||
# Rime
|
||||
|
||||
$RIMEDIR = Join-Path $Env:AppData "Rime"
|
||||
git clone --depth 1 https://github.com/js0ny/rime_wanxiang_pro.git $RIMEDIR
|
||||
|
||||
Set-Location $RIMEDIR
|
||||
just init
|
||||
just clone_plum
|
||||
|
||||
# The section below not done yet
|
||||
exit 1
|
||||
|
||||
#!C:\Program Files\WindowsApps\Microsoft.PowerShell_7.4.6.0_x64__8wekyb3d8bbwe\pwsh.EXE
|
||||
# Run with PowerShell 7
|
||||
winget install -e --id Git.Git
|
||||
|
|
@ -13,101 +59,6 @@ Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
|
|||
# Install Chocolatey
|
||||
# Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
||||
|
||||
# Set Environment Variables
|
||||
# Use %PATH_EXT% to prevent PATH from being too long
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_0", "D:\bin", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_0", "C:\Users\jsony\AppData\Local\Cargo\bin", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_1", "C:\Users\jsony\AppData\Local\Go\bin", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_2", "C:\Users\jsony\AppData\Local\Cargo\bin", "User")
|
||||
$currentPath = [System.Environment]::GetEnvironmentVariable("Path", "User")
|
||||
if ($currentPath -notlike "*%PATH_EXT%*") {
|
||||
$currentPath += ";%PATH_EXT_0%;%PATH_EXT_1%;%PATH_EXT_2%"
|
||||
}
|
||||
[System.Environment]::SetEnvironmentVariable("Path", $currentPath, "User")
|
||||
[System.Environment]::SetEnvironmentVariable("PATH_EXT_0", "", [System.EnvironmentVariableTarget]::Machine)
|
||||
[System.Environment]::SetEnvironmentVariable("PATH_EXT_1", "", [System.EnvironmentVariableTarget]::Machine)
|
||||
[System.Environment]::SetEnvironmentVariable("PATH_EXT_2", "", [System.EnvironmentVariableTarget]::Machine)
|
||||
$currentPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
|
||||
if ($currentPath -notlike "*%PATH_EXT%*") {
|
||||
$currentPath += ";%PATH_EXT_0%;%PATH_EXT_1%;%PATH_EXT_2%"
|
||||
}
|
||||
[System.Environment]::SetEnvironmentVariable("Path", $currentPath, [System.EnvironmentVariableTarget]::Machine)
|
||||
# Simulate XDG Base Directory Specification
|
||||
$Env:XDG_CONFIG_HOME = "$Env:AppData"
|
||||
$Env:XDG_DATA_HOME = "$Env:LocalAppData"
|
||||
$Env:XDG_CACHE_HOME = "$Env:LocalAppData\Cache"
|
||||
$Env:XDG_STATE_HOME = "$Env:LocalAppData\State"
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_CONFIG_HOME", "$Env:XDG_CONFIG_HOME", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_DATA_HOME", "$Env:XDG_DATA_HOME", "User")
|
||||
New-Item -ItemType Directory -Path "$Env:LocalAppData\cache" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_CACHE_HOME", "$Env:XDG_CACHE_HOME", "User")
|
||||
New-Item -ItemType Directory -Path "$Env:LocalAppData\state" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_STATE_HOME", "$Env:XDG_STATE_HOME", "User")
|
||||
# Add environment variables
|
||||
[System.Environment]::SetEnvironmentVariable("DOTFILES", "$DOTFILES", "User")
|
||||
# Set potential environment variables to prevent softwares put their configs in the wrong place
|
||||
# eg. dotfiles in %UserProfile%
|
||||
# ~\.aws -> %AppData%\aws :: AWS CLI
|
||||
New-Item -ItemType Directory -Path "$Env:AppData\aws" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("AWS_CONFIG_FILE", "$Env:AppData\aws\config", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("AWS_SHARED_CREDENTIALS_FILE", "$Env:AppData\aws\credentials", "User")
|
||||
# ~\.azure -> %LocalAppData%\Azure :: Azure CLIcargo install --list
|
||||
[System.Environment]::SetEnvironmentVariable("AZURE_CONFIG_DIR", "$Env:LocalAppData\Azure", "User")
|
||||
# ~\.cargo -> %LocalAppData%\Cargo :: Rust https://doc.rust-lang.org/cargo/guide/cargo-home.html
|
||||
[System.Environment]::SetEnvironmentVariable("CARGO_HOME", "$Env:LocalAppData\Cargo", "User")
|
||||
# ~\.docker -> %AppData%\dotDocker :: Docker (Docker takes %AppData%\Docker, use dotDocker instead)
|
||||
[System.Environment]::SetEnvironmentVariable("DOCKER_CONFIG", "$Env:AppData\dotDocker", "User")
|
||||
# ~\.dotnet -> %LocalAppData%\dotNET :: .NET Core
|
||||
[System.Environment]::SetEnvironmentVariable("DOTNET_CLI_HOME", "$Env:LocalAppData\dotNET", "User")
|
||||
# ~\.emacs.d -> %AppData%\.emacs.d :: Emacs (This is default)
|
||||
# [System.Environment]::SetEnvironmentVariable("EMACS_HOME", "$Env:AppData\emacs.d", "User")
|
||||
# ~\go -> %LocalAppData%\GO :: golang
|
||||
[System.Environment]::SetEnvironmentVariable("GOPATH", "$Env:LocalAppData\GO", "User")
|
||||
# ~\.ipython -> %AppData%\ipython :: IPython
|
||||
# IPython won't check XDG on Windows https://github.com/ipython/ipython/blob/0615526f80691452f2e282c363bce197c0141561/IPython/utils/path.py#L200
|
||||
[System.Environment]::SetEnvironmentVariable("IPYTHONDIR", "$Env:AppData\ipython", "User")
|
||||
# ~\.julia -> %LocalAppData%\julia :: Julia
|
||||
[System.Environment]::SetEnvironmentVariable("JULIA_DEPOT_PATH", "$Env:LocalAppData\julia", "User")
|
||||
# ~\_lesshst -> %LocalAppData%\state\lesshst :: less
|
||||
[System.Environment]::SetEnvironmentVariable("LESSHISTFILE", "$Env:XDG_STATE_HOME\lesshst", "User")
|
||||
# %AppData%\less\lesskey :: less
|
||||
New-Item -ItemType Directory -Path "$Env:AppData\less" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("LESSKEYIN", "$Env:AppData\less\lesskey", "User")
|
||||
# ~\.matplotlib -> %LocalAppData%\matplotlib :: Matplotlib
|
||||
[System.Environment]::SetEnvironmentVariable("MPLCONFIGDIR", "$Env:LocalAppData\matplotlib", "User")
|
||||
# ~\.npmrc -> %AppData%\npm\npmrc :: npm
|
||||
[System.Environment]::SetEnvironmentVariable("NPM_CONFIG_USERCONFIG", "$Env:AppData\npm\npmrc", "User")
|
||||
# ~\.node_repl_history -> %LocalAppData%\state\node\repl_history :: Node.js
|
||||
New-Item -ItemType Directory -Path "$Env:XDG_STATE_HOME\node" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("NODE_REPL_HISTORY", "$Env:XDG_STATE_HOME\node\repl_history", "User")
|
||||
# ~\.ts_node_repl_history -> %LocalAppData%\state\node\ts_node_repl_history :: Node.js
|
||||
# NOTE: ts-node doesn't support this yet
|
||||
# [System.Environment]::SetEnvironmentVariable("TS_NODE_REPL_HISTORY", "$Env:XDG_STATE_HOME\node\ts_node_repl_history", "User")
|
||||
# ~\.nuget\packages -> %LocalAppData%\cache\NuGet\packages :: NuGet
|
||||
[System.Environment]::SetEnvironmentVariable("NUGET_PACKAGES", "$Env:XDG_CACHE_HOME\NuGet\packages", "User")
|
||||
# ~\.omnisharp -> %AppData%\OmniSharp :: OmniSharp
|
||||
[System.Environment]::SetEnvironmentVariable("OMNISHARPHOME", "$Env:AppData\OmniSharp", "User")
|
||||
# ~\.python_history -> %LocalAppData%\state\python\python_history :: Python
|
||||
# Only works for Python 3.13+ https://docs.python.org/3.13/using/cmdline.html#envvar-PYTHON_HISTORY
|
||||
New-Item -ItemType Directory -Path "$Env:XDG_STATE_HOME\python" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("PYTHON_HISTORY", "$Env:XDG_STATE_HOME\python\python_history", "User")
|
||||
# ~\.rustup -> %LocalAppData%\Rustup :: Rust
|
||||
[System.Environment]::SetEnvironmentVariable("RUSTUP_HOME", "$Env:LocalAppData\Rustup", "User")
|
||||
# ~\.vimrc -> %AppData%\Vim\_vimrc :: Vim
|
||||
New-Item -ItemType Directory -Path "$Env:AppData\Vim" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("VIM", "$Env:AppData\Vim", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("KOMOREBI_CONFIG_HOME", "$Env:AppData\komorebi", "User")
|
||||
# ~\.vuerc -> %AppData%\vue\.vuerc :: Vue CLI
|
||||
# Currently, Vue CLI doesn't support file path configuration:https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli/lib/confifile
|
||||
# [System.Environment]::SetEnvironmentVariable("VUE_CLI_CONFIG_PATH", "$Env:AppData\vue\.vuerc", "User")
|
||||
# ~\.wget-hsts -> %LocalAppData%\cache\wget-hsts :: wget
|
||||
# Use Alias, wget host file path is not configurable
|
||||
# ~\.yarnrc -> %AppData%\yarn\config.yaml :: Yarn v1
|
||||
# Use Alias, yarnrc path is not configurable
|
||||
|
||||
# Reload required here to make sure the environment variables are set
|
||||
|
||||
|
||||
# Set Dotfiles
|
||||
# $DOTFILES\.config
|
||||
$folders = @("conda", "git", "ideavim", "ipython", "markdownlint", "npm", "NuGet", "nvim", "pip", "Vim")
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Run as Administrator
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
Set-MpPreference -EnableControlledFolderAccess 1
|
||||
|
||||
|
|
|
|||
93
bootstrap/win/Environments.ps1
Normal file
93
bootstrap/win/Environments.ps1
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
# Set Environment Variables
|
||||
# Use %PATH_EXT% to prevent PATH from being too long
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_0", "D:\bin", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_0", "C:\Users\jsony\AppData\Local\Cargo\bin", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_1", "C:\Users\jsony\AppData\Local\Go\bin", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("Path_EXT_2", "C:\Users\jsony\AppData\Local\Cargo\bin", "User")
|
||||
$currentPath = [System.Environment]::GetEnvironmentVariable("Path", "User")
|
||||
if ($currentPath -notlike "*%PATH_EXT%*") {
|
||||
$currentPath += ";%PATH_EXT_0%;%PATH_EXT_1%;%PATH_EXT_2%"
|
||||
}
|
||||
[System.Environment]::SetEnvironmentVariable("Path", $currentPath, "User")
|
||||
[System.Environment]::SetEnvironmentVariable("PATH_EXT_0", "", [System.EnvironmentVariableTarget]::Machine)
|
||||
[System.Environment]::SetEnvironmentVariable("PATH_EXT_1", "", [System.EnvironmentVariableTarget]::Machine)
|
||||
[System.Environment]::SetEnvironmentVariable("PATH_EXT_2", "", [System.EnvironmentVariableTarget]::Machine)
|
||||
$currentPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
|
||||
if ($currentPath -notlike "*%PATH_EXT%*") {
|
||||
$currentPath += ";%PATH_EXT_0%;%PATH_EXT_1%;%PATH_EXT_2%"
|
||||
}
|
||||
[System.Environment]::SetEnvironmentVariable("Path", $currentPath, [System.EnvironmentVariableTarget]::Machine)
|
||||
# Simulate XDG Base Directory Specification
|
||||
$Env:XDG_CONFIG_HOME = "$Env:AppData"
|
||||
$Env:XDG_DATA_HOME = "$Env:LocalAppData"
|
||||
$Env:XDG_CACHE_HOME = "$Env:LocalAppData\Cache"
|
||||
$Env:XDG_STATE_HOME = "$Env:LocalAppData\State"
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_CONFIG_HOME", "$Env:XDG_CONFIG_HOME", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_DATA_HOME", "$Env:XDG_DATA_HOME", "User")
|
||||
New-Item -ItemType Directory -Path "$Env:LocalAppData\cache" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_CACHE_HOME", "$Env:XDG_CACHE_HOME", "User")
|
||||
New-Item -ItemType Directory -Path "$Env:LocalAppData\state" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("XDG_STATE_HOME", "$Env:XDG_STATE_HOME", "User")
|
||||
# Add environment variables
|
||||
[System.Environment]::SetEnvironmentVariable("DOTFILES", "$DOTFILES", "User")
|
||||
# Set potential environment variables to prevent softwares put their configs in the wrong place
|
||||
# eg. dotfiles in %UserProfile%
|
||||
# ~\.aws -> %AppData%\aws :: AWS CLI
|
||||
New-Item -ItemType Directory -Path "$Env:AppData\aws" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("AWS_CONFIG_FILE", "$Env:AppData\aws\config", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("AWS_SHARED_CREDENTIALS_FILE", "$Env:AppData\aws\credentials", "User")
|
||||
# ~\.azure -> %LocalAppData%\Azure :: Azure CLIcargo install --list
|
||||
[System.Environment]::SetEnvironmentVariable("AZURE_CONFIG_DIR", "$Env:LocalAppData\Azure", "User")
|
||||
# ~\.cargo -> %LocalAppData%\Cargo :: Rust https://doc.rust-lang.org/cargo/guide/cargo-home.html
|
||||
[System.Environment]::SetEnvironmentVariable("CARGO_HOME", "$Env:LocalAppData\Cargo", "User")
|
||||
# ~\.docker -> %AppData%\dotDocker :: Docker (Docker takes %AppData%\Docker, use dotDocker instead)
|
||||
[System.Environment]::SetEnvironmentVariable("DOCKER_CONFIG", "$Env:AppData\dotDocker", "User")
|
||||
# ~\.dotnet -> %LocalAppData%\dotNET :: .NET Core
|
||||
[System.Environment]::SetEnvironmentVariable("DOTNET_CLI_HOME", "$Env:LocalAppData\dotNET", "User")
|
||||
# ~\.emacs.d -> %AppData%\.emacs.d :: Emacs (This is default)
|
||||
# [System.Environment]::SetEnvironmentVariable("EMACS_HOME", "$Env:AppData\emacs.d", "User")
|
||||
# ~\go -> %LocalAppData%\GO :: golang
|
||||
[System.Environment]::SetEnvironmentVariable("GOPATH", "$Env:LocalAppData\GO", "User")
|
||||
# ~\.ipython -> %AppData%\ipython :: IPython
|
||||
# IPython won't check XDG on Windows https://github.com/ipython/ipython/blob/0615526f80691452f2e282c363bce197c0141561/IPython/utils/path.py#L200
|
||||
[System.Environment]::SetEnvironmentVariable("IPYTHONDIR", "$Env:AppData\ipython", "User")
|
||||
# ~\.julia -> %LocalAppData%\julia :: Julia
|
||||
[System.Environment]::SetEnvironmentVariable("JULIA_DEPOT_PATH", "$Env:LocalAppData\julia", "User")
|
||||
# ~\_lesshst -> %LocalAppData%\state\lesshst :: less
|
||||
[System.Environment]::SetEnvironmentVariable("LESSHISTFILE", "$Env:XDG_STATE_HOME\lesshst", "User")
|
||||
# %AppData%\less\lesskey :: less
|
||||
New-Item -ItemType Directory -Path "$Env:AppData\less" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("LESSKEYIN", "$Env:AppData\less\lesskey", "User")
|
||||
# ~\.matplotlib -> %LocalAppData%\matplotlib :: Matplotlib
|
||||
[System.Environment]::SetEnvironmentVariable("MPLCONFIGDIR", "$Env:LocalAppData\matplotlib", "User")
|
||||
# ~\.npmrc -> %AppData%\npm\npmrc :: npm
|
||||
[System.Environment]::SetEnvironmentVariable("NPM_CONFIG_USERCONFIG", "$Env:AppData\npm\npmrc", "User")
|
||||
# ~\.node_repl_history -> %LocalAppData%\state\node\repl_history :: Node.js
|
||||
New-Item -ItemType Directory -Path "$Env:XDG_STATE_HOME\node" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("NODE_REPL_HISTORY", "$Env:XDG_STATE_HOME\node\repl_history", "User")
|
||||
# ~\.ts_node_repl_history -> %LocalAppData%\state\node\ts_node_repl_history :: Node.js
|
||||
# NOTE: ts-node doesn't support this yet
|
||||
# [System.Environment]::SetEnvironmentVariable("TS_NODE_REPL_HISTORY", "$Env:XDG_STATE_HOME\node\ts_node_repl_history", "User")
|
||||
# ~\.nuget\packages -> %LocalAppData%\cache\NuGet\packages :: NuGet
|
||||
[System.Environment]::SetEnvironmentVariable("NUGET_PACKAGES", "$Env:XDG_CACHE_HOME\NuGet\packages", "User")
|
||||
# ~\.omnisharp -> %AppData%\OmniSharp :: OmniSharp
|
||||
[System.Environment]::SetEnvironmentVariable("OMNISHARPHOME", "$Env:AppData\OmniSharp", "User")
|
||||
# ~\.python_history -> %LocalAppData%\state\python\python_history :: Python
|
||||
# Only works for Python 3.13+ https://docs.python.org/3.13/using/cmdline.html#envvar-PYTHON_HISTORY
|
||||
New-Item -ItemType Directory -Path "$Env:XDG_STATE_HOME\python" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("PYTHON_HISTORY", "$Env:XDG_STATE_HOME\python\python_history", "User")
|
||||
# ~\.rustup -> %LocalAppData%\Rustup :: Rust
|
||||
[System.Environment]::SetEnvironmentVariable("RUSTUP_HOME", "$Env:LocalAppData\Rustup", "User")
|
||||
# ~\.vimrc -> %AppData%\Vim\_vimrc :: Vim
|
||||
New-Item -ItemType Directory -Path "$Env:AppData\Vim" -Force
|
||||
[System.Environment]::SetEnvironmentVariable("VIM", "$Env:AppData\Vim", "User")
|
||||
[System.Environment]::SetEnvironmentVariable("KOMOREBI_CONFIG_HOME", "$Env:AppData\komorebi", "User")
|
||||
# ~\.vuerc -> %AppData%\vue\.vuerc :: Vue CLI
|
||||
# Currently, Vue CLI doesn't support file path configuration:https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli/lib/confifile
|
||||
# [System.Environment]::SetEnvironmentVariable("VUE_CLI_CONFIG_PATH", "$Env:AppData\vue\.vuerc", "User")
|
||||
# ~\.wget-hsts -> %LocalAppData%\cache\wget-hsts :: wget
|
||||
# Use Alias, wget host file path is not configurable
|
||||
# ~\.yarnrc -> %AppData%\yarn\config.yaml :: Yarn v1
|
||||
# Use Alias, yarnrc path is not configurable
|
||||
|
||||
# Reload required here to make sure the environment variables are set
|
||||
6
bootstrap/win/Registry.ps1
Normal file
6
bootstrap/win/Registry.ps1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
# Disable StickyKeys
|
||||
REG ADD "HKEY_CURRENT_USER\Control Panel\Accessibility\StickyKeys" /v "Flags" /t REG_SZ /d "506" /f
|
||||
|
||||
# Disable Hyper+Keys to open Office apps
|
||||
REG ADD HKCU\Software\Classes\ms-officeapp\Shell\Open\Command /t REG_SZ /d rundll32
|
||||
21
bootstrap/win/Tasks.ps1
Normal file
21
bootstrap/win/Tasks.ps1
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#Requires -RunAsAdministrator
|
||||
|
||||
Write-Output "[INFO] Setting up KMonad Tasks"
|
||||
|
||||
# PowerShell Path, use 7 if available
|
||||
if (Get-Command "pwsh" -ErrorAction SilentlyContinue) {
|
||||
$PowerShellPath = (Get-Command "pwsh").Source
|
||||
}
|
||||
else {
|
||||
$PowerShellPath = (Get-Command "powershell").Source
|
||||
}
|
||||
|
||||
$DotStartUpPath = "$Env:DOTFILES\platforms\win\start"
|
||||
|
||||
$KMonadRunnerPath = Join-Path $DotStartUpPath "KMonad.ps1"
|
||||
$Action = New-ScheduledTaskAction -Execute $PowerShellPath -Argument "-NoProfile -ExecutionPolicy Bypass -File $KMonadRunnerPath"
|
||||
$Trigger = New-ScheduledTaskTrigger -AtLogOn
|
||||
$Principal = New-ScheduledTaskPrincipal -UserId "$env:USERNAME" -LogonType Interactive -RunLevel Highest
|
||||
$Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -DontStopOnIdleEnd -Hidden
|
||||
|
||||
Register-ScheduledTask -TaskName "Start Kmonad" -Action $Action -Trigger $Trigger -Principal $Principal -Settings $Settings -TaskPath "\Personal"
|
||||
43
platforms/win/ahk/spcl.ahk
Normal file
43
platforms/win/ahk/spcl.ahk
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#Requires AutoHotkey v2.0
|
||||
#SingleInstance Force
|
||||
|
||||
Space Up:: Send '{Space ' (A_PriorKey = 'Space' ? 1 : times) '}'
|
||||
Space:: global times := ''
|
||||
|
||||
#HotIf GetKeyState('Space', 'P')
|
||||
h::Left
|
||||
n::Down
|
||||
e::Up
|
||||
i::Right
|
||||
k::Home
|
||||
o::End
|
||||
[::PgUp
|
||||
]::PgDn
|
||||
1::F1
|
||||
2::F2
|
||||
3::F3
|
||||
4::F4
|
||||
5::F5
|
||||
6::F6
|
||||
7::F7
|
||||
8::F8
|
||||
9::F9
|
||||
0::F10
|
||||
-::F11
|
||||
=::F12
|
||||
+:: global times .= ThisHotkey
|
||||
#HotIf
|
||||
|
||||
Enter Up:: Send '{Enter ' (A_PriorKey = 'Enter' ? 1 : times) '}'
|
||||
Enter:: global times := ''
|
||||
|
||||
#HotIf GetKeyState('Enter', 'P')
|
||||
b:: {
|
||||
Run("vivaldi.exe")
|
||||
}
|
||||
t:: {
|
||||
Run("wezterm-gui.exe")
|
||||
}
|
||||
c:: {
|
||||
Run("code.exe")
|
||||
}
|
||||
10
platforms/win/start/KMonad.ps1
Normal file
10
platforms/win/start/KMonad.ps1
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
if (Get-Command "kmonad" -ErrorAction SilentlyContinue) {
|
||||
$KMonadPath = (Get-Command "kmonad").Source
|
||||
}
|
||||
else {
|
||||
$KMonadPath = "D:\bin\kmonad.exe"
|
||||
}
|
||||
|
||||
$KMonadConfig = "$Env:DOTFILES\tools\kmonad\windows.kbd"
|
||||
|
||||
Start-Process -FilePath $KMonadPath -ArgumentList $KMonadConfig -WindowStyle Hidden
|
||||
77
tools/KMonad/windows.kbd
Normal file
77
tools/KMonad/windows.kbd
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
;; Windows kmonad.kbd
|
||||
;; Detailed comments can be found at ./linux.kbd
|
||||
|
||||
(defcfg
|
||||
input (low-level-hook)
|
||||
output (send-event-sink)
|
||||
fallthrough true
|
||||
allow-cmd true
|
||||
cmp-seq ralt
|
||||
cmp-seq-delay 0
|
||||
implicit-around around
|
||||
)
|
||||
|
||||
;; Razer BlackWidow V3 Mini - 65% ANSI layout
|
||||
;; (defsrc
|
||||
;; esc 1 2 3 4 5 6 7 8 9 0 - = bspc del
|
||||
;; tab q w e r t y u i o p [ ] \ pgup
|
||||
;; caps a s d f g h j k l ; ' ret pgdn
|
||||
;; lsft z x c v b n m , . / rsft up ins
|
||||
;; lctl lmet lalt spc ralt rctl left down right
|
||||
;; )
|
||||
|
||||
(defsrc
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = \ del
|
||||
tab q w f p g j l u y ; [ ] bspc pgup
|
||||
caps a r s t d h n e i o ' ret pgdn
|
||||
lsft z x c v b k m , . / rsft up ins
|
||||
lctl lmet lalt spc ralt rctl left down right
|
||||
)
|
||||
|
||||
;; (deflayer name
|
||||
;; _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
;; _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
;; _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
;; _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
;; _ _ _ _ _ _ _ _ _
|
||||
;; )
|
||||
|
||||
;; CapsLock -> Esc when tapped, Ctrl when held
|
||||
(defalias mo1 (tap-next-release esc lctl))
|
||||
(defalias spctl (tap-next-release spc (layer-toggle spcl)))
|
||||
|
||||
|
||||
;; Colemak
|
||||
(deflayer colemak
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = \ del
|
||||
tab q w f p g j l u y ; [ ] bspc pgup
|
||||
@mo1 a r s t d h n e i o ' ret pgdn
|
||||
lsft z x c v b k m , . / rsft up ins
|
||||
lctl lmet lalt @spctl ralt rctl left down right
|
||||
)
|
||||
|
||||
(deflayer qwerty
|
||||
esc 1 2 3 4 5 6 7 8 9 0 - = bspc del
|
||||
tab q w e r t y u i o p [ ] \ pgup
|
||||
@mo1 a s d f g h j k l ; ' ret pgdn
|
||||
lsft z x c v b n m , . / rsft up ins
|
||||
lctl lmet lalt @spctl ralt rctl left down right
|
||||
)
|
||||
|
||||
|
||||
;; SPACE Layer
|
||||
(deflayer spcl
|
||||
grv f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 \ del
|
||||
tab q w f p g j l u y ; pgup pgdn bspc pgup
|
||||
@mo1 a r s t d left down up right end ' ret pgdn
|
||||
lsft z x c v b home m , . / rsft up ins
|
||||
lctl lmet lalt spc ralt rctl left down right
|
||||
)
|
||||
|
||||
;; (deflayer spcl
|
||||
;; esc 1 2 3 4 5 6 7 8 9 0 - = bspc del
|
||||
;; tab q w e r t y u i o p [ ] \ pgup
|
||||
;; @mo1 a s d f g left down up right ; ' ret pgdn
|
||||
;; lsft z x c v b n m , . / rsft up ins
|
||||
;; lctl lmet lalt spc ralt rctl left down right
|
||||
;; )
|
||||
|
|
@ -297,6 +297,7 @@ const searchAliases = [
|
|||
["gh", "GitHub", "https://github.com/search?type=repositories&q="],
|
||||
["gg", "Google", "https://www.google.com/search?q="],
|
||||
["mc", "Metacritic", "https://www.metacritic.com/search/"],
|
||||
["nx", "NixPackages", "https://search.nixos.org/packages?query="],
|
||||
["ng", "NuGet", "https://www.nuget.org/packages?q="],
|
||||
["np", "npm", "https://www.npmjs.com/search?q="],
|
||||
["pa", "Pacman", "https://archlinux.org/packages/?q="],
|
||||
|
|
@ -324,6 +325,8 @@ const searchAliases = [
|
|||
["yt", "YouTube", "https://www.youtube.com/results?search_query="],
|
||||
];
|
||||
|
||||
api.unmap("on")
|
||||
|
||||
// Add all search aliases
|
||||
searchAliases.forEach(([alias, name, url]) => {
|
||||
_addSearchAlias(alias, name, url);
|
||||
|
|
@ -1003,4 +1006,3 @@ addVimMapKey(
|
|||
// #region Hints
|
||||
api.Hints.setCharacters("qwfpgarstdcv"); // Left-hand keys
|
||||
// #endregion
|
||||
//
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue