Checkpoint
This commit is contained in:
parent
e17f84ad8a
commit
1e03c32201
32 changed files with 556 additions and 298 deletions
6
bootstrap.sh
Normal file
6
bootstrap.sh
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
pip install ansible
|
||||||
|
|
||||||
|
gsettings set org.gnome.desktop.peripherals.mouse natural-scroll true
|
||||||
|
gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/gnome/adwaita-timed.xml
|
13
desktop.yml
Normal file
13
desktop.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- hosts: desktop
|
||||||
|
roles:
|
||||||
|
- { role: base, tags: [ 'base'] }
|
||||||
|
- { role: gnome, tags: [ 'gnome' ] }
|
||||||
|
- { role: users, tags: [ 'users'] }
|
||||||
|
- { role: ssh, tags: [ 'ssh'] }
|
||||||
|
- { role: globalprotect, tags: [ 'globalprotect'] }
|
||||||
|
- { role: tailscale, tags: [ 'tailscale'] }
|
||||||
|
- { role: scream, tags: [ 'scream'] }
|
||||||
|
# - { role: firefox_dev, tags: [ 'firefox_dev'] }
|
||||||
|
# - { role: virtualhere, tags: [ 'virtualhere'] }
|
6
hosts
6
hosts
|
@ -1,5 +1,5 @@
|
||||||
[kudos]
|
[desktop]
|
||||||
localhost ansible_connection=local
|
localhost ansible_connection=local
|
||||||
|
|
||||||
[pi]
|
[work]
|
||||||
10.0.1.29 ansible_user=ubuntu
|
localhost ansible_connection=local
|
||||||
|
|
6
pi.yml
6
pi.yml
|
@ -1,6 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- hosts: pi
|
|
||||||
roles:
|
|
||||||
- docker
|
|
||||||
|
|
7
roles/base/files/1password.repo
Normal file
7
roles/base/files/1password.repo
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[1password]
|
||||||
|
name=1Password
|
||||||
|
baseurl=https://downloads.1password.com/linux/rpm
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
|
repo_gpgcheck=1
|
||||||
|
gpgkey=https://downloads.1password.com/linux/keys/1password.asc
|
8
roles/base/files/slack.repo
Normal file
8
roles/base/files/slack.repo
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[slack]
|
||||||
|
name=slack
|
||||||
|
baseurl=https://packagecloud.io/slacktechnologies/slack/fedora/21/x86_64
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=0
|
||||||
|
gpgkey=https://packagecloud.io/gpg.key
|
||||||
|
sslverify=1
|
||||||
|
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
|
5
roles/base/files/vscode.repo
Normal file
5
roles/base/files/vscode.repo
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[code]
|
||||||
|
name=Visual Studio Code
|
||||||
|
baseurl=https://packages.microsoft.com/yumrepos/vscode
|
||||||
|
enabled=1gpgcheck=1
|
||||||
|
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
|
194
roles/base/tasks/main.yml
Normal file
194
roles/base/tasks/main.yml
Normal file
|
@ -0,0 +1,194 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
# Run gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
|
||||||
|
|
||||||
|
- name: Install rpmfusion-free
|
||||||
|
dnf:
|
||||||
|
name: https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-34.noarch.rpm
|
||||||
|
state: present
|
||||||
|
disable_gpg_check: 1
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install rpmfusion-nonfree
|
||||||
|
dnf:
|
||||||
|
name: https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-34.noarch.rpm
|
||||||
|
state: present
|
||||||
|
disable_gpg_check: 1
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install common dnf packages
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- exa
|
||||||
|
- zsh
|
||||||
|
- zsh-syntax-highlighting
|
||||||
|
- make
|
||||||
|
- direnv
|
||||||
|
- ncdu
|
||||||
|
- restic
|
||||||
|
- powertop
|
||||||
|
- tmux
|
||||||
|
- htop
|
||||||
|
- openssh-server
|
||||||
|
- chrome-gnome-shell
|
||||||
|
- celluloid
|
||||||
|
- gnome-extensions-app
|
||||||
|
- cheese
|
||||||
|
- geary
|
||||||
|
- curl
|
||||||
|
- neofetch
|
||||||
|
- virt-manager
|
||||||
|
- vim
|
||||||
|
- blueman
|
||||||
|
- pavucontrol
|
||||||
|
- gnome-shell-extension-appindicator
|
||||||
|
- gnome-shell-extension-gsconnect
|
||||||
|
- gnome-nettool
|
||||||
|
- gnome-maps
|
||||||
|
- gnome-calendar
|
||||||
|
- gnome-clocks
|
||||||
|
- gnome-tweaks
|
||||||
|
- tilix
|
||||||
|
- podman
|
||||||
|
- podman-compose
|
||||||
|
- dnf-plugins-core
|
||||||
|
enablerepo: rpmfusion-free
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Add the flathub flatpak repository remote to the user installation
|
||||||
|
flatpak_remote:
|
||||||
|
name: flathub
|
||||||
|
state: present
|
||||||
|
flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||||
|
method: user
|
||||||
|
|
||||||
|
- name: Install the gtk whats package from flathub for current user
|
||||||
|
flatpak:
|
||||||
|
name: com.gigitux.youp
|
||||||
|
state: present
|
||||||
|
remote: flathub
|
||||||
|
method: user
|
||||||
|
|
||||||
|
- name: Install the discord package from flathub for current user
|
||||||
|
flatpak:
|
||||||
|
name: com.discordapp.Discord
|
||||||
|
state: present
|
||||||
|
remote: flathub
|
||||||
|
method: user
|
||||||
|
|
||||||
|
- name: Install the element package from flathub for current user
|
||||||
|
flatpak:
|
||||||
|
name: im.riot.Riot
|
||||||
|
state: present
|
||||||
|
remote: flathub
|
||||||
|
method: user
|
||||||
|
|
||||||
|
- name: Install the telegram package from flathub for current user
|
||||||
|
flatpak:
|
||||||
|
name: org.telegram.desktop
|
||||||
|
state: present
|
||||||
|
remote: flathub
|
||||||
|
method: user
|
||||||
|
|
||||||
|
- name: Install the plexamp package from flathub for current user
|
||||||
|
flatpak:
|
||||||
|
name: com.plexamp.Plexamp
|
||||||
|
state: present
|
||||||
|
remote: flathub
|
||||||
|
method: user
|
||||||
|
|
||||||
|
- name: Install the girens package from flathub for current user
|
||||||
|
flatpak:
|
||||||
|
name: nl.g4d.Girens
|
||||||
|
state: present
|
||||||
|
remote: flathub
|
||||||
|
method: user
|
||||||
|
|
||||||
|
- name: Install Teleport tsh
|
||||||
|
dnf:
|
||||||
|
name: https://get.gravitational.com/teleport-5.1.0-1.x86_64.rpm
|
||||||
|
state: present
|
||||||
|
disable_gpg_check: yes
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install Steam
|
||||||
|
dnf:
|
||||||
|
name: steam
|
||||||
|
enablerepo: rpmfusion-nonfree-steam
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install ffmpeg
|
||||||
|
dnf:
|
||||||
|
name: ffmpeg
|
||||||
|
enablerepo: rpmfusion-free
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install Zoom
|
||||||
|
dnf:
|
||||||
|
name: https://zoom.us/client/latest/zoom_x86_64.rpm
|
||||||
|
state: present
|
||||||
|
disable_gpg_check: 1
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
# get latest slack version
|
||||||
|
# curl -s https://slack.com/intl/en-ie/downloads/linux | grep -o 'Version [0-9].[0-9].[0-9]' | grep -o '[0-9].[0-9].[0-9]'
|
||||||
|
|
||||||
|
- name: Import packagecloud key
|
||||||
|
rpm_key:
|
||||||
|
state: present
|
||||||
|
key: https://packagecloud.io/gpg.key
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Add slack repo
|
||||||
|
copy:
|
||||||
|
src: slack.repo
|
||||||
|
mode: "0644"
|
||||||
|
dest: /etc/yum.repos.d/slack.repo
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install Slack
|
||||||
|
dnf:
|
||||||
|
name: slack
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Import microsoft key
|
||||||
|
rpm_key:
|
||||||
|
state: present
|
||||||
|
key: https://packages.microsoft.com/keys/microsoft.asc
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Add vscode repo
|
||||||
|
copy:
|
||||||
|
src: vscode.repo
|
||||||
|
mode: "0644"
|
||||||
|
dest: /etc/yum.repos.d/vscode.repo
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install vscode
|
||||||
|
dnf:
|
||||||
|
name: code
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Import 1Password's key
|
||||||
|
rpm_key:
|
||||||
|
state: present
|
||||||
|
key: https://downloads.1password.com/linux/keys/1password.asc
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Add 1Password repo
|
||||||
|
copy:
|
||||||
|
src: 1password.repo
|
||||||
|
mode: "0644"
|
||||||
|
dest: /etc/yum.repos.d/1password.repo
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install 1password
|
||||||
|
dnf:
|
||||||
|
name: 1password
|
||||||
|
state: present
|
||||||
|
become: yes
|
|
@ -1,121 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- name: Install common apt packages
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- zsh
|
|
||||||
- mdadm
|
|
||||||
- direnv
|
|
||||||
- ncdu
|
|
||||||
- restic
|
|
||||||
- powertop
|
|
||||||
- mpv
|
|
||||||
- tmux
|
|
||||||
- htop
|
|
||||||
- openssh-server
|
|
||||||
- chrome-gnome-shell
|
|
||||||
- cheese
|
|
||||||
- geary
|
|
||||||
- curl
|
|
||||||
- celluloid
|
|
||||||
- neofetch
|
|
||||||
- virt-manager
|
|
||||||
- vim
|
|
||||||
- blueman
|
|
||||||
- pavucontrol
|
|
||||||
- gnome-shell-extension-shortcuts
|
|
||||||
- gnome-nettool
|
|
||||||
- gnome-maps
|
|
||||||
- gnome-calendar
|
|
||||||
- gnome-clocks
|
|
||||||
- tilix
|
|
||||||
state: present
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Install common snaps
|
|
||||||
snap:
|
|
||||||
name:
|
|
||||||
- canonical-livepatch
|
|
||||||
- qownnotes
|
|
||||||
- remmina
|
|
||||||
- riot-web
|
|
||||||
- spotify
|
|
||||||
state: present
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Add AppImageLauncher ppa
|
|
||||||
apt_repository:
|
|
||||||
repo: ppa:appimagelauncher-team/stable
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Install AppImageLauncher
|
|
||||||
apt:
|
|
||||||
name: appimagelauncher
|
|
||||||
state: present
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Fetch plex media player
|
|
||||||
get_url:
|
|
||||||
url: https://knapsu.eu/data/plex/Plex_Media_Player_2.57.0.1074-f7d709d1_x64.AppImage
|
|
||||||
dest: /home/jonathan/Applications/Plex_Media_Player_2.57.0.1074-f7d709d1_x64.AppImage
|
|
||||||
mode: 0744
|
|
||||||
|
|
||||||
- name: Install plex media player
|
|
||||||
command:
|
|
||||||
cmd: ail-cli integrate /home/jonathan/Applications/Plex_Media_Player_2.57.0.1074-f7d709d1_x64.AppImage
|
|
||||||
|
|
||||||
- name: Fetch plexamp
|
|
||||||
get_url:
|
|
||||||
url: https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-3.0.3.AppImage
|
|
||||||
dest: /home/jonathan/Applications/Plexamp-3.0.3.AppImage
|
|
||||||
mode: 0744
|
|
||||||
|
|
||||||
- name: Install plexamp
|
|
||||||
command:
|
|
||||||
cmd: ail-cli integrate /home/jonathan/Applications/Plexamp-3.0.3.AppImage
|
|
||||||
|
|
||||||
- name: Install random debs
|
|
||||||
apt:
|
|
||||||
deb: "{{item}}"
|
|
||||||
with_items:
|
|
||||||
- https://go.microsoft.com/fwlink/?LinkID=760868
|
|
||||||
- https://zoom.us/client/latest/zoom_amd64.deb
|
|
||||||
- https://steamcdn-a.akamaihd.net/client/installer/steam.deb
|
|
||||||
- https://discord.com/api/download?platform=linux&format=deb
|
|
||||||
- https://github.com/hensm/fx_cast/releases/download/v0.0.6/fx_cast_bridge-0.0.6-x64.deb
|
|
||||||
- https://downloads.slack-edge.com/linux_releases/slack-desktop-4.4.2-amd64.deb
|
|
||||||
- https://prerelease.keybase.io/keybase_amd64.deb
|
|
||||||
- https://zerkc.gitlab.io/whatsdesk/whatsdesk_0.2.18_amd64.deb
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Install 1password cli binary
|
|
||||||
unarchive:
|
|
||||||
src: https://cache.agilebits.com/dist/1P/op/pkg/v0.10.0/op_linux_amd64_v0.10.0.zip
|
|
||||||
dest: /home/jonathan/.bin/
|
|
||||||
exclude: op.sig
|
|
||||||
remote_src: yes
|
|
||||||
|
|
||||||
#- name: Uninstall default pulseaudio-module-bluetooth
|
|
||||||
# apt:
|
|
||||||
# name: pulseaudio-module-bluetooth
|
|
||||||
# state: absent
|
|
||||||
# become: yes
|
|
||||||
#
|
|
||||||
#- name: Install bluetooth audio deps
|
|
||||||
# apt:
|
|
||||||
# name:
|
|
||||||
# - libavcodec-extra58
|
|
||||||
# - libfdk-aac1
|
|
||||||
# - bluez
|
|
||||||
# - pulseaudio
|
|
||||||
# become: yes
|
|
||||||
#
|
|
||||||
#- name: Install bluetooth audio codec debs
|
|
||||||
# apt:
|
|
||||||
# deb: "{{item}}"
|
|
||||||
# with_items:
|
|
||||||
# - https://go.microsoft.com/fwlink/?LinkID=760868
|
|
||||||
# - https://zoom.us/client/latest/zoom_amd64.deb
|
|
||||||
# - https://f.bytefuse.net/pulseaudio-modules-bt-ppa/focal/libldac_2.0.2.3-1_amd64.deb
|
|
||||||
# - https://f.bytefuse.net/pulseaudio-modules-bt-ppa/focal/pulseaudio-modules-bt_1.3-1_amd64.deb
|
|
||||||
# become: yes
|
|
|
@ -1,9 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Version=1.0
|
|
||||||
Type=Application
|
|
||||||
Name=Plexamp
|
|
||||||
Exec=/home/jonathan/Applications/Plexamp.AppImage
|
|
||||||
Terminal=false
|
|
||||||
Categories=AudioVideo;Player;
|
|
||||||
StartupWMClass=plexamp
|
|
||||||
TryExec=/home/jonathan/Applications/Plexamp.AppImage
|
|
|
@ -1,9 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Version=1.0
|
|
||||||
Type=Application
|
|
||||||
Name=Plex Media Player
|
|
||||||
Exec=/home/jonathan/Applications/Plex_Media_Player.AppImage
|
|
||||||
Terminal=false
|
|
||||||
Categories=AudioVideo;Player;
|
|
||||||
StartupWMClass=plexmediaplayer
|
|
||||||
TryExec=/home/jonathan/Applications/Plex_Media_Player.AppImage
|
|
|
@ -1,18 +1,23 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
- name: Install docker
|
- name: Install docker
|
||||||
apt: name=docker.io state=present
|
dnf:
|
||||||
|
name:
|
||||||
|
- moby-engine
|
||||||
|
state: present
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Make sure docker is running
|
- name: Make sure docker is running
|
||||||
systemd:
|
systemd:
|
||||||
state: started
|
|
||||||
name: docker
|
name: docker
|
||||||
|
state: started
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Install docker-compose
|
- name: Install docker-compose
|
||||||
apt: name=docker-compose state=present
|
pip:
|
||||||
become: yes
|
extra_args: --user
|
||||||
|
name: docker-compose
|
||||||
|
state: present
|
||||||
|
|
||||||
- name: Add jonathan to docker group
|
- name: Add jonathan to docker group
|
||||||
user:
|
user:
|
||||||
|
|
21
roles/firefox_dev/files/firefox-dev.desktop
Normal file
21
roles/firefox_dev/files/firefox-dev.desktop
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Firefox Developer Edition
|
||||||
|
GenericName=Web Browser
|
||||||
|
Exec=/home/jonathan/.local/bin/firefox-dev %u
|
||||||
|
Icon=/home/jonathan/.local/opt/firefox/browser/chrome/icons/default/default128.png
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
|
||||||
|
StartupNotify=true
|
||||||
|
Categories=Network;WebBrowser;
|
||||||
|
Keywords=web;browser;internet;
|
||||||
|
Actions=new-window;new-private-window;
|
||||||
|
StartupWMClass=Firefox Developer Edition
|
||||||
|
|
||||||
|
[Desktop Action new-window]
|
||||||
|
Name=Open a New Window
|
||||||
|
Exec=/home/jonathan/.local/bin/firefox-dev %u
|
||||||
|
|
||||||
|
[Desktop Action new-private-window]
|
||||||
|
Name=Open a New Private Window
|
||||||
|
Exec=/home/jonathan/.local/bin/firefox-dev --private-window %u
|
26
roles/firefox_dev/tasks/main.yml
Normal file
26
roles/firefox_dev/tasks/main.yml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: create ~/.local/opt/firefox/
|
||||||
|
file:
|
||||||
|
path: ~/.local/opt
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
|
- name: Fetch Firefox Developer Edition binary
|
||||||
|
unarchive:
|
||||||
|
src: https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=en-US
|
||||||
|
dest: ~/.local/opt/
|
||||||
|
mode: 0755
|
||||||
|
remote_src: yes
|
||||||
|
|
||||||
|
- name: Link the binary
|
||||||
|
file:
|
||||||
|
src: ~/.local/opt/firefox/firefox
|
||||||
|
dest: ~/.local/bin/firefox-dev
|
||||||
|
state: link
|
||||||
|
|
||||||
|
- name: create firefox-dev.desktop
|
||||||
|
copy:
|
||||||
|
src: firefox-dev.desktop
|
||||||
|
mode: "0644"
|
||||||
|
dest: /home/jonathan/.local/share/applications/firefox-dev.desktop
|
37
roles/globalprotect/tasks/main.yml
Normal file
37
roles/globalprotect/tasks/main.yml
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- qt5-qttools-devel
|
||||||
|
- qt5-qtwebsockets-devel
|
||||||
|
- qt5-qtwebengine-devel
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Clone yuezk/GlobalProtect-openconnect
|
||||||
|
git:
|
||||||
|
repo: 'https://github.com/yuezk/GlobalProtect-openconnect.git'
|
||||||
|
recursive: yes
|
||||||
|
update: yes
|
||||||
|
version: master
|
||||||
|
dest: /tmp/GlobalProtect-openconnect
|
||||||
|
|
||||||
|
- name: Qmake the Makefile
|
||||||
|
command:
|
||||||
|
chdir: /tmp/GlobalProtect-openconnect
|
||||||
|
cmd: qmake-qt5 CONFIG+=release
|
||||||
|
creates: /tmp/GlobalProtect-openconnect/Makefile
|
||||||
|
|
||||||
|
- name: Make all the things
|
||||||
|
command:
|
||||||
|
chdir: /tmp/GlobalProtect-openconnect
|
||||||
|
cmd: make
|
||||||
|
creates: /tmp/GlobalProtect-openconnect/GPClient/gpclient
|
||||||
|
|
||||||
|
- name: make install
|
||||||
|
command:
|
||||||
|
chdir: /tmp/GlobalProtect-openconnect
|
||||||
|
cmd: make install
|
||||||
|
creates: /usr/bin/gpclient
|
||||||
|
become: yes
|
17
roles/gnome/tasks/main.yml
Normal file
17
roles/gnome/tasks/main.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
# Run gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
|
||||||
|
|
||||||
|
- name: Install gnome-extensions-cli
|
||||||
|
pip:
|
||||||
|
name: gnome-extensions-cli
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install Gnome shell extensions
|
||||||
|
command:
|
||||||
|
cmd: gnome-extensions-cli install {{ item }}
|
||||||
|
creates: ~/.local/share/gnome-shell/extensions/{{ item }}/metadata.json
|
||||||
|
with_items:
|
||||||
|
- hue-lights@chlumskyvaclav.gmail.com
|
||||||
|
- espresso@coadmunkee.github.com
|
||||||
|
- sound-output-device-chooser@kgshank.net
|
|
@ -1,48 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- name: Add luminance deps
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- autoconf
|
|
||||||
- autogen
|
|
||||||
- build-essential
|
|
||||||
- python-gi-dev
|
|
||||||
- libgtk-3-dev
|
|
||||||
- gsettings-desktop-schemas-dev
|
|
||||||
- libgnome-desktop-3-dev
|
|
||||||
- libxml2-utils
|
|
||||||
state: present
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: pip3 install phue
|
|
||||||
pip:
|
|
||||||
name: phue
|
|
||||||
state: present
|
|
||||||
executable: /usr/bin/pip3
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: clone luminance fork
|
|
||||||
git:
|
|
||||||
repo: https://github.com/jonbulica99/luminance.git
|
|
||||||
dest: /home/jonathan/Code/luminance
|
|
||||||
|
|
||||||
- name: autogen luminance
|
|
||||||
command:
|
|
||||||
chdir: /home/jonathan/Code/luminance
|
|
||||||
cmd: ./autogen.sh
|
|
||||||
|
|
||||||
- name: configure luminance
|
|
||||||
command:
|
|
||||||
chdir: /home/jonathan/Code/luminance
|
|
||||||
cmd: ./configure --prefix=/usr
|
|
||||||
|
|
||||||
- name: make luminance
|
|
||||||
command:
|
|
||||||
chdir: /home/jonathan/Code/luminance
|
|
||||||
cmd: make
|
|
||||||
|
|
||||||
- name: make install luminance
|
|
||||||
command:
|
|
||||||
chdir: /home/jonathan/Code/luminance
|
|
||||||
cmd: make install
|
|
||||||
become: yes
|
|
21
roles/scream/files/scream.service
Normal file
21
roles/scream/files/scream.service
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Scream receiver
|
||||||
|
Documentation=https://github.com/duncanthrax/scream
|
||||||
|
Wants=network-pre.target
|
||||||
|
After=network-pre.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/local/bin/scream -t 10
|
||||||
|
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
RuntimeDirectory=scream
|
||||||
|
RuntimeDirectoryMode=0755
|
||||||
|
StateDirectory=scream
|
||||||
|
StateDirectoryMode=0750
|
||||||
|
CacheDirectory=scream
|
||||||
|
CacheDirectoryMode=0750
|
||||||
|
Type=simple
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
51
roles/scream/tasks/main.yml
Normal file
51
roles/scream/tasks/main.yml
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- pulseaudio-libs-devel
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Clone duncanthrax/scream
|
||||||
|
git:
|
||||||
|
repo: 'https://github.com/duncanthrax/scream.git'
|
||||||
|
version: master
|
||||||
|
dest: /tmp/duncanthrax-scream
|
||||||
|
|
||||||
|
- name: Create build dir
|
||||||
|
file:
|
||||||
|
dest: /tmp/duncanthrax-scream/Receivers/unix/build
|
||||||
|
mode: '0755'
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Cmake the Makefiles
|
||||||
|
command:
|
||||||
|
chdir: /tmp/duncanthrax-scream/Receivers/unix/build
|
||||||
|
cmd: cmake ..
|
||||||
|
creates: /tmp/duncanthrax-scream/Receivers/unix/build/Makefile
|
||||||
|
|
||||||
|
- name: Make all the things
|
||||||
|
command:
|
||||||
|
chdir: /tmp/duncanthrax-scream/Receivers/unix/build
|
||||||
|
cmd: make
|
||||||
|
creates: /tmp/duncanthrax-scream/Receivers/unix/build/scream
|
||||||
|
|
||||||
|
- name: make install
|
||||||
|
command:
|
||||||
|
chdir: /tmp/duncanthrax-scream/Receivers/unix/build
|
||||||
|
cmd: make install
|
||||||
|
creates: /usr/local/bin/scream
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Create systemd dir
|
||||||
|
file:
|
||||||
|
dest: ~/.config/systemd/user
|
||||||
|
mode: '0755'
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Create systemd unit
|
||||||
|
copy:
|
||||||
|
src: scream.service
|
||||||
|
mode: '0755'
|
||||||
|
dest: ~/.config/systemd/user/scream.service
|
|
@ -12,6 +12,7 @@
|
||||||
- name: create udev rules file for streamdeck
|
- name: create udev rules file for streamdeck
|
||||||
copy:
|
copy:
|
||||||
src: 99-streamdeck.rules
|
src: 99-streamdeck.rules
|
||||||
|
mode: "0644"
|
||||||
dest: /etc/udev/rules.d/99-streamdeck.rules
|
dest: /etc/udev/rules.d/99-streamdeck.rules
|
||||||
notify: reload udev
|
notify: reload udev
|
||||||
become: yes
|
become: yes
|
||||||
|
@ -26,10 +27,12 @@
|
||||||
- name: replace crappy panel icon
|
- name: replace crappy panel icon
|
||||||
copy:
|
copy:
|
||||||
src: streamdeck.png
|
src: streamdeck.png
|
||||||
|
mode: "0644"
|
||||||
dest: /usr/local/lib/python3.8/dist-packages/streamdeck_ui/logo.png
|
dest: /usr/local/lib/python3.8/dist-packages/streamdeck_ui/logo.png
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: create streamdeck_ui .desktop
|
- name: create streamdeck_ui .desktop
|
||||||
copy:
|
copy:
|
||||||
src: streamdeck.desktop
|
src: streamdeck.desktop
|
||||||
|
mode: "0644"
|
||||||
dest: /home/jonathan/.local/share/applications/streamdeck.desktop
|
dest: /home/jonathan/.local/share/applications/streamdeck.desktop
|
7
roles/tailscale/handlers/main.yml
Normal file
7
roles/tailscale/handlers/main.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- name: enable tailscaled
|
||||||
|
service:
|
||||||
|
name: tailscaled
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
||||||
|
become: yes
|
15
roles/tailscale/tasks/main.yml
Normal file
15
roles/tailscale/tasks/main.yml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Add Tailscale repo
|
||||||
|
command:
|
||||||
|
cmd: dnf config-manager --add-repo https://pkgs.tailscale.com/stable/fedora/tailscale.repo
|
||||||
|
creates: /etc/yum.repos.d/tailscale.repo
|
||||||
|
warn: false
|
||||||
|
notify: enable tailscaled
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Install tailscale
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- tailscale
|
||||||
|
become: yes
|
|
@ -5,7 +5,7 @@
|
||||||
name: jonathan
|
name: jonathan
|
||||||
comment: Jonathan Cremin
|
comment: Jonathan Cremin
|
||||||
uid: 1000
|
uid: 1000
|
||||||
groups: jonathan,adm,cdrom,sudo,dip,plugdev,lpadmin,lxd,sambashare
|
groups: jonathan,wheel
|
||||||
shell: /bin/zsh
|
shell: /bin/zsh
|
||||||
append: yes
|
append: yes
|
||||||
become: yes
|
become: yes
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: /etc/sudoers
|
path: /etc/sudoers
|
||||||
state: present
|
state: present
|
||||||
regexp: '^%sudo'
|
regexp: '^%wheel'
|
||||||
line: '%sudo ALL=(ALL) NOPASSWD: ALL'
|
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
|
||||||
validate: /usr/sbin/visudo -cf %s
|
validate: /usr/sbin/visudo -cf %s
|
||||||
become: yes
|
become: yes
|
4
roles/virtualhere/files/config.ini
Normal file
4
roles/virtualhere/files/config.ini
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
It=1612256810
|
||||||
|
EasyFindId=NnL1bKU8y9cMhUFhNzxNQA
|
||||||
|
EasyFindPin=2vTMJN
|
||||||
|
License=100426f0-7de4-ae8e-e7e1-244bfec823db,0,MCACDi8rVnEa6oduIXJBZNAEAg5o/Fp6R7Njxf5D4uN0Bw==
|
8
roles/virtualhere/files/virtualhere.service
Normal file
8
roles/virtualhere/files/virtualhere.service
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[Unit]
|
||||||
|
Description=VirtualHere Server
|
||||||
|
After=network.target
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
ExecStart=/usr/local/bin/vhusbd -b -c /usr/local/etc/virtualhere/config.ini
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
8
roles/virtualhere/handlers/main.yml
Normal file
8
roles/virtualhere/handlers/main.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
- name: enable virtualhere
|
||||||
|
service:
|
||||||
|
name: virtualhere
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
||||||
|
become: yes
|
||||||
|
|
41
roles/virtualhere/tasks/main.yml
Normal file
41
roles/virtualhere/tasks/main.yml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Fetch Virtualhere binary
|
||||||
|
get_url:
|
||||||
|
url: https://virtualhere.com/sites/default/files/usbserver/vhusbdx86_64
|
||||||
|
dest: /usr/local/bin/vhusbd
|
||||||
|
mode: 0755
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Create /usr/local/etc/virtualhere/
|
||||||
|
file:
|
||||||
|
dest: /usr/local/etc/virtualhere/
|
||||||
|
mode: '0755'
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
state: directory
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Create Virtualhere config
|
||||||
|
copy:
|
||||||
|
src: config.ini
|
||||||
|
mode: "0644"
|
||||||
|
dest: /usr/local/etc/virtualhere/config.ini
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Create Virtualhere systemd service
|
||||||
|
copy:
|
||||||
|
src: virtualhere.service
|
||||||
|
mode: "0644"
|
||||||
|
dest: /etc/systemd/system/virtualhere.service
|
||||||
|
notify: enable virtualhere
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
# For 4K Webcam throughput
|
||||||
|
- name: Increase memory available to USB
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/default/grub
|
||||||
|
regexp: '^(.*)rhgb quiet"$'
|
||||||
|
line: '\1rhgb quiet usbcore.usbfs_memory_mb=1000"'
|
||||||
|
backrefs: yes
|
||||||
|
become: yes
|
|
@ -1,16 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
- name: Install vm deps
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- libvirt-daemon-system
|
|
||||||
- libvirt-clients
|
|
||||||
- qemu-kvm
|
|
||||||
- qemu-utils
|
|
||||||
- virt-manager
|
|
||||||
- ovmf
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: Update grub for amd_iommu
|
- name: Update grub for amd_iommu
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: /etc/default/grub
|
path: /etc/default/grub
|
||||||
|
@ -19,50 +8,50 @@
|
||||||
line: 'GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on"'
|
line: 'GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on"'
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Create subdirectories
|
# - name: Create subdirectories
|
||||||
file:
|
# file:
|
||||||
dest: '{{item}}'
|
# dest: '{{item}}'
|
||||||
mode: '0755'
|
# mode: '0755'
|
||||||
owner: root
|
# owner: root
|
||||||
group: root
|
# group: root
|
||||||
state: directory
|
# state: directory
|
||||||
with_items:
|
# with_items:
|
||||||
- /etc/libvirt/hooks/
|
# - /etc/libvirt/hooks/
|
||||||
- /etc/libvirt/hooks/qemu.d/win10/prepare/begin/
|
# - /etc/libvirt/hooks/qemu.d/win10/prepare/begin/
|
||||||
- /etc/libvirt/hooks/qemu.d/win10/release/end/
|
# - /etc/libvirt/hooks/qemu.d/win10/release/end/
|
||||||
become: yes
|
# become: yes
|
||||||
|
|
||||||
- name: Fetch libvirt qemu hook
|
# - name: Fetch libvirt qemu hook
|
||||||
get_url:
|
# get_url:
|
||||||
url: https://raw.githubusercontent.com/PassthroughPOST/VFIO-Tools/master/libvirt_hooks/qemu
|
# url: https://raw.githubusercontent.com/PassthroughPOST/VFIO-Tools/master/libvirt_hooks/qemu
|
||||||
dest: /etc/libvirt/hooks/qemu
|
# dest: /etc/libvirt/hooks/qemu
|
||||||
mode: 0744
|
# mode: 0744
|
||||||
become: yes
|
# become: yes
|
||||||
notify: restart libvirtd
|
# notify: restart libvirtd
|
||||||
|
|
||||||
- name: Create kvm.conf
|
# - name: Create kvm.conf
|
||||||
template:
|
# template:
|
||||||
src: kvm.conf.j2
|
# src: kvm.conf.j2
|
||||||
dest: /etc/libvirt/hooks/kvm.conf
|
# dest: /etc/libvirt/hooks/kvm.conf
|
||||||
owner: root
|
# owner: root
|
||||||
group: root
|
# group: root
|
||||||
mode: '0644'
|
# mode: '0644'
|
||||||
become: yes
|
# become: yes
|
||||||
|
|
||||||
- name: bind_vfio.sh
|
# - name: bind_vfio.sh
|
||||||
template:
|
# template:
|
||||||
src: bind_vfio.sh.j2
|
# src: bind_vfio.sh.j2
|
||||||
dest: /etc/libvirt/hooks/qemu.d/win10/prepare/begin/bind_vfio.sh
|
# dest: /etc/libvirt/hooks/qemu.d/win10/prepare/begin/bind_vfio.sh
|
||||||
owner: root
|
# owner: root
|
||||||
group: root
|
# group: root
|
||||||
mode: '0744'
|
# mode: '0744'
|
||||||
become: yes
|
# become: yes
|
||||||
|
|
||||||
- name: unbind_vfio.sh
|
# - name: unbind_vfio.sh
|
||||||
template:
|
# template:
|
||||||
src: unbind_vfio.sh.j2
|
# src: unbind_vfio.sh.j2
|
||||||
dest: /etc/libvirt/hooks/qemu.d/win10/release/end/unbind_vfio.sh
|
# dest: /etc/libvirt/hooks/qemu.d/win10/release/end/unbind_vfio.sh
|
||||||
owner: root
|
# owner: root
|
||||||
group: root
|
# group: root
|
||||||
mode: '0744'
|
# mode: '0744'
|
||||||
become: yes
|
# become: yes
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## Virsh devices
|
## Virsh devices
|
||||||
VIRSH_GPU_VIDEO=pci_0000_0c_00_0
|
VIRSH_GPU_VIDEO=pci_0000_0b_00_0
|
||||||
VIRSH_GPU_AUDIO=pci_0000_0c_00_1
|
VIRSH_GPU_AUDIO=pci_0000_0b_00_1
|
||||||
VIRSH_GPU_USB=pci_0000_43_00_3
|
VIRSH_GPU_USB=pci_0000_43_00_3
|
||||||
VIRSH_GPU_SSD=pci_0000_41_00_0
|
VIRSH_GPU_SSD=pci_0000_41_00_0
|
0
roles/work/tasks/main.yml
Normal file
0
roles/work/tasks/main.yml
Normal file
33
tasks.sh
33
tasks.sh
|
@ -1,33 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# add a check for .files
|
|
||||||
|
|
||||||
./.files/install --config ~/.files/install.conf.yaml
|
|
||||||
|
|
||||||
sudo pip3 install ansible
|
|
||||||
|
|
||||||
# Patch ansible/modules/net_tools/nmcli.py https://raw.githubusercontent.com/torvitas/ansible/4945040510ff0c38e03ae0e06dec0909418d3dc4/lib/ansible/modules/net_tools/nmcli.py
|
|
||||||
|
|
||||||
sudo mdadm --stop /dev/md127
|
|
||||||
sudo mdadm --assemble /dev/md0 --name=kudos --update=name /dev/sd[bcdef]
|
|
||||||
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
|
|
||||||
# write mdadm stuff to initramfs
|
|
||||||
sudo update-initramfs -u -k all
|
|
||||||
|
|
||||||
sudo ansible-playbook -i hosts kudos.yml
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
> sudo add-apt-repository ppa:appimagelauncher-team/stable
|
|
||||||
> sudo apt update
|
|
||||||
> sudo apt install appimagelauncher
|
|
||||||
|
|
||||||
https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-3.0.1.AppImage
|
|
||||||
|
|
||||||
alsamixer for low steelseries audio volume
|
|
||||||
|
|
||||||
# Add key to keychain
|
|
||||||
SSH_ASKPASS=/usr/libexec/seahorse/ssh-askpass ssh-add id_rsa </dev/null
|
|
||||||
|
|
||||||
# fix white corners on firefox
|
|
||||||
# This can make videos transparent. It's better to turn on hardware acceleration with gfx.webrender.all or layers.acceleration.force-enabled to make the white corners transparent.
|
|
|
@ -1,13 +1,11 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
- hosts: kudos
|
- hosts: work
|
||||||
roles:
|
roles:
|
||||||
- { role: common, tags: [ 'common'] }
|
- { role: common, tags: [ 'common'] }
|
||||||
- { role: users, tags: [ 'users'] }
|
- { role: users, tags: [ 'users'] }
|
||||||
- { role: streamdeck, tags: [ 'streamdeck'] }
|
- { role: tailscale, tags: [ 'tailscale'] }
|
||||||
|
- { role: appimages, tags: [ 'appimages'] }
|
||||||
- { role: ssh, tags: [ 'ssh'] }
|
- { role: ssh, tags: [ 'ssh'] }
|
||||||
- { role: docker, tags: [ 'docker'] }
|
- { role: docker, tags: [ 'docker'] }
|
||||||
- { role: raid, tags: [ 'raid'] }
|
|
||||||
# - { role: network, tags: [ 'network'] }
|
|
||||||
- { role: vm, tags: [ 'vm'] }
|
|
||||||
- { role: luminance, tags: [ 'luminance'] }
|
- { role: luminance, tags: [ 'luminance'] }
|
Loading…
Add table
Add a link
Reference in a new issue