#Title: Pip'less, Brew'less ... and broke ## Introduction Hello and welcome. I have been here awhile and want to become more active and share my tinkering. I am interested in all things Sdf.org especially Gopher and later I will look at Gemini. I want to investigate the possibilities of SDF as much as I can. With a little creativity I think there is a lot of potential. The following steps where done with a MetaARPA account, I am almost certain these steps will NOT work with a lower account membership. This is my first how-to if you want to call it that. The inspriation was my frustration with not having a few basic tools that I have used over the years on different systems, which lead to a decentralized kind of mess with no way in to my home network. I built multiple solutions over the years but nothing smoother than accessing a public system that I don't maintain and I can reach from anywhere. Using BBOARD or app request for every tiny little thing is cumbersome for all involved so I looked into a few tools that I like to use and seeing if I could get them loaded. I would caution to not get too crazy these are very small apps and don't pose any possible damage that I can see. +=============+===========================================+ | NAME | DESCRIPTION | +=============+===========================================+ | Safe Closet | A password vault of sorts written in rust | +-------------+-------------------------------------------+ | Buku | CLI bookmark manager | +-------------+-------------------------------------------+ | Topydo | A powerful todo app | +-------------+-------------------------------------------+ | Calcurse | curses terminal calendar| | +-------------+-------------------------------------------+ ** It turns out calcurse was already installed in meta! ** +=============+==============================+ | APP MANAGER | DESCRIPTION | +=============+==============================+ | pip(3) | Not available (use setup.py) | +-------------+------------------------------+ | Homebrew | locally installable | +-------------+------------------------------+ ### Why consider Pip packages and Homebrew without superuser access? For security reasons it makes sense to limit regular users and keep access restricted, but if you could install to your home directory without affecting anything else that would be awesome. A way to simplify my workflow by using SDF.org as much as possible, reducing the need to switch between multiple SSH sessions and accessable world wide. Things covered in this article: - How to install as a standard user (Meta ARPA). - Method to install software using pip packages that contain setup.py and Homebrew in your home directory. - Practical benefits and use of local home drive installations. - References at the bottom of the article for further reading. Let's see how you can enhance your SDF.org experience by using package managers without needing superuser rights. For the first example are not really using pip but we are working with the package itself and Python. Which still achieves the goal of installing the desired software. ### Step-by-Step Guide: Installing TopyDo and Homebrew Topydo is a powerful todo list CLI application using the todo.txt #### 1. Installing TopyDo - **Locate the GitHub repository**: Find and clone the repository for TopyDo. |git clone https://github.com/topydo/topydo.git - **Prepare the Installation**: Navigate to the installation directory, find `setup.py`, and make it executable (`chmod +x setup.py`). |cd topydo |chmod +x setup.py - **Install TopyDo**: Run the installation with user-level permissions to avoid needing superuser access: |python setup.py install --user - **Verify the Installation**: Test TopyDo by running basic commands to ensure it's functioning correctly. |# My result installed into the the ~/.local/bin directory |cd ~/.local/bin |./topydo -h |./topydo --v Add your first todo entry and it creates a todo.txt |topydo add "Water the flowers @Home rec:1w" The example does not do the tool justice, its good tool and maybe I will write a follow up to show more. The topydo github page has a good demo. #### 2. Installing Homebrew - **Create a Homebrew Directory and Download**: Set up a directory for Homebrew and download the installation script: (all in one line>) |mkdir homebrew && curl -L |https://github.com/Homebrew/brew/tarball/master | tar xz |--strip 1 -C homebrew - **Install Software with Homebrew**: Use Homebrew to install additional software, such as Buku, a command-line bookmark manager: |brew install buku - **Verify Installation**: Ensure Buku is correctly installed in `~/homebrew/bin`. # Add a bookmark (Buku tries to add a description |./buku --add https://sdf.org unix,public #Add a few more then list them with -p |./buku -p #### 3. Installing Safecloset - **Download and Prepare the Installation**: Obtain the precompiled package of Safecloset, a tool for securely managing passwords and secrets, from its official GitHub release page. https://github.com/Canop/safecloset/releases - **Make Executable and Test**: Change the permissions to make the file executable (`chmod +x`) and test to confirm it functions as intended. |chmod +x safecloset |./safecloset -o myFirst_safeCloset Try adding few secret test entries: Press ctrl ? for help ## Conclusion This exploration on SDF.org reveals that user-level restrictions don't need to limit your software capabilities. By adapting installation procedures and utilizing tools like Homebrew and Python's setup tools, you can still install some of your desired software and streamline your workflow, all within the constraints of regular user permissions. I believe these practical examples are steps that help enrich the experience at sdf and also encourage further experimentation and discovery in a shared Unix environment. P.S. the "broke" part in the title had nothing to do with anything technically. Im just broke atm :) ## References TOPY DO - https://github.com/topydo/topydo - https://github.com/todotxt/todo.txt Homebrew - https://docs.brew.sh/Installation - https://en.wikipedia.org/wiki/Getting_Things_Done BUKU - https://github.com/jarun/Buku/wiki SafeCloset - https://github.com/Canop/safecloset For the PDF version of this document: - From gopher menu - Files/pip_n_brew.pdf