Pages
  • Homepage
  • Queztaz/Tech Inventory
  • Emacs/Emacs With BiDirectional Google Calendar Sync
  • Emacs/Setting up Mu4e and Multiple Gmail Accounts
  • Emacs/EWW Hacks
  • Linux/Creating an Offline Debian Mirror Repository
  • Linux/Migrate Wiki.js to Another Server
  • Linux/Adding Bitwarden to the Pinephone Pro
  • Pinebook Pro/Custom Kernel
  • Pinebook Pro/Keyboard Firmware Update
  • Pinebook Pro/Netbsd Installation
  • Pinebook Pro/Setting Up Zram
  • Pinebook Troubleshooting/Pro Common Issues
  • Pinebook Pro/Use NVME as Root
  • Pinebook Pro/Write to SPI Flash
  • Qemu/Chroot Into a Different Architecture
  • Qemu/Choot Into an Img File
  • Qemu/Mount Virtual Images
  • Qemu/Windows Xp Fix Smb Not Working
  • Qemu/Windows Xp Installation
  • Misc/Finding the Default Wireless Password to TG1672G Routers
  • Misc/Running Ollama Portably
  • Windows/Cloning a Bios Boot Drive to Disimilar Hardware with UEFI
  • Windows/Automatic CHKDSK Scans Using Powershell & Email Alerts
  • Windows/Creating a Decent Portable Terminal
  • Windows/Merging HyperV Snapshots With Powershell
  • Windows/Simulating Bad Blocks on NTFS Filesystems
  • Windows/Creating and Viewing a Storport on Windows Server
  • Mikrotik/Creating a Client to Site VPN With
  • Mikrotik/Securing Router With Firewall
  • Mikrotik Setup Dynamically Changing IP With No-IP Api
Homepage
  • Homepage
  • Queztaz/Tech Inventory
  • Emacs/Emacs With BiDirectional Google Calendar Sync
  • Emacs/Setting up Mu4e and Multiple Gmail Accounts
  • Emacs/EWW Hacks
  • Linux/Creating an Offline Debian Mirror Repository
  • Linux/Migrate Wiki.js to Another Server
  • Linux/Adding Bitwarden to the Pinephone Pro
  • Pinebook Pro/Custom Kernel
  • Pinebook Pro/Keyboard Firmware Update
  • Pinebook Pro/Netbsd Installation
  • Pinebook Pro/Setting Up Zram
  • Pinebook Troubleshooting/Pro Common Issues
  • Pinebook Pro/Use NVME as Root
  • Pinebook Pro/Write to SPI Flash
  • Qemu/Chroot Into a Different Architecture
  • Qemu/Choot Into an Img File
  • Qemu/Mount Virtual Images
  • Qemu/Windows Xp Fix Smb Not Working
  • Qemu/Windows Xp Installation
  • Misc/Finding the Default Wireless Password to TG1672G Routers
  • Misc/Running Ollama Portably
  • Windows/Cloning a Bios Boot Drive to Disimilar Hardware with UEFI
  • Windows/Automatic CHKDSK Scans Using Powershell & Email Alerts
  • Windows/Creating a Decent Portable Terminal
  • Windows/Merging HyperV Snapshots With Powershell
  • Windows/Simulating Bad Blocks on NTFS Filesystems
  • Windows/Creating and Viewing a Storport on Windows Server
  • Mikrotik/Creating a Client to Site VPN With
  • Mikrotik/Securing Router With Firewall
  • Mikrotik Setup Dynamically Changing IP With No-IP Api

Windows/Creating a Decent Portable Terminal

Table of content
  • Directory Structure
  • Installing
    • RUNME.bat:
    • alacritty.toml:
    • Adding applications to PATH
    • Using Alacritty

Directions for creating a portable build of Alacritty with a portable set of busybox tools and windows CLI applications.

The goal is to have a good terminal emulator that can be ran on any system. I prefer avoiding WSL and Cygwin.

Directory Structure

Alacritty is the terminal emulator. In the same folder is a RUNME.bat that configures the environment and sources the alacritty.toml file.

All files placed in the bin folder will be added to the path. I have a separate shim folder contains wrapper scripts to run busybox functions and applications in the subfolders within bin

Alacritty-v0.15.1-portable.exe
alacritty.toml
RUNME.bat
shims
  awk.cmd
  vim.cmd
  [...]
bin
  7zr.exe
  aria2c.exe
  busybox.exe
  pageant.exe
  plink.exe
  pscp.exe
  psftp.exe
  python
  curl
  vim91
  [...]

Installing

  • Download Alacritty from https://github.com/alacritty/alacritty/releases

  • Create a bin and shims folder in the same folder as the application

  • Create your RUNME.bat and alacritty.toml files

RUNME.bat:

@echo off
cd /d "%~dp0"
set PATH=%~dp0bin;%~dp0shims;%PATH%
start /b "" Alacritty-v0.15.1-portable.exe --config-file "%~dp0alacritty.toml"

alacritty.toml:

[window]
opacity = 0.9
padding.x = 10
padding.y = 10
decorations = "Full"
decorations_theme_variant = "Light" # "Dark"

[terminal.shell]
program = "powershell.exe"
args = ["-NoExit", "-Command", "Set-Location $env:USERPROFILE"]

[font]
normal.family = "Aporetic Sans Mono"
bold.family = "Aporetic Sans Mono Bold"
italic.family = "Aporetic Sans Mono Italic"
bold_italic.family = "Aporetic Sans Mono Bold Italic"

size = 15.0

[keyboard]
bindings = [
   { key = "V", mods = "Control|Shift", action = "Paste" },
   { key = "C", mods = "Control|Shift", action = "Copy" }
]

Adding applications to PATH

Place standalone binaries in the bin folder. Subfolders aren't decended.

Files placed in the shims folder are added to the PATH too. Create a new wrapper script for each custom application you want to run

I used a script to create most the wrapper scripts for busybox. Separately I manually created wrappers to run applications such as Python and Vim portable.

arch.cmd:

@echo off
"%~dp0\..\bin\busybox.exe" arch %*

Using Alacritty

Run the RUNME.bat. Your config file will be sourced and all files in the bin and shims folders will be in your $PATH

PREVRANDOMNEXT