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
|
||||
|
||||
[pi]
|
||||
10.0.1.29 ansible_user=ubuntu
|
||||
[work]
|
||||
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
|
||||
apt: name=docker.io state=present
|
||||
dnf:
|
||||
name:
|
||||
- moby-engine
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
- name: Make sure docker is running
|
||||
systemd:
|
||||
state: started
|
||||
name: docker
|
||||
state: started
|
||||
become: yes
|
||||
|
||||
- name: Install docker-compose
|
||||
apt: name=docker-compose state=present
|
||||
become: yes
|
||||
pip:
|
||||
extra_args: --user
|
||||
name: docker-compose
|
||||
state: present
|
||||
|
||||
- name: Add jonathan to docker group
|
||||
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
|
||||
copy:
|
||||
src: 99-streamdeck.rules
|
||||
mode: "0644"
|
||||
dest: /etc/udev/rules.d/99-streamdeck.rules
|
||||
notify: reload udev
|
||||
become: yes
|
||||
|
@ -26,10 +27,12 @@
|
|||
- name: replace crappy panel icon
|
||||
copy:
|
||||
src: streamdeck.png
|
||||
mode: "0644"
|
||||
dest: /usr/local/lib/python3.8/dist-packages/streamdeck_ui/logo.png
|
||||
become: yes
|
||||
|
||||
- name: create streamdeck_ui .desktop
|
||||
copy:
|
||||
src: streamdeck.desktop
|
||||
mode: "0644"
|
||||
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
|
||||
comment: Jonathan Cremin
|
||||
uid: 1000
|
||||
groups: jonathan,adm,cdrom,sudo,dip,plugdev,lpadmin,lxd,sambashare
|
||||
groups: jonathan,wheel
|
||||
shell: /bin/zsh
|
||||
append: yes
|
||||
become: yes
|
||||
|
@ -14,7 +14,7 @@
|
|||
lineinfile:
|
||||
path: /etc/sudoers
|
||||
state: present
|
||||
regexp: '^%sudo'
|
||||
line: '%sudo ALL=(ALL) NOPASSWD: ALL'
|
||||
regexp: '^%wheel'
|
||||
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
|
||||
validate: /usr/sbin/visudo -cf %s
|
||||
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
|
||||
lineinfile:
|
||||
path: /etc/default/grub
|
||||
|
@ -19,50 +8,50 @@
|
|||
line: 'GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on"'
|
||||
become: yes
|
||||
|
||||
- name: Create subdirectories
|
||||
file:
|
||||
dest: '{{item}}'
|
||||
mode: '0755'
|
||||
owner: root
|
||||
group: root
|
||||
state: directory
|
||||
with_items:
|
||||
- /etc/libvirt/hooks/
|
||||
- /etc/libvirt/hooks/qemu.d/win10/prepare/begin/
|
||||
- /etc/libvirt/hooks/qemu.d/win10/release/end/
|
||||
become: yes
|
||||
# - name: Create subdirectories
|
||||
# file:
|
||||
# dest: '{{item}}'
|
||||
# mode: '0755'
|
||||
# owner: root
|
||||
# group: root
|
||||
# state: directory
|
||||
# with_items:
|
||||
# - /etc/libvirt/hooks/
|
||||
# - /etc/libvirt/hooks/qemu.d/win10/prepare/begin/
|
||||
# - /etc/libvirt/hooks/qemu.d/win10/release/end/
|
||||
# become: yes
|
||||
|
||||
- name: Fetch libvirt qemu hook
|
||||
get_url:
|
||||
url: https://raw.githubusercontent.com/PassthroughPOST/VFIO-Tools/master/libvirt_hooks/qemu
|
||||
dest: /etc/libvirt/hooks/qemu
|
||||
mode: 0744
|
||||
become: yes
|
||||
notify: restart libvirtd
|
||||
# - name: Fetch libvirt qemu hook
|
||||
# get_url:
|
||||
# url: https://raw.githubusercontent.com/PassthroughPOST/VFIO-Tools/master/libvirt_hooks/qemu
|
||||
# dest: /etc/libvirt/hooks/qemu
|
||||
# mode: 0744
|
||||
# become: yes
|
||||
# notify: restart libvirtd
|
||||
|
||||
- name: Create kvm.conf
|
||||
template:
|
||||
src: kvm.conf.j2
|
||||
dest: /etc/libvirt/hooks/kvm.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0644'
|
||||
become: yes
|
||||
# - name: Create kvm.conf
|
||||
# template:
|
||||
# src: kvm.conf.j2
|
||||
# dest: /etc/libvirt/hooks/kvm.conf
|
||||
# owner: root
|
||||
# group: root
|
||||
# mode: '0644'
|
||||
# become: yes
|
||||
|
||||
- name: bind_vfio.sh
|
||||
template:
|
||||
src: bind_vfio.sh.j2
|
||||
dest: /etc/libvirt/hooks/qemu.d/win10/prepare/begin/bind_vfio.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0744'
|
||||
become: yes
|
||||
# - name: bind_vfio.sh
|
||||
# template:
|
||||
# src: bind_vfio.sh.j2
|
||||
# dest: /etc/libvirt/hooks/qemu.d/win10/prepare/begin/bind_vfio.sh
|
||||
# owner: root
|
||||
# group: root
|
||||
# mode: '0744'
|
||||
# become: yes
|
||||
|
||||
- name: unbind_vfio.sh
|
||||
template:
|
||||
src: unbind_vfio.sh.j2
|
||||
dest: /etc/libvirt/hooks/qemu.d/win10/release/end/unbind_vfio.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0744'
|
||||
become: yes
|
||||
# - name: unbind_vfio.sh
|
||||
# template:
|
||||
# src: unbind_vfio.sh.j2
|
||||
# dest: /etc/libvirt/hooks/qemu.d/win10/release/end/unbind_vfio.sh
|
||||
# owner: root
|
||||
# group: root
|
||||
# mode: '0744'
|
||||
# become: yes
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
## Virsh devices
|
||||
VIRSH_GPU_VIDEO=pci_0000_0c_00_0
|
||||
VIRSH_GPU_AUDIO=pci_0000_0c_00_1
|
||||
VIRSH_GPU_VIDEO=pci_0000_0b_00_0
|
||||
VIRSH_GPU_AUDIO=pci_0000_0b_00_1
|
||||
VIRSH_GPU_USB=pci_0000_43_00_3
|
||||
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:
|
||||
- { role: common, tags: [ 'common'] }
|
||||
- { role: users, tags: [ 'users'] }
|
||||
- { role: streamdeck, tags: [ 'streamdeck'] }
|
||||
- { role: tailscale, tags: [ 'tailscale'] }
|
||||
- { role: appimages, tags: [ 'appimages'] }
|
||||
- { role: ssh, tags: [ 'ssh'] }
|
||||
- { role: docker, tags: [ 'docker'] }
|
||||
- { role: raid, tags: [ 'raid'] }
|
||||
# - { role: network, tags: [ 'network'] }
|
||||
- { role: vm, tags: [ 'vm'] }
|
||||
- { role: luminance, tags: [ 'luminance'] }
|
Loading…
Add table
Add a link
Reference in a new issue