Hi all,
I am about to do a bit of a distro hop, and I am looking at Fedora and its spins, after years on Debian / POP.
I am not looking forward to setting it all up again, it’s a drag.
I wonder, is there a tool that lets me script installs?
I’ll want to check if application exists, and if so, update, otherwise, install. That kind of thing.
Things like:
- Telegram
- Joplin
- Docker
- Firefox
- Ungoogle Chromium
- Sublime Text
- VSCodium
- Keepass
- Thunderbird
- DBeaver
- Gimp
- Inkscape
- KDENLive
- Syncthing
- Steam
- VLC
- Localsend
- Flameshot
- Element
- Cherrytree
- Calibre
- Anydesk
I show the list, only to give an idea of what might be involved.
I’m new to Fedora, so not sure how it differs beyond the package manager. But, thought I’d ask.
Does such a tool exist, and is it worth my time? I can practice on a VM before trying on the final install/s.
Thank you
Just installing applications is pretty easy though.
---
- hosts: localhost
become: yes
tasks:
- name: Install required software
dnf:
state: latest
name:
- firefox
- telegram
- calibre
ansible-playbook install.yml
Something like that (untested)
I distinctly remember yum/dnf should be using a loop. Forget why but it’s recommended. Here’s a snippet from my playbook. Simply make the vars as you need and run.
- name: Install flathub as remote
ansible.builtin.shell:
cmd: flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
tags:
- apps
- name: Install flatpak apps
community.general.flatpak:
name: "{{ item }}"
state: present
loop: "{{ flatpaks }}"
tags:
- apps
- name: Remove some default unused packages
ansible.builtin.dnf:
name: "{{ item }}"
state: absent
update_cache: no
loop: "{{ remove }}"
ignore_errors: true
tags:
- apps
- name: Install our packages
ansible.builtin.dnf:
name: "{{ item }}"
state: present
update_cache: yes
loop: "{{ rpms }}"
ignore_errors: true
tags:
- apps```
On mobile. Apologies if formatting is off.