I’ve used distrobox more and more and am at the point where I need to start saving and integrating history differently. Or like, when I’m installing and building something complicated, I need to start saving that specific session’s history. I am curious what others might be doing and looking for simple advice and ideas.
For me, it is not about “lost history.” It is about contextual history and knowing if some tool I built in a distrobox uses only dandified, pacman, aptitude, portage; or if it also uses venv, conda; or if there was some install script.
It would be nice if I was on a stable kernel to avoid such a dependency salad, but that is not within the scope of playing with the latest AI toys where new tools and exploring new spaces is constantly creating opportunities to explore.
It would be nice if I was some genius full stack dev that could easily normalized all the tools under a single dependency containerization scheme, but that is not within my mental scope or interests at the present. For most AI tools, I follow the example given and only add a distrobox container as an extra layer of dependency buffering from the host. The ability to lazily see the terminal history for each of those containers is a handy way to see exactly what I did months ago.
Extra udev rules for game controllers and other devices included out of the box
All multimedia codecs included
System designed for automatic staging of updates
If you’ve never used an image-based Linux before just use your computer normally
Don’t overthink it, just shut your computer off when you’re not using it
Starship is enabled by default to give you a nice shell prompt
Solaar - included for Logitech mouse management along with libratbagd
Tailscale - included for VPN along with wireguard-tools
zsh and fish optional
Built-in Ubuntu user space
<kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>u</kbd> - will launch an Ubuntu image inside a terminal via Distrobox and your home directory will be transparently mounted for the Ubuntu image to access
Use this container for your typical CLI needs or to install software that is not available via Flatpak or Fedora
Optional ubuntu-toolbox image with Python, and other convenience development tools. just distrobox-bluefin to get started. To configure just follow the guide.
Optional universal image with Python, Node.js, JavaScript, TypeScript, C++, Java, C#, F#, .NET Core, PHP, Go, Ruby, and and Conda. just distrobox-universal to get started
just assemble shortcut to declaratively build distroboxes defined in /etc/distrobox/distrobox.ini
Refer to the Distrobox documentation for more information on using and configuring custom images
GNOME Terminal - <kbd>Ctrl</kbd>-<kbd>Alt</kbd>-<kbd>t</kbd> - will launch a host-level GNOME Terminal if you need to do host-level things in Fedora (you shouldn’t need to do much).
The difference between silverblue and your image is that silverblue is signed by fedora and yours isn’t.
Of course Fedora only signs Fedora images, we sign our own images.
There’s no reason for anyone but you to use the image. Even if I were to us tailscale and fish, I’d be better off with silverblue.
Then use Silverblue! If you don’t understand the features of something then you might not be the target audience!
I really want to make a bashrc function that I can call from the Gnome Terminal that will cd into a directory, then enter a distrobox container, then enter a conda environment, then launch a python script. (doing AI stuff and have many coexisting dependencies), I want a function because I would like to pass arguments to alter...
So I have containers and conda environments for Oobabooga, KoboldAI, Automatic 1111, ComfiUI, as GUIs, and separate CLI setups for Tortoise TTS, Selero, privateGPT, Langchain agents, and a couple of setups for additional CLI tools and a database. Most of these talk to each other over local host. Some of them like Oobabooga, I open every day and it just gets tedious. I have run the alias oobabooga=“cd ~/foo/bar && distrobox enter foobar – uname -n && conda activate baz && python ./baz.py” that can work but it is static and it doesn’t always activate the conda environment correctly. I think this may be due to how long it can take for the distrobox container to activate. The uname -n helps a bit and is the only visual indicator I managed to get working to show me that I am in the distrobox, but it flies above the output quickly and if the program exits in error, my PS1 variable is not changed so I don’t have my usual indicator that I am in a container. Overall, this can launch the script, but that is not what I am asking about or trying to achieve. I want the same visual indicators and clear execution as running each command sequentially in the terminal from a function or script.
Across this vast Fediverse, I have encountered a trend of people answering questions with esoteric programming language speaking in tongues that I don’t understand, including under my own posts. I am a Boomer when it comes to coding and I am only 27. I don’t even know where I would start to learn it because programming is so...
It depends on what you want to build. If you’re not sure, start with Python. It’s likely easiest to pick up and get running. There’s a book called “Automate the Boring Stuff.” I think there’s an online version. (Edit: link - automatetheboringstuff.com)
If you don’t want to set up Python (or any language, really) on your computer, there’s a tool called a REPL that you can find online. So you can just search “Python online REPL,” and you’ll get a functional online environment to code. Now, you won’t be able to do stuff interacting with your local computer this way, like reading files, but it’s good for learning the basics of the language.
In terms of software for writing code in on your local computer, Visual Studio Code (NOT to be confused with Visual Studio) is a free, lightweight code editor. It supports every language via plugins.
If you do go the Python route, make sure to learn about virtual environments before you do ‘pip’ or ‘conda’ anything. Also, unless you’re doing data science things, stick to pip. (Maybe some personal bias there, but I hate anaconda.) If you’re starting from nothing, it’ll be awhile until you get there anyway, so don’t worry too much about it.
Most importantly, find a community that welcomes new learners. Learning to code is absolutely fucking brutal, so having supportive people available makes a world of difference. Bonus points if you can find an offline meetup in your local area.
Do you have a more complicated shell history scheme than the distro default?
I’ve used distrobox more and more and am at the point where I need to start saving and integrating history differently. Or like, when I’m installing and building something complicated, I need to start saving that specific session’s history. I am curious what others might be doing and looking for simple advice and ideas.
Conda is moving to Mastodon & LinkedIn | conda.org/blog (conda.org)
cross-posted from: discuss.online/post/4110869...
Project Bluefin: A Linux Desktop for Serious Developers (thenewstack.io)
From The New Stack
What is really happening in a terminal when a container or environment is launched?
I really want to make a bashrc function that I can call from the Gnome Terminal that will cd into a directory, then enter a distrobox container, then enter a conda environment, then launch a python script. (doing AI stuff and have many coexisting dependencies), I want a function because I would like to pass arguments to alter...
I can't code.
Across this vast Fediverse, I have encountered a trend of people answering questions with esoteric programming language speaking in tongues that I don’t understand, including under my own posts. I am a Boomer when it comes to coding and I am only 27. I don’t even know where I would start to learn it because programming is so...