toolboxes #36
5 changed files with 75 additions and 9 deletions
7
Makefile
7
Makefile
|
@ -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
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
---
|
|
||||||
- name: Install ghc and hlint
|
|
||||||
dnf:
|
|
||||||
name:
|
|
||||||
- "@ghc:8.10"
|
|
||||||
- hlint
|
|
||||||
state: present
|
|
24
toolboxes/README.md
Normal file
24
toolboxes/README.md
Normal 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
34
toolboxes/cpp.yml
Normal 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
12
toolboxes/haskell.yml
Normal 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
|
Loading…
Reference in a new issue