Skip to content

Commit

Permalink
toolbox
Browse files Browse the repository at this point in the history
  • Loading branch information
EnigmaCurry committed Mar 12, 2024
1 parent 1761748 commit 21543a1
Showing 1 changed file with 27 additions and 14 deletions.
41 changes: 27 additions & 14 deletions books/linux-workstation.org
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ workstation /is/ usually connected to a network, but only as a client,
not as a server. (Of course, you may bend this rule if you like, to
make your computer a server-workstation or "Sworkstation", but it is
cleaner, and more secure, to use separate machines for these very
differnt roles.)
different roles.)

This book will describe my preferred method for setting up a brand new
computer for use as a personal workstation.
Expand Down Expand Up @@ -321,19 +321,19 @@ lets you run your applications inside of [[https://podman.io][Podman]] container
can actually be used on any Linux system that is capable of running
Podman, but is especially useful on Atomic hosts. Toolbox is more
tightly integrated with your host OS than Docker or Podman containers
normally are. Toolbox shares the same =/home= and =/etc= directories
with the host (bind mount), and they live in the same network and
process namespace as the host (ie. you can run =ps= or =kill= from
inside the toolbox, and it will see/affect the host.) Toolbox
containers are not really sandboxed like normal Docker containers are,
but they are a convenience for installing/removing software on Atomic
hosts, because theres not really any other way (since the host
filesystem is read-only). The applications you install live only
inside the toolbox container.
normally are. Toolbox containers share the same =/home= and =/etc=
directories with the host (bind mounted), and they live in the same
network and process namespace as the host (ie. you can run =ps= or
=kill= from inside the toolbox, and it will see/affect the host.)
Toolbox containers are not sandboxed like normal Docker containers
are, but they are a convenience for installing/removing software on
Atomic hosts, because theres not really any other way (since the host
filesystem is read-only). The applications you install in the
container will live only inside the toolbox.

The killer feature of a toolbox is that it lets you try things out,
and if you want to start over, you can just delete the toolbox
container and create a new one. You are less likely to mess up the
container, and create a new one. You are less likely to mess up the
host by playing around inside the toolbox. Just remember that =/home=
and =/etc= are bind mounted to the host, and so if you change or
delete things in those directories, they are also affected the same
Expand Down Expand Up @@ -393,11 +393,24 @@ To enter the Arch Linux container, run:

: toolbox enter arch

Now inside you can run any Arch Linux command, consult the [[http://wiki.archlinux.org/][Arch Wiki]].
Now that you're inside the toolbox, you can run any Arch Linux command
(consult the [[http://wiki.archlinux.org/][Arch Wiki]]).

: sudo pacman -Syu
: sudo pacman -S keychain base-devel

** Managing toolbox containers

You can list all of your toolboxes that you've created:

: toolbox list

You can remove existing toolboxes:

: toolbox rm --force arch

(force is only required if the toolbox is currently running.)

* Emacs
:PROPERTIES:
:EXPORT_FILE_NAME: emacs-on-fedora
Expand All @@ -419,7 +432,7 @@ To enable this, you need to be running your dev toolbox:

Once the toolbox is running, you may enable the COPR:

: # Not necessary on Fedora 40+
: # This is no longer necessary on Fedora 40+
: sudo dnf copr enable enigm-a/emacs-pgtk-nativecomp

Install Emacs:
Expand All @@ -428,7 +441,7 @@ Install Emacs:

** Create Emacs script

In order to be able to quickly launch Emacs insdide the toolbox from
In order to be able to quickly launch Emacs inside the toolbox from
the host, you will need a little script installed on the host.

You can create this script and put it in =/usr/local/bin/emacs=. Run
Expand Down

0 comments on commit 21543a1

Please sign in to comment.