toolboxes #36

Merged
mfocko merged 2 commits from toolboxes into main 2022-01-15 13:12:44 +01:00
5 changed files with 75 additions and 9 deletions

View file

@ -1,7 +1,10 @@
.PHONY: fedora-deps deps fedora-bootstrap gpg keys .PHONY: deps fedora-deps fedora-bootstrap fedora-release-upgrade gpg keys
CONNECTION ?= local
INVENTORY ?= localhost
ANSIBLE_PYTHON := /usr/bin/python3 ANSIBLE_PYTHON := /usr/bin/python3
AP := ansible-playbook -vv -K -c local -i localhost, -e ansible_python_interpreter=$(ANSIBLE_PYTHON) AP := ansible-playbook -vv -K -c $(CONNECTION) -i $(INVENTORY), -e ansible_python_interpreter=$(ANSIBLE_PYTHON)
deps: deps:
ansible-galaxy collection install community.general ansible-galaxy collection install community.general

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