A repository containing my personal containerised development environments
- C/C++ toolchain (
gcc
&clang
) - LLVM tools &
lld
- Rust toolchain (
rustup
,rustc
&cargo
) - Rust WASM toolchain with Trunk
- Python 3.10 & PIP
- Ruby & RubyGems
- Poetry
- .NET 5
- OpenJDK 17
- GitUI, blazing fast terminal-ui for git written in Rust
- jql, a JSON Query Language CLI tool built with Rust
- zoxide, a smarter
cd
command (invoked byz
) - Next-gen rust tools (old tools also present):
Old Rust cat bat du dust grep rg make just find fd cloc tokei rm rip ls exa
Podman is recommended
podman build fedora [...options]
docker build -f fedora/Containerfile fedora [...options]
[podman | docker] pull ghcr.io/saadisave/fedora-dev-env:latest
[podman | docker] run [...options] ghcr.io/saadisave/fedora-dev-env:latest
- Once container is running with your desired configuration, do:
podman generate kube [container-name] > [filename].yml
- This file can be used to instantiate a pod either with
kubectl
(in your production environment) orpodman
, vastly reducing repetition. - To instantiate using podman, run:
podman play kube [filename].yml
Remember, it's Fedora: a full blown Linux distro. So you can add whatever software you
need using dnf
. Anything that does not require a systemctl daemon should run. Keep in
mind that the entrypoint shell is zsh
, not bash
. Most autocompletion that you might require, e.g. git
, dnf
, cargo
, etc. has already been set up. Additional completions can be added to the ~/.zsh/completions
directory. A .zshrc
file is also present to customise zsh to your heart's content. Happy Developing!