feat: add playbooks for toolboxes

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2022-01-15 12:34:57 +01:00
parent 0d50c821c4
commit 6346599007
No known key found for this signature in database
GPG key ID: 332171FADF1DB90B
4 changed files with 70 additions and 7 deletions

View file

@ -1,7 +0,0 @@
---
- name: Install ghc and hlint
dnf:
name:
- "@ghc:8.10"
- hlint
state: present

24
toolboxes/README.md Normal file
View file

@ -0,0 +1,24 @@
# Maintaining toolboxes
## How to keep Fedora toolbox up-to-date
1. Pull latest toolbox
\$ podman pull fedora-toolbox:35
2. Run the container
\$ podman run -ti fedora-toolbox:35 /bin/bash
3. Copy your current repos
\$ podman cp /etc/yum.repos.d/ container ID:/etc/
4. Run upgrade & install common packages inside the container
(container)$ dnf upgrade
(container)$ dnf install -y zsh tmux neovim ansible make
5. Commit the image
\$ podman commit container ID fedora-toolbox:35

34
toolboxes/cpp.yml Normal file
View file

@ -0,0 +1,34 @@
---
- name: Prepare C/C++ container
hosts: all
become: yes
become_method: sudo
tasks:
- name: Install compilers
dnf:
name:
- gcc
- clang
state: present
- name: Install linters and tools
dnf:
name:
- clang-tools-extra
- cppcheck
state: present
- name: Install build systems
dnf:
name:
- cmake
- make
state: present
- name: Install Karel
block:
- name: Enable Copr repository
shell: dnf copr enable -y mfocko/karel
- name: Install Karel library
dnf:
name: libkarel
state: present
tags: karel

12
toolboxes/haskell.yml Normal file
View file

@ -0,0 +1,12 @@
---
- name: Prepare haskell container
hosts: all
become: yes
become_method: sudo
tasks:
- name: Install ghci
dnf:
name:
- ghc
- hlint
state: present