2025-02-23 15:30:27 +00:00

250 lines
7.4 KiB
YAML
Executable File

---
- 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 "['<Shift><Super>s']"