diff --git a/.config/ansible/roles/arch/packages/tasks/full.yml b/.config/ansible/roles/arch/packages/tasks/base.yml similarity index 99% rename from .config/ansible/roles/arch/packages/tasks/full.yml rename to .config/ansible/roles/arch/packages/tasks/base.yml index e1598ade..9c4b5dd2 100644 --- a/.config/ansible/roles/arch/packages/tasks/full.yml +++ b/.config/ansible/roles/arch/packages/tasks/base.yml @@ -1,7 +1,6 @@ # PACMAN - name: Install Pacman Packages pacman: - update_cache: yes name: # Base / Core - amd-ucode diff --git a/.config/ansible/roles/arch/packages/tasks/main.yml b/.config/ansible/roles/arch/packages/tasks/main.yml index c7d6f855..d1aac942 100644 --- a/.config/ansible/roles/arch/packages/tasks/main.yml +++ b/.config/ansible/roles/arch/packages/tasks/main.yml @@ -4,14 +4,6 @@ gather_facts: false vars_prompt: - - name: install_choise - prompt: "What type of install do you want?" - choices: - - "minimal" - - "full" - default: "minimal" - private: no - - name: gpu_driver_choice prompt: "What drivers do you want for your gpu?" choices: @@ -20,11 +12,46 @@ - "Intel" private: no + - name: enable_coding_module + prompt: "Do you want to install the coding packages?" + type: list + choices: + - "Yes" + - "No" + private: no + + - name: enable_gaming_module + prompt: "Do you want to install the gaming packages?" + type: list + choices: + - "Yes" + - "No" + private: no + + - name: enable_multimedia_module + prompt: "Do you want to install the multimedia packages?" + type: list + choices: + - "Yes" + - "No" + private: no + block: - - name: Install packages for the system - include_tasks: "{{ install_choice }}.yml" - when: install_choice is defined + - name: Install base packages for the system + include_tasks: base.yml - name: Install GPU drivers include_tasks: "drivers/{{ gpu_driver_choice | lower }}.yml" when: gpu_driver_choice is defined + + - name: Install coding packages + include_tasks: "modules/coding.yml" + when: enable_coding_module == "Yes" + + - name: Install gaming packages + include_tasks: "modules/gaming.yml" + when: enable_gaming_module == "Yes" + + - name: Install multimedia packages + include_tasks: "modules/multimedia.yml" + when: enable_multimedia_module == "Yes" diff --git a/.config/ansible/roles/arch/packages/tasks/minimal.yml b/.config/ansible/roles/arch/packages/tasks/minimal.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/.config/ansible/roles/arch/packages/tasks/modules/coding.yml b/.config/ansible/roles/arch/packages/tasks/modules/coding.yml new file mode 100644 index 00000000..975bcb06 --- /dev/null +++ b/.config/ansible/roles/arch/packages/tasks/modules/coding.yml @@ -0,0 +1,50 @@ +# PACMAN +- name: Install Pacman Packages + pacman: + name: + - dbeaver + - diff-so-fancy + - fzf + - lazygit + - neovide + - neovim + - npm + - bob + - onefetch + - ripgrep + - ripgrep-all + - sd + - yarn + - rustup + - python-pip + - python-pipx + - git + - github-cli + - luarocks + - nodejs + +# AUR +- name: Install AUR Packages + become: true + become_user: aur_builder + aur: + use: yay + name: + - lazynpm + - scc-bin + - tgpt-bin + - visual-studio-code-bin + +# Cargo +- name: Install Rust Packages + cargo: + name: + - cargo-update + +# Npm +- name: Install Npm Packages + npm: + name: + - commitizen + - cz-git + global: true diff --git a/.config/ansible/roles/arch/packages/tasks/modules/gaming.yml b/.config/ansible/roles/arch/packages/tasks/modules/gaming.yml new file mode 100644 index 00000000..8bb1ef59 --- /dev/null +++ b/.config/ansible/roles/arch/packages/tasks/modules/gaming.yml @@ -0,0 +1,41 @@ +# PACMAN +- name: Install Pacman Packages + pacman: + name: + # Launchers + - steam + + # Emulators + - retroarch + + # Tools + - gamemode + +# AUR +- name: Install AUR Packages + become: true + become_user: aur_builder + aur: + use: yay + name: + # Launchers + - heroic-games-launcher + - atlauncher-bin + + # Emulators + - dolphin-emu + - cemu-bin + - duckstation-git + - gzdoom + - rpcs3-bin + - ryujinx-bin + - pcsx2-latest-bin + - xemu-bin + + # Tools + - proton-ge-custom-bin + - vkbasalt + - ludusavi + + # Others + - adwsteamgtk diff --git a/.config/ansible/roles/arch/packages/tasks/modules/multimedia.yml b/.config/ansible/roles/arch/packages/tasks/modules/multimedia.yml new file mode 100644 index 00000000..9c4b5dd2 --- /dev/null +++ b/.config/ansible/roles/arch/packages/tasks/modules/multimedia.yml @@ -0,0 +1,170 @@ +# PACMAN +- name: Install Pacman Packages + pacman: + name: + # Base / Core + - amd-ucode + - intel-ucode + + - android-file-transfer + - android-tools + - baobab + - bat + - blender + - bluez + - blueman + - btop + - celluloid + - clamtk + - dbeaver + - diff-so-fancy + - discord + - dua-cli + - eza + - easyeffects + - fd + - fzf + - galculator + - gamemode + - geeqie + - gnome-disk-utility + - gst-plugins-base + - hyprland + - kitty + - kvantum + - lazygit + - libreoffice-still + - lsp-plugins + - lxappearance + - mesa + - mpv + - navi + - nemo + - nemo-fileroller + - nemo-image-converter + - neofetch + - neovide + - neovim + - npm + - nm-connection-editor + - nvtop + - obsidian + - onefetch + - pavucontrol + - pinta + - polkit-gnome + - ripgrep + - ripgrep-all + - scrcpy + - sd + - swappy + - swaydile + - thunderbird + - ufw + - waybar + - wine + - wl-clipboard + - yt-dlp + - yarn + - xplr + - zathura + - zathura-pdf-mupdf + +# AUR +- name: Create the `aur_builder` user + become: true + ansible.builtin.user: + name: aur_builder + create_home: yes + group: wheel + +- name: Allow the `aur_builder` user to run `sudo pacman` without a password + become: true + ansible.builtin.lineinfile: + path: /etc/sudoers.d/11-install-aur_builder + line: "aur_builder ALL=(ALL) NOPASSWD: /usr/bin/pacman" + create: yes + validate: "visudo -cf %s" + +- name: Install AUR Packages + become: true + become_user: aur_builder + aur: + use: yay + name: + - amf-amdgpu-pro + - activitywatch-bin + - adwsteamgtk + - android-sdk-platform-tools + - ani-cli + - arronax + - betterdiscord-installer-bin + - brave-bin + - catppuccin-gtk-macchiato + - cava + - cemu-bin + - devify + - downgrade + - find-the-command + - heroic-games-launcher + - hyprpicker-git + - hyprshot + - lazynpm + - librewolf-bin + - ludusavi + - mangal-bin + - nerd-fonts-git + - nwg-displays + - nwg-look + - obs-studio-amf + - paccache-hook + - pika-backup + - pinterest-downloader-git + - pipes.sh + - prettierd + - proton-ge-custom-bin + - pyprland + - spotdl + - reflector-pacman-hook-git + - rofi-lboon-wayland-git + - rofi-file-browser-extended-git + - scc-bin + - sddm-git + - shell-color-scripts + - spicetify-cli + - spotify + - swaylock-effects + - swaync + - swayosd-git + - swww + - sysz + - tgpt-bin + - ttf-ms-win11-auto + - tty-clock-git + - unimatrix-git + - upscayl-bin + - vkbasalt + - vulkan-amdgpu-pro + - wev + - wl-clip-persist-git + - wleave-git + - wlr-randr + - wlrobs-hg + - xdg-desktop-portal-hyprland-git + - youtube-dl + - ytdlp-gui + - zarchive-git + +# Cargo +- name: Install Rust Packages + cargo: + name: + - cargo-update + +# Npm +- name: Install Npm Packages + npm: + name: + - commitizen + - cz-git + global: true