--- - name: add contrib and nonfree become: true ansible.builtin.apt_repository: repo: deb http://deb.debian.org/debian {{ ansible_distribution_release }} main contrib non-free non-free-firmware state: present - name: update apt and install gui apps become: true ansible.builtin.apt: pkg: - audacity - blender - cura - firefox-esr - gimp - inkscape - kiwix - libreoffice - libreoffice-gnome - monero - mpv - dolphin-emu - obs-studio - retroarch - thunderbird - torbrowser-launcher - virt-manager - wireshark #gnome - gnome-core - gnome-tweaks - gnome-shell-extension-dashtodock state: latest update_cache: true - name: install terminal apps become: true ansible.builtin.apt: pkg: - ansible - cabextract - cataclysm-dda-curses - cifs-utils - cmatrix - cups - curl - exiftool - ffmpeg - fonts-fantasque-sans - fzf - git - gnupg - htop - iperf3 - lm-sensors - mediainfo - neofetch - neovim - nfs-common - nmap - pip - qrencode - smartmontools - telnet - tmux - ttf-mscorefonts-installer - unzip - wget - wine - xxd - yt-dlp - name: install signal become: true block: - name: get signal key ansible.builtin.get_url: url: https://updates.signal.org/desktop/apt/keys.asc dest: /etc/apt/keyrings/signal.asc - name: install signal key ansible.builtin.apt_repository: repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/signal.asc] https://updates.signal.org/desktop/apt xenial main" state: present - name: install signal package ansible.builtin.apt: pkg: - signal-desktop update_cache: true - name: install discord become: true block: - name: get discord.deb ansible.builtin.get_url: url: https://discord.com/api/download?platform=linux&format=deb dest: /tmp/discord.deb - name: install discord.deb ansible.builtin.apt: deb: /tmp/discord.deb - name: install bitwarden block: - name: create ~/admin/apps ansible.builtin.file: path: /home/admin/apps state: directory - name: download bitwarden appimage ansible.builtin.get_url: url: https://vault.bitwarden.com/download/?app=desktop&platform=linux dest: /home/admin/apps/bitwarden.AppImage - name: permissions ansible.builtin.file: path: /home/admin/apps/bitwarden.AppImage owner: admin group: admin mode: '0766' - name: install joplin ansible.builtin.shell: cmd: wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash - name: install ollama become: true block: - name: check if ollama is installed ansible.builtin.stat: path: /usr/local/bin/ollama register: ollama_stat - name: get install.sh for ollama ansible.builtin.get_url: dest: /tmp/ollama.sh url: https://ollama.com/install.sh when: not ollama_stat.stat.exists - name: make ollama.sh executable ansible.builtin.file: path: /tmp/ollama.sh mode: '0755' when: not ollama_stat.stat.exists - name: run ollama install script become: true args: executable: /bin/sh ansible.builtin.shell: cmd: /tmp/ollama.sh when: not ollama_stat.stat.exists - name: install umu-launcher block: - name: install python3-umu-launcher become: true ansible.builtin.apt: deb: https://github.com/Open-Wine-Components/umu-launcher/releases/download/1.2.5/python3-umu-launcher_1.2.5-1_amd64_debian-12.deb - name: install umu-launcher become: true ansible.builtin.apt: deb: https://github.com/Open-Wine-Components/umu-launcher/releases/download/1.2.5/umu-launcher_1.2.5-1_all_debian-12.deb - name: create mount directories become: true block: - name: create /mnt/data ansible.builtin.file: path: /mnt/data state: directory - name: create /mnt/services ansible.builtin.file: path: /mnt/services state: directory - name: create /mnt/media ansible.builtin.file: path: /mnt/media state: directory - name: mount shares become: true block: - name: mount data ansible.posix.mount: path: /mnt/data src: "{{ truenas_ip }}:/mnt/pool/data" fstype: nfs opts: "defaults,auto,rw" state: mounted - name: mount services ansible.posix.mount: path: /mnt/services src: "{{ truenas_ip }}:/mnt/pool/services" fstype: nfs opts: "defaults,auto,rw" state: mounted - name: mount media ansible.posix.mount: path: /mnt/media src: "{{ truenas_ip }}:/mnt/pool/media" fstype: nfs opts: "defaults,auto,rw" state: mounted - name: enable workspace-indicator extension ansible.builtin.shell: cmd: gnome-extensions enable workspace-indicator@gnome-shell-extensions.gcampax.github.com - name: increase map count for games become: true ansible.posix.sysctl: name: vm.max_map_count value: 16777216 sysctl_file: /etc/sysctl.d/games.conf - name: Ensure bookmarks are set lineinfile: path: "{{ ansible_user_dir }}/.config/gtk-3.0/bookmarks" line: "{{ item }}" create: yes with_items: - "file:///" - "file:///mnt/data" - "file:///mnt/services" - "file:///mnt/media" when: ansible_user_dir is defined - name: gnome settings ansible.builtin.shell: cmd: | gnome-extensions enable dash-to-dock@micxgx.gmail.com gsettings set org.gnome.desktop.calendar show-weekdate true gsettings set org.gnome.desktop.interface clock-show-weekday true gsettings set org.gnome.desktop.interface color-scheme prefer-dark gsettings set org.gnome.desktop.interface document-font-name 'Noto Sans 11' gsettings set org.gnome.desktop.interface enable-hot-corners false gsettings set org.gnome.desktop.interface font-name 'Noto Sans 11' gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark' gsettings set org.gnome.desktop.interface monospace-font-name 'Fantasque Sans Mono 12' gsettings set org.gnome.desktop.peripherals.mouse accel-profile 'flat' gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close" gsettings set org.gnome.nautilus.list-view default-zoom-level 'small' gsettings set org.gnome.nautilus.preferences default-folder-viewer list-view gsettings set org.gnome.shell favorite-apps "['org.gnome.Nautilus.desktop', 'firefox-esr.desktop', 'thunderbird.desktop', 'appimagekit-joplin.desktop', 'signal-desktop.desktop', 'discord.desktop', 'steam.desktop', 'org.gnome.Settings.desktop', 'org.gnome.Terminal.desktop']" gsettings set org.gnome.shell.extensions.dash-to-dock apply-custom-theme true gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'focus-minimize-or-previews' gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed true gsettings set org.gnome.shell.extensions.dash-to-dock multi-monitor true gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false gsettings set org.gnome.shell.extensions.dash-to-dock show-show-apps-button false gsettings set org.gnome.shell.keybindings show-screenshot-ui "['s']"