User-space packages
Pin release archives, captured sources or coherent Conda environments. Declare commands and runtime dependencies, not global installs.
declarative user-space environments · alpha
Make the tools and configuration you depend on explicit. Declare native packages, development environments, dotfiles and tasks in TypeScript. Start Docker Engine services explicitly when your project needs them.
Linux x86_64 and WSL2 · keep your OS package manager
Pin release archives, captured sources or coherent Conda environments. Declare commands and runtime dependencies, not global installs.
Run project commands in a selected environment. Expose the commands you want through managed profile launchers.
Compose captured trees, templates and shared text blocks. Review a deployment plan, preserve local drift, retain generations.
Start digest-pinned containers with loopback ports and explicit readiness. Keep named-volume data when taking services down.
Inspect semantic changes and save deployment plans. Share retained native artifacts separately from container runtime services.
Name repeatable commands, prerequisites and postconditions. Validate profile files at explicit lifecycle stages.
A file-only workspace needs no package build or Docker service. Save this as gripsack.ts in its own repository:
import {
defineWorkspace, file, literalText, managedBlock, profile, workspace,
} from "@gripsack/core";
const dotfiles = profile("dotfiles", {
files: [file({
content: literalText("export EDITOR=vi\n"),
destination: managedBlock("~/.profile", "gripsack-editor"),
})],
});
export default defineWorkspace(() => workspace({ outputs: [dotfiles] }));
After installing grip, review the captured source and policy when prompted:
grip check
grip plan dotfiles
grip apply dotfiles
Review the plan before applying. grip generations lists retained states; grip rollback restores a previous managed generation. Keep independent backups of irreplaceable files. Understand ownership and recovery →
One core binary with its TypeScript frontend embedded. Start with files or native packages; add access to Docker Engine only for container services.
Download v0.51.0 for Linux / WSL · Installation & prerequisites
Keep system packages with your existing manager. Bring the user-space tools, project commands and personal files you want to manage into a reviewable workspace. Where gripsack fits →