--- - hosts: localhost become: yes become_user: root tasks: - name: Install Flatpak development tools dnf: state: present name: - flatpak - flatpak-builder - name: Add Flatpak remotes flatpak_remote: state: present name: "{{ item.name }}" flatpakrepo_url: "{{ item.repo }}" loop: - name: flathub repo: "https://flathub.org/repo/flathub.flatpakrepo" - name: flathub-beta repo: "https://flathub.org/beta-repo/flathub-beta.flatpakrepo" - name: gnome-nightly repo: "https://nightly.gnome.org/gnome-nightly.flatpakrepo" - name: kdeapps repo: "https://distribute.kde.org/kdeapps.flatpakrepo" - name: Enable copr repositories community.general.copr: state: enabled name: "{{ item }}" loop: - cappyishihara/opentabletdriver - atim/lazygit - fale/gopass - peterwu/iosevka # Package installations. - name: Install packages from enabled copr repositories dnf: state: present name: - lazygit - opentabletdriver - golang-github-gopasspw-gopass - iosevka-fonts - iosevka-curly-fonts - iosevka-curly-slab-fonts - iosevka-slab-fonts - iosevka-etoile-fonts - name: Set minimal development environment dnf: state: present name: - neovim - python-neovim - git - kitty - kitty-doc - kitty-terminfo - man-db - man-pages - name: Install additional development tools dnf: state: present name: - tealdeer - bat - fzf - exa - ripgrep - sqlite - zoxide - direnv - name: Install RPM development tools dnf: state: present name: - rpm-build - go-rpm-macros - name: Setup container development tools dnf: state: present name: - podman - toolbox - openssl - name: Install backup tools dnf: state: present name: - borgbackup - borgmatic - name: Install (Doom) Emacs with its required dependencies dnf: state: present name: - emacs - libvterm - aspell - aspell-en - wordnet - zstd - name: Install web-related tools dnf: state: present name: - thunderbird - chromium - firefox - name: Install extra dependencies dnf: state: present name: - editorconfig - ImageMagick - ImageMagick-doc - ImageMagick-libs - hyperfine - libtree-sitter - recoll - recoll-gssp - recoll-kio - starship - name: Install Fedora COPR dev't tools dnf: state: present name: - copr-cli - dnf-plugins-core - name: Install i18n tools dnf: state: present name: - fcitx5 - fcitx5-configtool - fcitx5-gtk4 - fcitx5-lua - fcitx5-mozc - fcitx5-rime - librime - librime-tools - mozc - name: Install Ansible dnf: state: present name: - ansible - ansible-doc - ansible-collection-community-general - python3-psutil - name: Install fonts dnf: state: present name: - adobe-source-code-pro-fonts - adobe-source-sans-pro-fonts - adobe-source-serif-pro-fonts - google-noto-cjk-fonts - google-noto-cjk-fonts-common - google-noto-emoji-fonts - google-noto-sans-fonts - google-noto-serif-fonts # Install applications from Flatpak - name: Install applications from 'flathub' Flatpak remote flatpak: state: present name: "{{ item }}" remote: flathub loop: - com.github.tchx84.Flatseal - com.github.wwmm.easyeffects - com.obsproject.Studio - com.play0ad.zeroad - com.remnantsoftheprecursors.ROTP - com.usebottles.bottles - com.valvesoftware.Steam - io.github.lainsce.Emulsion - org.blender.Blender - org.inkscape.Inkscape - org.kde.krita - org.musescore.MuseScore - org.pipewire.Helvum - org.zrythm.Zrythm - re.sonny.Junction - re.sonny.Tangram - name: Install applications from 'kdeapps' Flatpak remote flatpak: state: present name: "{{ item }}" remote: kdeapps loop: - org.kde.krita-nightly - name: Install applications from 'flathub-beta' Flatpak remote flatpak: state: present name: "{{ item }}" remote: flathub-beta loop: - net.lutris.Lutris - name: Install applications from 'gnome-nightly' Flatpak remote flatpak: state: present name: "{{ item }}" remote: gnome-nightly loop: - org.gimp.GIMP # Configure desktop environment. - name: Install dconf keyfiles copy: src: ./files/dconf/ dest: /etc/dconf/db/a-happy-gnome.d - name: Set 'user' dconf profile with the custom GNOME config ansible.builtin.shell: echo "system-db:a-happy-gnome" >> /etc/dconf/profile/user - name: Enable night light in GNOME dconf: state: present key: /org/gnome/settings-daemon/plugins/color/night-light-enabled value: "true" # TODO: # * Configure GNOME extensions