DEV Community

Tarek Nawara
Tarek Nawara

Posted on

“I built Gripsack, a package and dotfile manager with generations and rollback”

I’ve always liked the reproducibility and rollback ideas behind tools like Nix, but I wanted something simpler for managing my own development machines.

So I built Gripsack.

What is Gripsack?

Gripsack manages your packages and dotfiles from one configuration.

It also keeps generations, so when your setup changes, you can inspect previous states and roll back if something goes wrong.

Why I built it

I wanted a setup that was:

  • easy to understand
  • easy to reproduce on another machine
  • able to manage both packages and dotfiles
  • safe to experiment with because I could roll back

I also wanted the configuration to feel like normal programming rather than learning a dedicated configuration language.

How it works

Gripsack has a Rust core and uses a content-addressed store to keep track of installed state.

Each change creates a new generation, so you can move between configurations without losing the previous one.

The project is still quite young, so there’s plenty I want to improve.

Try it

https://gripsack.dev

The project is open source, and I’d really appreciate feedback.
I’m especially interested in whether the configuration model feels intuitive and what package sources or features you’d like to see next.

Top comments (0)