Baulk is a minimalist, portable package manager for Windows.
Baulk is a minimalist, portable package manager designed to simplify software installation and management on Windows systems. It offers a lightweight alternative for users seeking an efficient way to handle packages without requiring system-level installation or root access.
Key Features:
Minimalist Interface: Baulk provides a clean and intuitive command-line interface with minimal overhead.
Cross-Platform Compatibility: Works seamlessly on Windows, eliminating the need for virtualization or containerization.
Portability: Runs directly from any location without installation, making it ideal for USB drives or network shares.
Winget Integration: Supports package installation via winget, enabling users to access a wide range of software tools.
Configuration Flexibility: Users can customize repositories and package sources to suit their specific needs.
Baulk is a minimalist, portable package manager for Windows.
Why Baulk
Baulk was originally born to solve the inefficiency of the package manager command devi of Clangbuilder, and devi is based on Powershell, and the poor performance is self-evident.
In May 2020, when Microsoft announced the Windows Package Manager Preview, Baulk had been in development for several months. It did not mean that winget appeared, and similar tools would not develop. In addition, Baulk is better than package managers such as winget/scoop in terms of portability, isolation, virtual environment, and zero dependencies on tools. These are the reasons for its existence.
Features
Core feature is of course the package management function, which is portable and free of installation. All packages, whether msi/exe or other archives, will be decompressed by Baulk to the root directory of the package itself.
Environment isolation and virtual environment
All packages have their own directory, and the invocation of the program in the package is initiated through its launcher or symbolic link, and the environment variables do not interfere or affect.
There are different major versions of the same software, and different distributions can be switched through venv, such as openjdk/msjdk.
Excellent package extraction experience: Baulk itself provides decompression capabilities in zip/tar and other formats, supports automatic detection of filename encoding, and avoids garbled filenames caused by CodePage.
Baulk also provides baulk extract/unzip/untar commands for users to use baulk's decompression function in other scenarios.
Real-Time Updates: Ensures packages are always up-to-date with the latest versions available.
Audience & Benefit:
Ideal for developers, IT professionals, and power users who need a streamlined approach to software management on Windows. Baulk helps reduce complexity, save time, and automate package updates, making it an essential tool for anyone managing multiple applications or tools in their workflow.
Baulk also provides Unscrew Extractor (unscrew) a minimalist graphical decompression tool that can be integrated into the right-click menu to provide the ability to decompress tar.* files with one click.
Limited compatibility with scoop manifest (compatibility mode, inability to use baulk advanced features like environment isolation and virtual environments).
Written in pure C++20 with superior performance.
IntelliSense network settings when downloading packages.
Supports updating buckets using github-archives or git.
Baulk also provides the baulk brand command to detect operating system information.
Unzip it to any directory and double-click baulk-terminal.exe (you can also create a shortcut for it)
Installation without administrator rights
BaulkUserSetup-x64.exe
BaulkUserSetup-arm64.exe
Double click to run the installer
Install with administrator privileges
BaulkSetup-x64.exe
BaulkSetup-arm64.exe
Double click to run the installer
Experimental Experience Appx
Baulk-x64.appx
Baulk-arm64.appx
baulk version > 4.0
Once installed you can experience Baulk:
# Install any packages you need
# baulk i neovim curl wget ripgrep belautils
baulk install neovim curl wget ripgrep belautils
# Now you can run commands like curl in Windows Terminal
curl -V
# update metadata (bucket)
# baulk u --> baulk update && baulk upgrade
baulk update
# upgrade package
baulk upgrade
# uninstall package
# baulk r wget
baulk uninstall wget
Look, it's so simple!
Search package:
Integration into Windows Terminal (shell replacement):