https://github.com/rosarp/nu-zigup
Nushell script to install/update zig & zls
https://github.com/rosarp/nu-zigup
package-manager zig zls
Last synced: 6 months ago
JSON representation
Nushell script to install/update zig & zls
- Host: GitHub
- URL: https://github.com/rosarp/nu-zigup
- Owner: rosarp
- Created: 2025-06-26T10:23:47.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-07-19T06:47:54.000Z (6 months ago)
- Last Synced: 2025-07-19T11:23:26.635Z (6 months ago)
- Topics: package-manager, zig, zls
- Language: Nushell
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-zig - rosarp/nu-zigup - Download & manage Zig compilers & zls binaries. Script is written in nushell. (Tools / Package and Version Manager)
README
# nu-zigup
A Nushell script to install, update, and manage Zig compiler and Zig Language Server (ZLS) installations.
## Overview
nu-zigup helps you manage multiple versions of the Zig compiler and ZLS. It allows you to:
- Download and install specific Zig versions
- Switch between installed versions
- Keep up with nightly (master) builds
- Install and manage ZLS for each Zig version
- Create symlinks to make Zig and ZLS available in your PATH
## Installation
1. Make sure you have [Nushell](https://www.nushell.sh/) installed
2. Clone this repository
3. Make the script executable: `chmod +x zigup`
4. Optionally, add the script to your PATH
## Commands
### Basic Usage
```nushell
# Show help information
zigup
# Download and set a specific version as default (defaults to master)
zigup install [VERSION]
# Download a specific version without setting as default (defaults to master)
zigup fetch [VERSION]
# Update to the latest master build (removes existing master first)
zigup master
# List installed compiler versions
zigup list
```
### Installation Directory Management
```nushell
# Print the current installation directory
zigup get-install-dir
# Set the default installation directory
zigup set-install-dir [PATH]
```
### Symlink Management
```nushell
# Create a symlink to zig in the specified PATH
zigup ln-zig PATH
# Create a symlink to zls in the specified PATH
zigup ln-zls PATH
```
### Advanced Usage
```nushell
# Download and update versions.json with available zig versions
zigup get-version-list
# Verify shasum & size of downloaded files
zigup verify-integrity
```
## Configuration
By default, nu-zigup stores all downloads and configuration in `~/.local/share/nu-zigup`. You can change this location using the `set-install-dir` command.
## How It Works
nu-zigup downloads Zig and ZLS binaries from their official sources and manages them locally. It creates symlinks to make the selected versions available as `zig` and `zls` commands.
The script keeps track of available versions using a versions.json file, which can be updated with the `get-version-list` command. By default, it tracks versions from the past 78 weeks (~1.5 years).
## Requirements
- Nushell
- Basic Unix utilities (tar, ln, etc.)
## License
MIT