weitere Aenderungen
This commit is contained in:
@@ -56,6 +56,7 @@ libreoffice: true
|
||||
midnightcommander: true
|
||||
nextcloud_client: true
|
||||
nvidia: true
|
||||
obs: true
|
||||
pacaur: true
|
||||
ranger: true
|
||||
syncthing: true
|
||||
|
||||
@@ -10,17 +10,23 @@ ssh_users: "root rene"
|
||||
microcode_amd_install: false
|
||||
microcode_intel_install: true
|
||||
|
||||
#purpose selection
|
||||
# purpose selection
|
||||
database: true
|
||||
mysql: true
|
||||
postgresql: false
|
||||
dhcpserver: true
|
||||
fileserver: true
|
||||
mailserver: true
|
||||
nameserver: true
|
||||
printspooler: true
|
||||
proxyserver: true
|
||||
squid: false
|
||||
tinyproxy: true
|
||||
webserver: true
|
||||
apache: true
|
||||
nginx: true
|
||||
|
||||
#application selection
|
||||
# application selection
|
||||
borgbackup: true
|
||||
broot: true
|
||||
docker: false
|
||||
@@ -31,6 +37,5 @@ syncthing: true
|
||||
vifm: true
|
||||
yay: false
|
||||
|
||||
#shell selection
|
||||
# shell selection
|
||||
zsh: true
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ libreoffice: true
|
||||
midnightcommander: true
|
||||
nextcloud_client: true
|
||||
nvidia: true
|
||||
obs: true
|
||||
pacaur: true
|
||||
ranger: true
|
||||
syncthing: true
|
||||
|
||||
@@ -28,6 +28,7 @@ libreoffice: true
|
||||
midnightcommander: true
|
||||
nextcloud_client: true
|
||||
nvidia: true
|
||||
obs: true
|
||||
pacaur: true
|
||||
ranger: true
|
||||
syncthing: true
|
||||
|
||||
24
roles/base/tasks/software/nvidia.yml
Normal file
24
roles/base/tasks/software/nvidia.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
- name: system setup | GPU | NVidia
|
||||
tags: gpu,nvidia,systemsetup
|
||||
package:
|
||||
state: latest
|
||||
name:
|
||||
- cuda
|
||||
- nvidia
|
||||
- nvidia-settings
|
||||
- nvidia-utils
|
||||
- nvtop
|
||||
when: nvidia is defined and nvidia == true
|
||||
|
||||
- name: system setup | GPU | NVidia-Prime
|
||||
tags: gpu,nvidia,prime,system setup
|
||||
package:
|
||||
state: latest
|
||||
name: nvidia-prime
|
||||
when:
|
||||
- nvidia is defined
|
||||
- nvidia == true
|
||||
- mobile is defined
|
||||
- mobile == true
|
||||
- nvidia_prime is defined
|
||||
- nvidia_prime == true
|
||||
34
roles/base/tasks/software/utils.yml
Normal file
34
roles/base/tasks/software/utils.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
- name: system setup | utilities | install utility packages
|
||||
tags: packages,system,system setup
|
||||
package:
|
||||
state: latest
|
||||
name:
|
||||
- bashtop
|
||||
- curl
|
||||
- exa
|
||||
- htop
|
||||
- iftop
|
||||
- iotop
|
||||
- "{{ lm_sensors_package }}"
|
||||
- lsd
|
||||
- lsof
|
||||
- neofetch
|
||||
- net-tools
|
||||
- "{{ nfs_client_package }}"
|
||||
- ranger
|
||||
- rsync
|
||||
- tmux
|
||||
- traceroute
|
||||
- vifm
|
||||
- "{{ vim_package }}"
|
||||
- wget
|
||||
|
||||
- name: system setup | utilities | install man-pages (arch)
|
||||
tags: packages,system,settings
|
||||
pacman:
|
||||
state: latest
|
||||
name:
|
||||
- man-db
|
||||
- man-pages
|
||||
when: ansible_distribution == "Archlinux"
|
||||
|
||||
13
roles/base/tasks/software/zsh.yml
Normal file
13
roles/base/tasks/software/zsh.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
- name: system setup | shell | zsh
|
||||
tags: shell,zsh,system setup
|
||||
package:
|
||||
state: latest
|
||||
name:
|
||||
- zsh
|
||||
- zsh-autosuggestions
|
||||
- zsh-completions
|
||||
- zsh-history-substring-search
|
||||
- zsh-lovers
|
||||
- zsh-syntax-highlighting
|
||||
- zsh-theme-powerlevel10k
|
||||
- zshdb
|
||||
25
roles/base/tasks/system_setup/locale.yml
Normal file
25
roles/base/tasks/system_setup/locale.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
- name: system setup | locale | add de_DE
|
||||
tags: locale,system,setup
|
||||
locale_gen:
|
||||
name: de_DE.UTF-8
|
||||
state: present
|
||||
|
||||
- name: system setup | locale | set locale to de_DE
|
||||
tags: locale,system,setup
|
||||
locale_gen:
|
||||
name: de_DE.UTF-8
|
||||
state: present
|
||||
register: locale
|
||||
|
||||
- name: system setup | locale | set de_DE as default locale
|
||||
tags: locale,system,setup
|
||||
command: localectl set-locale LANG=de_DE.UTF-8
|
||||
when: locale.changed
|
||||
|
||||
- name: system setup | locale | remove en_GB
|
||||
tags: locale,system,setup
|
||||
locale_gen:
|
||||
name: en_GB.UTF-8
|
||||
state: absent
|
||||
when: locale.changed
|
||||
|
||||
23
roles/base/tasks/system_setup/openssh.yml
Normal file
23
roles/base/tasks/system_setup/openssh.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: system setup | openssh | install or update daemon package
|
||||
tags: openssh,ssh,system,settings
|
||||
package:
|
||||
name: "{{ openssh_package }}"
|
||||
state: latest
|
||||
notify: restart_sshd
|
||||
|
||||
- name: system setup | openssh | enable daemon
|
||||
tags: openssh,ssh,system,settings
|
||||
service:
|
||||
name: "{{ openssh_service }}"
|
||||
enabled: yes
|
||||
state: started
|
||||
|
||||
- name: system setup | openssh | generate sshd_config file from template
|
||||
tags: openssh,ssh,system,settings
|
||||
template:
|
||||
src: sshd_config.j2
|
||||
dest: /etc/ssh/sshd_config
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
notify: restart_sshd
|
||||
0
roles/base/vars/zsh.yml
Normal file
0
roles/base/vars/zsh.yml
Normal file
8
roles/workstation/tasks/software/audacious.yml
Normal file
8
roles/workstation/tasks/software/audacious.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | audacious | install package
|
||||
tags: packages,flatpak,audacious,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.atheme.audacious
|
||||
method: user
|
||||
state: present
|
||||
when: audacious is defined and audacious == true
|
||||
8
roles/workstation/tasks/software/audacity.yml
Normal file
8
roles/workstation/tasks/software/audacity.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | audacity | install package
|
||||
tags: packages,flatpak,audacity,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.audacityteam.Audacity
|
||||
method: user
|
||||
state: present
|
||||
when: audacity is defined and audacity == true
|
||||
24
roles/workstation/tasks/software/authy.yml
Normal file
24
roles/workstation/tasks/software/authy.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
# note: snap packages not automated in arch yet, snapd is not available in repo
|
||||
- name: software | authy | install package
|
||||
tags: packages,authy,snap,workstation-packages
|
||||
snap:
|
||||
name: authy
|
||||
channel: latest/edge
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution != "Archlinux"
|
||||
- authy is defined
|
||||
- authy == true
|
||||
|
||||
- name: software | authy | enable autostart
|
||||
tags: packages,authy,snap,workstation-packages
|
||||
file:
|
||||
src: /var/lib/snapd/desktop/applications/authy_authy.desktop
|
||||
dest: /home/jay/.config/autostart/authy.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
state: link
|
||||
when:
|
||||
- ansible_distribution != "Archlinux"
|
||||
- authy is defined
|
||||
- authy == true
|
||||
8
roles/workstation/tasks/software/bitwarden.yml
Normal file
8
roles/workstation/tasks/software/bitwarden.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | bitwarden | install package
|
||||
tags: bitwarden,packages,flatpak,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: flathub com.bitwarden.desktop
|
||||
method: user
|
||||
state: present
|
||||
when: bitwarden is defined and bitwarden == true
|
||||
7
roles/workstation/tasks/software/boto.yml
Normal file
7
roles/workstation/tasks/software/boto.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
- name: software | boto | install package
|
||||
tags: boto,packages,pip,python
|
||||
become_user: jay
|
||||
pip:
|
||||
executable: /usr/bin/pip3
|
||||
state: latest
|
||||
name: boto
|
||||
6
roles/workstation/tasks/software/caffeine.yml
Normal file
6
roles/workstation/tasks/software/caffeine.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
# Arch isn't packaging caffeine for some stupid reason.
|
||||
- name: software | install caffeine
|
||||
tags: packages,workstation-packages,caffeine
|
||||
package:
|
||||
name: caffeine
|
||||
when: ansible_distribution != "Archlinux"
|
||||
21
roles/workstation/tasks/software/chromium.yml
Normal file
21
roles/workstation/tasks/software/chromium.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
# note: snap packages not automated in arch yet, snapd is not available in repo
|
||||
|
||||
- name: software | chromium | install snap package
|
||||
tags: packages,chromium,snap,workstation-packages
|
||||
snap:
|
||||
name: chromium
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution != "Archlinux"
|
||||
- chromium is defined
|
||||
- chromium == true
|
||||
|
||||
- name: software | chromium | install distro package (arch)
|
||||
tags: packages,chromium,snap,workstation-packages
|
||||
package:
|
||||
name: chromium
|
||||
state: latest
|
||||
when:
|
||||
- ansible_distribution == "Archlinux"
|
||||
- chromium is defined
|
||||
- chromium == true
|
||||
6
roles/workstation/tasks/software/codecs.yml
Normal file
6
roles/workstation/tasks/software/codecs.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- name: software | install multimedia codecs
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- "{{ gstreamer_libav_package }}"
|
||||
- "{{ gstreamer_plugins_bad_package }}"
|
||||
8
roles/workstation/tasks/software/darktable.yml
Normal file
8
roles/workstation/tasks/software/darktable.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | darktable | install package
|
||||
tags: packages,flatpak,darktable,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.darktable.Darktable
|
||||
method: user
|
||||
state: present
|
||||
when: darktable is defined and darktable == true
|
||||
8
roles/workstation/tasks/software/firefox.yml
Normal file
8
roles/workstation/tasks/software/firefox.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | firefox | install package
|
||||
tags: packages,firefox,flatpak,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.mozilla.firefox
|
||||
method: user
|
||||
state: present
|
||||
when: firefox is defined and firefox == true
|
||||
8
roles/workstation/tasks/software/foliate.yml
Normal file
8
roles/workstation/tasks/software/foliate.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | foliate | install package
|
||||
tags: packages,flatpak,foliate,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: com.github.johnfactotum.Foliate
|
||||
method: user
|
||||
state: present
|
||||
when: foliate is defined and foliate == true
|
||||
8
roles/workstation/tasks/software/glimpse.yml
Normal file
8
roles/workstation/tasks/software/glimpse.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | glimpse | install package
|
||||
tags: packages,flatpak,glimpse,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.glimpse_editor.Glimpse
|
||||
method: user
|
||||
state: present
|
||||
when: glimpse is defined and glimpse == true
|
||||
22
roles/workstation/tasks/software/google_chrome.yml
Normal file
22
roles/workstation/tasks/software/google_chrome.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
- name: software | google-chrome | add repository key
|
||||
apt_key:
|
||||
url: https://dl-ssl.google.com/linux/linux_signing_key.pub
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | google-chrome | add repository
|
||||
apt_repository:
|
||||
repo: "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main"
|
||||
filename: google-chrome
|
||||
register: chrome_repo
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | google-chrome | update sources (repo added or changed)
|
||||
apt:
|
||||
update_cache: yes
|
||||
changed_when: False
|
||||
when: chrome_repo.changed
|
||||
|
||||
- name: software | google-chrome | install package
|
||||
apt:
|
||||
name: google-chrome-stable
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
16
roles/workstation/tasks/software/kdenlive.yml
Normal file
16
roles/workstation/tasks/software/kdenlive.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
- name: software | kdenlive | copy launcher
|
||||
tags: apps,appimage,software,kdenlive
|
||||
copy:
|
||||
src: users/jay/kdenlive.desktop
|
||||
dest: /home/jay/.local/share/applications/kdenlive.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
mode: 0700
|
||||
|
||||
- name: software | kdenlive | install package
|
||||
get_url:
|
||||
url: https://download.kde.org/stable/kdenlive/20.08/linux/kdenlive-20.08.2-x86_64.appimage
|
||||
dest: /home/jay/bin/kdenlive.app
|
||||
mode: '0700'
|
||||
owner: jay
|
||||
group: jay
|
||||
37
roles/workstation/tasks/software/keepassxc.yml
Normal file
37
roles/workstation/tasks/software/keepassxc.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
- name: software | keepassxc | install package
|
||||
tags: packages,firefox,flatpak,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.keepassxc.KeePassXC
|
||||
method: user
|
||||
state: present
|
||||
|
||||
- name: software | keepassxc | enable autostart
|
||||
tags: packages,keepassxc,flatpak,workstation-packages
|
||||
file:
|
||||
src: /home/jay/.local/share/flatpak/exports/share/applications/org.keepassxc.KeePassXC.desktop
|
||||
dest: /home/jay/.config/autostart/org.keepassxc.KeePassXC.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
state: link
|
||||
|
||||
- name: software | keepassxc | create keepassxc install directory
|
||||
tags: packages,keepassxc,flatpak,workstation-packages
|
||||
file:
|
||||
path: /home/jay/.config/keepassxc
|
||||
state: directory
|
||||
owner: jay
|
||||
group: jay
|
||||
mode: 0700
|
||||
register: keepassxc_config_dir
|
||||
when: keepassxc is defined and keepassxc == true
|
||||
|
||||
- name: software | keepassxc | add initial keepassxc config
|
||||
tags: packages,keepassxc,flatpak,workstation-packages
|
||||
copy:
|
||||
src: users/jay/keepassxc.ini
|
||||
dest: /home/jay/.config/keepassxc/keepassxc.ini
|
||||
owner: jay
|
||||
group: jay
|
||||
mode: 0600
|
||||
when: keepassxc is defined and keepassxc == true
|
||||
8
roles/workstation/tasks/software/libreoffice.yml
Normal file
8
roles/workstation/tasks/software/libreoffice.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | libreoffice | install package
|
||||
tags: packages,flatpak,libreoffice,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.libreoffice.LibreOffice
|
||||
method: user
|
||||
state: present
|
||||
when: libreoffice is defined and libreoffice == true
|
||||
7
roles/workstation/tasks/software/linode-cli.yml
Normal file
7
roles/workstation/tasks/software/linode-cli.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
- name: software | linode-cli | install package
|
||||
tags: packages,linode,pip,python
|
||||
become_user: jay
|
||||
pip:
|
||||
executable: /usr/bin/pip3
|
||||
state: latest
|
||||
name: linode-cli
|
||||
20
roles/workstation/tasks/software/lutris.yml
Normal file
20
roles/workstation/tasks/software/lutris.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
# As of 2020-06-18, lutris is not available on debian
|
||||
- name: software | lutris | install ppa
|
||||
tags: gaming,lutris
|
||||
apt_repository:
|
||||
repo: 'ppa:lutris-team/lutris'
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
- lutris is defined
|
||||
- lutris == true
|
||||
|
||||
- name: software | lutris | install package
|
||||
tags: gaming,lutris
|
||||
package:
|
||||
state: latest
|
||||
name: lutris
|
||||
when:
|
||||
- ansible_distribution in ["Archlinux", "Pop!_OS", "Ubuntu"]
|
||||
- lutris is defined
|
||||
- lutris == true
|
||||
18
roles/workstation/tasks/software/mattermost.yml
Normal file
18
roles/workstation/tasks/software/mattermost.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
- name: software | mattermost | install package
|
||||
tags: packages,flatpak,mattermost,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: com.mattermost.Desktop
|
||||
method: user
|
||||
state: present
|
||||
when: mattermost is defined and mattermost == true
|
||||
|
||||
- name: software | mattermost | enable autostart
|
||||
tags: packages,flatpak,mattermost,workstation-packages
|
||||
file:
|
||||
src: /home/jay/.local/share/flatpak/exports/share/applications/com.mattermost.Desktop.desktop
|
||||
dest: /home/jay/.config/autostart/com.mattermost.Desktop.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
state: link
|
||||
when: mattermost is defined and mattermost == true
|
||||
8
roles/workstation/tasks/software/minecraft.yml
Normal file
8
roles/workstation/tasks/software/minecraft.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | minecraft | install package
|
||||
tags: packages,flatpak,games,minecraft,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: com.mojang.Minecraft
|
||||
method: user
|
||||
state: present
|
||||
when: minecraft is defined and minecraft == true
|
||||
13
roles/workstation/tasks/software/misc_games.yml
Normal file
13
roles/workstation/tasks/software/misc_games.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
- name: software | install misc game packages
|
||||
tags: gaming
|
||||
package:
|
||||
name:
|
||||
- chromium-bsu
|
||||
- extremetuxracer
|
||||
- frozen-bubble
|
||||
- gnome-chess
|
||||
- "{{ nethack_package }}"
|
||||
- supertux
|
||||
- supertuxkart
|
||||
- wesnoth
|
||||
when: games is defined and games == true
|
||||
71
roles/workstation/tasks/software/misc_packages.yml
Normal file
71
roles/workstation/tasks/software/misc_packages.yml
Normal file
@@ -0,0 +1,71 @@
|
||||
- name: software | install workstation distribution packages
|
||||
tags: packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- acpid
|
||||
- alsa-utils
|
||||
- arandr
|
||||
- asunder
|
||||
- cifs-utils
|
||||
- "{{ cups_package }}"
|
||||
- "{{ cryptsetup_package }}"
|
||||
- dconf-editor
|
||||
- dialog
|
||||
- easytag
|
||||
- exfat-utils
|
||||
- "{{ font_fira_mono_package }}"
|
||||
- "{{ font_hack_ttf_package }}"
|
||||
- "{{ font_inconsolata_package }}"
|
||||
- "{{ font_noto_emoji_package }}"
|
||||
- "{{ font_terminus_package }}"
|
||||
- geany
|
||||
- gparted
|
||||
- "{{ hunspell_package }}"
|
||||
- "{{ hyphen_package }}"
|
||||
- "{{ p7zip_package }}"
|
||||
- "{{ libnotify_package }}"
|
||||
- "{{ mpv_package}}"
|
||||
- "{{ network_manager_openvpn_package }}"
|
||||
- "{{ network_manager_package }}"
|
||||
- "{{ network_manager_pptp_package }}"
|
||||
- "{{ network_manager_vpnc_package }}"
|
||||
- neovim
|
||||
- pavucontrol
|
||||
- shotwell
|
||||
- simplescreenrecorder
|
||||
- smbclient
|
||||
- sshpass
|
||||
- "{{ ssh_askpass_package }}"
|
||||
- terminator
|
||||
- transmission-gtk
|
||||
- unrar
|
||||
- "{{ wireless_tools_package }}"
|
||||
- "{{ wpa_supplicant_package }}"
|
||||
- x2goclient
|
||||
|
||||
- name: software | install system packages specific to debian and ubuntu
|
||||
tags: packages,system,system-packages,workstation-packages
|
||||
package:
|
||||
name:
|
||||
- synaptic
|
||||
- vim-gtk3
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
|
||||
- name: software | remove unneeded workstation packages on debian and ubuntu hosts
|
||||
tags: cleanup,packages,workstation-packages
|
||||
package:
|
||||
state: absent
|
||||
name:
|
||||
- firefox*
|
||||
- libreoffice-base-core
|
||||
- libreoffice-calc
|
||||
- libreoffice-common
|
||||
- libreoffice-core
|
||||
- libreoffice-draw
|
||||
- libreoffice-gnome
|
||||
- libreoffice-gtk3
|
||||
- libreoffice-impress
|
||||
- libreoffice-math
|
||||
- libreoffice-writer
|
||||
- thunderbird*
|
||||
when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
7
roles/workstation/tasks/software/openshot.yml
Normal file
7
roles/workstation/tasks/software/openshot.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
- name: software | openshot | install package
|
||||
get_url:
|
||||
url: https://github.com/OpenShot/openshot-qt/releases/download/v2.5.1/OpenShot-v2.5.1-x86_64.AppImage
|
||||
dest: /home/jay/bin/openshot.app
|
||||
mode: '0700'
|
||||
owner: jay
|
||||
group: jay
|
||||
9
roles/workstation/tasks/software/packer.yml
Normal file
9
roles/workstation/tasks/software/packer.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
- name: software | packer | install binary
|
||||
unarchive:
|
||||
src: https://releases.hashicorp.com/packer/{{ packer_version }}/packer_{{ packer_version }}_linux_amd64.zip
|
||||
dest: /usr/local/bin
|
||||
remote_src: yes
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
when: packer is defined and packer == true
|
||||
18
roles/workstation/tasks/software/signal.yml
Normal file
18
roles/workstation/tasks/software/signal.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
- name: software | signal | install package
|
||||
tags: packages,flatpak,signal,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.signal.Signal
|
||||
method: user
|
||||
state: present
|
||||
when: signal is defined and signal == true
|
||||
|
||||
- name: software | signal | enable autostart
|
||||
tags: packages,flatpak,signal,workstation-packages
|
||||
file:
|
||||
src: /home/jay/.local/share/flatpak/exports/share/applications/org.signal.Signal.desktop
|
||||
dest: /home/jay/.config/autostart/org.signal.Signal.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
state: link
|
||||
when: signal is defined and signal == true
|
||||
10
roles/workstation/tasks/software/solaar.yml
Normal file
10
roles/workstation/tasks/software/solaar.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- name: software | install workstation distribution packages
|
||||
tags: packages,workstation-packages
|
||||
package:
|
||||
name: solaar
|
||||
state: latest
|
||||
|
||||
- name: software | make sure solaar doesn't autostart
|
||||
file:
|
||||
path: /etc/xdg/autostart/solaar.desktop
|
||||
state: absent
|
||||
8
roles/workstation/tasks/software/spotify.yml
Normal file
8
roles/workstation/tasks/software/spotify.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: software | spotify | install package
|
||||
tags: packages,flatpak,spotify,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: com.spotify.Client
|
||||
method: user
|
||||
state: present
|
||||
when: spotify is defined and spotify == true
|
||||
89
roles/workstation/tasks/software/steam.yml
Normal file
89
roles/workstation/tasks/software/steam.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
# For some reason Manjaro is detected as Archlinux
|
||||
- name: software | steam | check if distribution is manjaro
|
||||
stat:
|
||||
path: /usr/bin/manjaro-hello
|
||||
register: manjaro
|
||||
when:
|
||||
- ansible_distribution == "Archlinux"
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | steam | enable multilib (arch)
|
||||
tags: steam,steam,multilib
|
||||
blockinfile:
|
||||
state: present
|
||||
backup: yes
|
||||
path: /etc/pacman.conf
|
||||
marker: '# {mark} ANSIBLE MANAGED BLOCK MULTILIB'
|
||||
block: |
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
register: multilib
|
||||
when:
|
||||
- ansible_distribution == "Archlinux"
|
||||
- manjaro.stat.exists == False
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | update cache (multilib added) (arch)
|
||||
tags: steam,steam,multilib
|
||||
pacman: update_cache=yes
|
||||
when:
|
||||
- multilib.changed
|
||||
- ansible_distribution == "Archlinux"
|
||||
|
||||
# As of 2020-09-30, multiarch is still required to be enabled in Debian and Ubuntu
|
||||
# Note: Not required in Pop OS, apparently
|
||||
- name: steam | add multiarch (debian, ubuntu)
|
||||
tags: steam,steam,multiarch
|
||||
lineinfile:
|
||||
dest: /var/lib/dpkg/arch
|
||||
regexp: "^i386"
|
||||
line: "i386"
|
||||
create: yes
|
||||
when:
|
||||
- ansible_distribution in ['Debian', 'Ubuntu']
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
# For Debian and Ubuntu, set up acceptance of steam license before continuing
|
||||
- name: software | steam | accept license
|
||||
tags: gaming,steam
|
||||
debconf:
|
||||
name: "steam"
|
||||
question: "steam/question"
|
||||
value: "I AGREE"
|
||||
vtype: "select"
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Ubuntu"]
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | install package
|
||||
tags: steam,steam
|
||||
package:
|
||||
state: latest
|
||||
name: "{{ steam_package }}"
|
||||
when:
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: software | steam | install steam-devices package (debian, ubuntu, etc)
|
||||
tags: steam,steam
|
||||
package:
|
||||
state: latest
|
||||
name: steam-devices
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- steam is defined
|
||||
- steam == true
|
||||
|
||||
- name: install vulkan drivers (debian, ubuntu, etc)
|
||||
tags: drivers,steam
|
||||
package:
|
||||
state: latest
|
||||
name: mesa-vulkan-drivers
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- steam is defined
|
||||
- steam == true
|
||||
153
roles/workstation/tasks/software/syncthing.yml
Normal file
153
roles/workstation/tasks/software/syncthing.yml
Normal file
@@ -0,0 +1,153 @@
|
||||
# add syncthing-controlled directories
|
||||
- name: software | syncthing | create directories
|
||||
tags: syncthing
|
||||
file:
|
||||
path: /home/jay/{{ item.dir }}
|
||||
state: directory
|
||||
owner: jay
|
||||
group: jay
|
||||
mode: 0700
|
||||
with_items:
|
||||
- { dir: bin }
|
||||
- { dir: desktop }
|
||||
- { dir: documents }
|
||||
- { dir: downloads }
|
||||
- { dir: projects }
|
||||
- { dir: templates }
|
||||
when: syncthing is defined and syncthing == true
|
||||
|
||||
- name: software | syncthing | copy .stignore file to synced directories
|
||||
tags: syncthing
|
||||
copy:
|
||||
src: users/jay/stignore
|
||||
dest: /home/jay/{{ item.dir }}/.stignore
|
||||
owner: jay
|
||||
group: jay
|
||||
mode: 0600
|
||||
with_items:
|
||||
- { dir: bin }
|
||||
- { dir: desktop }
|
||||
- { dir: documents }
|
||||
- { dir: downloads }
|
||||
- { dir: projects }
|
||||
- { dir: templates }
|
||||
when: syncthing is defined and syncthing == true
|
||||
|
||||
# syncthing repository for debian and ubuntu
|
||||
- name: software | syncthing | install apt key
|
||||
tags: syncthing
|
||||
apt_key:
|
||||
url: https://syncthing.net/release-key.txt
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- syncthing is defined
|
||||
- syncthing == true
|
||||
|
||||
- name: software | syncthing | install repository
|
||||
tags: syncthing
|
||||
apt_repository:
|
||||
repo: deb https://apt.syncthing.net/ syncthing stable
|
||||
state: present
|
||||
filename: syncthing
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- syncthing is defined
|
||||
- syncthing == true
|
||||
|
||||
- name: software | syncthing | install syncthing packages
|
||||
tags: syncthing
|
||||
package:
|
||||
name:
|
||||
- syncthing
|
||||
#- syncthing-gtk
|
||||
state: latest
|
||||
register: syncthing_installed
|
||||
when:
|
||||
- syncthing is defined
|
||||
- syncthing == true
|
||||
|
||||
#- name: software | syncthing | add .desktop file for autostarting syncthing-gtk
|
||||
# tags: syncthing
|
||||
# copy:
|
||||
# src: users/jay/syncthing-gtk.desktop
|
||||
# dest: /home/jay/.config/autostart/syncthing-gtk.desktop
|
||||
# owner: jay
|
||||
# group: jay
|
||||
# mode: 0600
|
||||
# when:
|
||||
# - syncthing is defined
|
||||
# - syncthing == true
|
||||
|
||||
#- name: software | syncthing | ensure syncthing-gtk config folder exists
|
||||
# tags: syncthing
|
||||
# file:
|
||||
# path: /home/jay/.config/syncthing-gtk
|
||||
# state: directory
|
||||
# owner: jay
|
||||
# group: jay
|
||||
# mode: 0700
|
||||
# when:
|
||||
# - syncthing is defined
|
||||
# - syncthing == true
|
||||
|
||||
#- name: software | syncthing | add initial configuration file for syncthing-gtk
|
||||
# tags: syncthing
|
||||
# copy:
|
||||
# src: users/jay/syncthing_config.json
|
||||
# dest: /home/jay/.config/syncthing-gtk/config.json
|
||||
# owner: jay
|
||||
# group: jay
|
||||
# mode: 0600
|
||||
# when:
|
||||
# - syncthing is defined
|
||||
# - syncthing == true
|
||||
|
||||
# Enable and start syncthing
|
||||
# Note: Not using systemd module because it triggers a dbus error due to no session while user is not logged in
|
||||
- name: software | syncthing | start and enable syncthing
|
||||
tags: syncthing
|
||||
command: "{{ item }}"
|
||||
with_items:
|
||||
- systemctl enable syncthing@jay
|
||||
- systemctl restart syncthing@jay
|
||||
when: syncthing_installed.changed
|
||||
|
||||
# Adjust configuration file
|
||||
- name: software | syncthing | pause to ensure config file exists
|
||||
tags: syncthing
|
||||
become_user: jay
|
||||
wait_for:
|
||||
path: /home/jay/.config/syncthing/config.xml
|
||||
delay: 10
|
||||
when: syncthing_installed.changed
|
||||
|
||||
- name: software | syncthing | config.xml - disable browser
|
||||
tags: syncthing
|
||||
become_user: jay
|
||||
replace:
|
||||
path: /home/jay/.config/syncthing/config.xml
|
||||
regexp: "<startBrowser>true</startBrowser>"
|
||||
replace: "<startBrowser>false</startBrowser>"
|
||||
notify: restart_syncthing
|
||||
when:
|
||||
- syncthing is defined
|
||||
- syncthing == true
|
||||
|
||||
- name: software | syncthing | config.xml - set ui theme
|
||||
tags: syncthing
|
||||
become_user: jay
|
||||
replace:
|
||||
path: /home/jay/.config/syncthing/config.xml
|
||||
regexp: "<theme>default</theme>"
|
||||
replace: "<theme>dark</theme>"
|
||||
notify: restart_syncthing
|
||||
when:
|
||||
- syncthing is defined
|
||||
- syncthing == true
|
||||
|
||||
- name: software | syncthing | remove default sync directory (~/Sync) from host
|
||||
tags: syncthing
|
||||
file:
|
||||
path: /home/jay/Sync
|
||||
state: absent
|
||||
9
roles/workstation/tasks/software/terraform.yml
Normal file
9
roles/workstation/tasks/software/terraform.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
- name: software | terraform | install binary
|
||||
unarchive:
|
||||
src: https://releases.hashicorp.com/terraform/{{ terraform_version }}/terraform_{{ terraform_version }}_linux_amd64.zip
|
||||
dest: /usr/local/bin
|
||||
remote_src: yes
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
when: terraform is defined and terraform == true
|
||||
18
roles/workstation/tasks/software/thunderbird.yml
Normal file
18
roles/workstation/tasks/software/thunderbird.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
- name: software | thunderbird | install package
|
||||
tags: packages,flatpak,thunderbird,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.mozilla.thunderbird
|
||||
method: user
|
||||
state: present
|
||||
when: thunderbird is defined and thunderbird == true
|
||||
|
||||
- name: software | thunderbird | enable autostart
|
||||
tags: packages,flatpak,thunderbird,workstation-packages
|
||||
file:
|
||||
src: /home/jay/.local/share/flatpak/exports/share/applications/org.mozilla.Thunderbird.desktop
|
||||
dest: /home/jay/.config/autostart/org.mozilla.Thunderbird.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
state: link
|
||||
when: thunderbird is defined and thunderbird == true
|
||||
23
roles/workstation/tasks/software/todoist.yml
Normal file
23
roles/workstation/tasks/software/todoist.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
# note: snap packages not automated in arch yet, snapd is not available in repo
|
||||
- name: software | todoist | install package
|
||||
tags: packages,snap,todoist,workstation-packages
|
||||
snap:
|
||||
name: todoist
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution != "Archlinux"
|
||||
- todoist is defined
|
||||
- todoist == true
|
||||
|
||||
- name: software | todoist | enable autostart
|
||||
tags: packages,todoist,snap,workstation-packages
|
||||
file:
|
||||
src: /var/lib/snapd/desktop/applications/todoist_todoist.desktop
|
||||
dest: /home/jay/.config/autostart/todoist_todoist.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
state: link
|
||||
when:
|
||||
- ansible_distribution != "Archlinux"
|
||||
- todoist is defined
|
||||
- todoist == true
|
||||
32
roles/workstation/tasks/software/ulauncher.yml
Normal file
32
roles/workstation/tasks/software/ulauncher.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
- name: software | ulauncher | install ppa
|
||||
tags: ulauncher
|
||||
apt_repository:
|
||||
repo: 'ppa:agornostal/ulauncher'
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
- ulauncher is defined
|
||||
- ulauncher == true
|
||||
|
||||
- name: software | ulauncher | install package
|
||||
tags: ulauncher
|
||||
apt:
|
||||
name: ulauncher
|
||||
state: latest
|
||||
when:
|
||||
- ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
- ulauncher is defined
|
||||
- ulauncher == true
|
||||
|
||||
- name: software | ulauncher | enable autostart
|
||||
tags: ulauncher
|
||||
copy:
|
||||
src: users/jay/ulauncher.desktop
|
||||
dest: /home/jay/.config/autostart/ulauncher.desktop
|
||||
owner: jay
|
||||
group: jay
|
||||
mode: 0600
|
||||
when:
|
||||
- ansible_distribution in ["Pop!_OS", "Ubuntu"]
|
||||
- ulauncher is defined
|
||||
- ulauncher == true
|
||||
11
roles/workstation/tasks/software/vagrant.yml
Normal file
11
roles/workstation/tasks/software/vagrant.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
- name: software | vagrant | install binary
|
||||
unarchive:
|
||||
src: https://releases.hashicorp.com/vagrant/{{ vagrant_version }}/vagrant_{{ vagrant_version }}_linux_amd64.zip
|
||||
dest: /usr/local/bin
|
||||
remote_src: yes
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
when:
|
||||
- vagrant is defined
|
||||
- vagrant == true
|
||||
32
roles/workstation/tasks/software/virtualbox.yml
Normal file
32
roles/workstation/tasks/software/virtualbox.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
# As of May 2, 2020; Virtualbox is available in backports, but is an old version.
|
||||
# The following will add the official Virtualbox repo
|
||||
|
||||
- name: software | virtualbox | install apt key (debian)
|
||||
tags: virtualbox,repositories,virtualbox
|
||||
apt_key:
|
||||
url: https://www.virtualbox.org/download/oracle_vbox_2016.asc
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution == "Debian"
|
||||
- virtualbox is defined
|
||||
- virtualbox == true
|
||||
|
||||
- name: software | virtualbox | install repository (debian)
|
||||
tags: virtualbox,repositories,virtualbox
|
||||
apt_repository:
|
||||
repo: deb https://download.virtualbox.org/virtualbox/debian buster contrib
|
||||
state: present
|
||||
filename: virtualbox
|
||||
register: virtualbox_repo_debian
|
||||
when:
|
||||
- ansible_distribution == "Debian"
|
||||
- virtualbox is defined
|
||||
- virtualbox == true
|
||||
|
||||
- name: software | virtualbox | install package
|
||||
tags: virtualbox
|
||||
package:
|
||||
name: "{{ virtualbox_package }}"
|
||||
when:
|
||||
- virtualbox is defined
|
||||
- virtualbox == true
|
||||
36
roles/workstation/tasks/software/vivaldi.yml
Normal file
36
roles/workstation/tasks/software/vivaldi.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
- name: software | vivaldi | add repository key
|
||||
tags: packages,vivaldi
|
||||
apt_key:
|
||||
url: https://repo.vivaldi.com/stable/linux_signing_key.pub
|
||||
state: present
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- vivaldi is defined
|
||||
- vivaldi == true
|
||||
|
||||
- name: software | vivaldi | check if repository exists
|
||||
stat:
|
||||
path: /etc/apt/sources.list.d/vivaldi.list
|
||||
register: vivaldi_repo_file
|
||||
|
||||
- name: software | vivaldi | add repository
|
||||
tags: packages,vivaldi
|
||||
apt_repository:
|
||||
repo: "deb https://repo.vivaldi.com/stable/deb/ stable main"
|
||||
state: present
|
||||
filename: vivaldi
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- vivaldi is defined
|
||||
- vivaldi == true
|
||||
- vivaldi_repo_file.stat.exists == False
|
||||
|
||||
- name: software | vivaldi | install package
|
||||
tags: packages,vivaldi
|
||||
apt:
|
||||
name: vivaldi-stable
|
||||
state: latest
|
||||
when:
|
||||
- ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"]
|
||||
- vivaldi is defined
|
||||
- vivaldi == true
|
||||
10
roles/workstation/tasks/software/vlc.yml
Normal file
10
roles/workstation/tasks/software/vlc.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- name: software | vlc | install package
|
||||
tags: packages,flatpak,vlc,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.videolan.VLC
|
||||
method: user
|
||||
state: present
|
||||
when:
|
||||
- vlc is defined
|
||||
- vlc == true
|
||||
10
roles/workstation/tasks/software/xonotic.yml
Normal file
10
roles/workstation/tasks/software/xonotic.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- name: software | xonotic | install package
|
||||
tags: packages,flatpak,games,xonotic,workstation-packages
|
||||
become_user: jay
|
||||
flatpak:
|
||||
name: org.xonotic.Xonotic
|
||||
method: user
|
||||
state: present
|
||||
when:
|
||||
- xonotic is defined
|
||||
- xonotic == true
|
||||
Reference in New Issue
Block a user