Hello there! First use of the Atuin Desktop and created my first Runbook. It is a quick sample of creating and compiling a C++ program. One thing that I noted, and maybe I have my workflow incorrect, but one terminal seems to not have any ‘history’ or connection to a previous terminal.
I was thinking that this Runbook was a bit like a Python Jupyter Notebook in that previous commands in a cell would generate some state for future cells. So in this approach I thought I could have…
a terminal that creates the C++ file
some paragraph text that explains it a bit
another terminal that compiles the C++ file into an executable
another paragraph for discussion
then another terminal that runs the compiled program
It seems that I have to ‘cd’ into the correct directory in each terminal rather than expect the subsequent terminals to be in the working directory set by the previous cell terminal. And that I have to run each terminal separately in order.
Again, maybe I am missing the workflow, but wondering if some state retention is possible, or if I am trying to use this incorrectly. Thanks!
Whoa! I just stepped back and decided to read through the automatically generated first Runbook and read the section about Directory Blocks. Figures, my first post and first Runbook and it seems I should have ‘read the manual’ a bit more. LOL.
Haha yep, I think the directory block is what you want! We also have https://man.atuin.sh
Glad you found it in the end
We’re trying to avoid the jupyter notebook pitfall of sharing state all over the place. With Runbooks, state is kept + modified at the runbook level, with each terminal being isolated. At some point it might be possible for terminals to also alter state, but the actual shell environment will never be shared
I have a similar use case, although I got stuck with Runbooks since I prefer to use a Python virtual environment. It seems that I would have to manually re-initialize a virtual environment with every single Terminal block (since a new terminal won’t simply initialize with an activated virtual env) which isn’t sustainable.
The obvious alternative, of course, is for me to move away from this paradigm entirely and not use virtual environments. I would prefer not do this, but needs must.