Skip to content

Commit

Permalink
Added diffutils and a basic README file
Browse files Browse the repository at this point in the history
  • Loading branch information
elromanos committed Nov 16, 2024
1 parent 0a499d8 commit 6822d69
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 2 deletions.
5 changes: 3 additions & 2 deletions Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ COPY files/vscode.repo /etc/yum.repos.d/
#
# bind-utils - for basic DNS troubleshooting
# code - VS Code
# diffutils - diff tools
# direnv - for managing dev environment variables
# helix - modern text editor
# make - for running make tasks
Expand All @@ -43,6 +44,6 @@ COPY files/vscode.repo /etc/yum.repos.d/
# rcm - managing dotfiles
# tmux - managing screen sessions
#
RUN dnf install -y bind-utils code direnv helix make man-db pass pinentry poetry pre-commit pwgen python3-lsp-server \
rcm tmux && \
RUN dnf install -y bind-utils code diffutils direnv helix make man-db pass pinentry poetry pre-commit pwgen \
python3-lsp-server rcm tmux && \
dnf clean all
47 changes: 47 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# My Dev Toolbox

> This image is meant to be used with the toolbox-create(1) command.
Since I started using [Fedora Silverblue] I've switched my workflow to use toolbox to set up my dev environments,
instead of overlaying packages, trying to keep my deployments as clean as possible.

As I was learing my ways around it, I kept having to re-create my toolboxes and had to run multiple commands everytime
to set them up as I wanted it to.

Eventually, I wrote a bash script, which worked fine.

But recently I came across the **Custom Images** section of the [Toolbx Documentation], where it describes how one can
go on to create their own custom Toolbx image and use that.

This repo is set up to track my Containerfile of my custom image for dev work, as well as notes and scripts related to
it.

The relevant GitHub Actions were set up in order to build a new image everytime my Containerfile, or the files in the
`files` directory change.

## Versioning

The latest version of image _should_ always be available as `ghcr.io/elromanos/dev-toolbox:latest`.

A cron job is defined to run and update it once a week, with the latest Fedora repo updates. The tag for such images is
set as **YY.WW** where **YY** is the last two digits of the year and **WW** the week number it was build.

## Setup

In order for the custom image to be loaded by default when I create a new toolbox, I need to override toolbox's default
settings. To do so, I had to create the `~/.config/containers/toolbox.conf` file with the following TOML content:

```toml
[general]
image = "ghcr.io/elromanos/dev-toolbox"
```

## F.A.Q.

- **Q: Why Podman and not Docker?** A: [Fedora Silverblue] comes with Podman pre-installed. As I want to keep my base
image as close to the defaults as possible, I decided to keep using Podman. For the simple needs of this exercise,
Docker and Podman __should__ be interchangable/compatible.

[Fedora Silverblue]: https://fedoraproject.org/atomic-desktops/silverblue/
[Toolbx Documentation]: https://containertoolbx.org/doc/
[Red Hat Actions]: https://github.com/redhat-actions

0 comments on commit 6822d69

Please sign in to comment.