--- - name: "Bootstrap" hosts: "ubuntu" gather_facts: true vars: ansible_become_method: su user_public_keys: - "ssh-ed25519 AAAA...fMo" - "ssh-rsa AAAA...4I3" user_groups: ["wheel", "test_group"] roles: - role: "hostname" - role: "network" - role: "user" - role: "ssh" - role: "password_policy" pre_tasks: - name: "Update package cache" become: true ansible.builtin.package: update_cache: true async: 60 poll: 5 failed_when: false tags: - molecule-idempotence-notest tasks: - name: "Configure passwordless sudo for testing" ansible.builtin.copy: content: "%test_group ALL=(ALL) NOPASSWD: ALL\n" dest: "/etc/sudoers.d/test_group" mode: "0440" validate: 'visudo -cf %s' - name: "Configure" hosts: "ubuntu" gather_facts: true remote_user: "{{ username }}" vars: ansible_become_method: sudo locales: - "en_US.UTF-8 UTF-8" timezone: "GMT" wireguard_autostart_connection: "" gateway_enabled: false gateway_local_ipv4_subnet: "10.0.0.0/24" python_global_version: "3.13" python_versions: - "3.13" vimrc_repo_url: "https://git.sr.ht/~a14m/.vim" password_store_repo_url: "https://github.com/octocat/Spoon-Knife" firefox_install_browserpass: true firefox_install_passff: true pre_tasks: - name: "Override is_chroot fact for container environment" ansible.builtin.set_fact: ansible_facts: "{{ ansible_facts | combine({'is_chroot': false}) }}" roles: - role: "locales" - role: "timezone" - role: "bash" - role: "man" - role: "jq" - role: "ag" - role: "libheif" - role: "tmuxinator" - role: "wireguard" - role: "gateway" - role: "python" - role: "go" - role: "rust" - role: "nodejs" - role: "zoxide" - role: "gum" - role: "usbutils" - role: "docker" - role: "podman" - role: "ansible" - role: "nginx" - role: "prometheus" - role: "prometheus-node-exporter" - role: "grafana" - role: "gnome" - role: "gnome-calendar" - role: "gnome-loupe" - role: "gnome-papers" - role: "gnome-planify" - role: "gnome-disk-utility" - role: "gnome-newsflash" - role: "gradia" - role: "rsync" - role: "gpg" - role: "dotfiles" - role: "vim" - role: "mise" - role: "neomutt" - role: "password_store" - role: "which" - role: "firefox" - role: "chromium" - role: "obsidian" - role: "microsoft-teams" - role: "font" - role: "alacritty" - role: "btop" - role: "pipewire" - role: "claude" - role: "steam" - role: "localsend" - role: "restic" - role: "ethtool"