diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100644 index 0000000..5aab2fa --- /dev/null +++ b/bootstrap.sh @@ -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 diff --git a/desktop.yml b/desktop.yml new file mode 100644 index 0000000..1f81d59 --- /dev/null +++ b/desktop.yml @@ -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'] } diff --git a/hosts b/hosts index 0acf994..aaa0651 100644 --- a/hosts +++ b/hosts @@ -1,5 +1,5 @@ -[kudos] +[desktop] localhost ansible_connection=local -[pi] -10.0.1.29 ansible_user=ubuntu \ No newline at end of file +[work] +localhost ansible_connection=local diff --git a/pi.yml b/pi.yml deleted file mode 100644 index 0b723b8..0000000 --- a/pi.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- - - - hosts: pi - roles: - - docker - \ No newline at end of file diff --git a/roles/base/files/1password.repo b/roles/base/files/1password.repo new file mode 100644 index 0000000..7cbe298 --- /dev/null +++ b/roles/base/files/1password.repo @@ -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 diff --git a/roles/base/files/slack.repo b/roles/base/files/slack.repo new file mode 100644 index 0000000..ecb863f --- /dev/null +++ b/roles/base/files/slack.repo @@ -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 diff --git a/roles/base/files/vscode.repo b/roles/base/files/vscode.repo new file mode 100644 index 0000000..7efe1b6 --- /dev/null +++ b/roles/base/files/vscode.repo @@ -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 diff --git a/roles/base/tasks/main.yml b/roles/base/tasks/main.yml new file mode 100644 index 0000000..4056d98 --- /dev/null +++ b/roles/base/tasks/main.yml @@ -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 diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml deleted file mode 100644 index d4b8aa3..0000000 --- a/roles/common/tasks/main.yml +++ /dev/null @@ -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 diff --git a/roles/common/templates/plexamp.desktop.j2 b/roles/common/templates/plexamp.desktop.j2 deleted file mode 100644 index 2126173..0000000 --- a/roles/common/templates/plexamp.desktop.j2 +++ /dev/null @@ -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 diff --git a/roles/common/templates/plexmediaplayer.desktop.j2 b/roles/common/templates/plexmediaplayer.desktop.j2 deleted file mode 100644 index 37d8a52..0000000 --- a/roles/common/templates/plexmediaplayer.desktop.j2 +++ /dev/null @@ -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 diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 3eae6d5..1f7bd25 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -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: diff --git a/roles/firefox_dev/files/firefox-dev.desktop b/roles/firefox_dev/files/firefox-dev.desktop new file mode 100644 index 0000000..c77e439 --- /dev/null +++ b/roles/firefox_dev/files/firefox-dev.desktop @@ -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 \ No newline at end of file diff --git a/roles/firefox_dev/tasks/main.yml b/roles/firefox_dev/tasks/main.yml new file mode 100644 index 0000000..61e81b2 --- /dev/null +++ b/roles/firefox_dev/tasks/main.yml @@ -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 diff --git a/roles/globalprotect/tasks/main.yml b/roles/globalprotect/tasks/main.yml new file mode 100644 index 0000000..d3d827b --- /dev/null +++ b/roles/globalprotect/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/roles/gnome/tasks/main.yml b/roles/gnome/tasks/main.yml new file mode 100644 index 0000000..029e7c8 --- /dev/null +++ b/roles/gnome/tasks/main.yml @@ -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 diff --git a/roles/luminance/tasks/main.yml b/roles/luminance/tasks/main.yml deleted file mode 100644 index 3c5888d..0000000 --- a/roles/luminance/tasks/main.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/roles/scream/files/scream.service b/roles/scream/files/scream.service new file mode 100644 index 0000000..dabc844 --- /dev/null +++ b/roles/scream/files/scream.service @@ -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 \ No newline at end of file diff --git a/roles/scream/tasks/main.yml b/roles/scream/tasks/main.yml new file mode 100644 index 0000000..0d89589 --- /dev/null +++ b/roles/scream/tasks/main.yml @@ -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 diff --git a/roles/streamdeck/tasks/main.yml b/roles/streamdeck/tasks/main.yml index 15500dc..d4272d6 100644 --- a/roles/streamdeck/tasks/main.yml +++ b/roles/streamdeck/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/roles/tailscale/handlers/main.yml b/roles/tailscale/handlers/main.yml new file mode 100644 index 0000000..a165004 --- /dev/null +++ b/roles/tailscale/handlers/main.yml @@ -0,0 +1,7 @@ +--- +- name: enable tailscaled + service: + name: tailscaled + state: started + enabled: yes + become: yes diff --git a/roles/tailscale/tasks/main.yml b/roles/tailscale/tasks/main.yml new file mode 100644 index 0000000..aeb4176 --- /dev/null +++ b/roles/tailscale/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/roles/users/tasks/main.yml b/roles/users/tasks/main.yml index 9cf9a36..7c03a7a 100644 --- a/roles/users/tasks/main.yml +++ b/roles/users/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/roles/virtualhere/files/config.ini b/roles/virtualhere/files/config.ini new file mode 100644 index 0000000..49647b3 --- /dev/null +++ b/roles/virtualhere/files/config.ini @@ -0,0 +1,4 @@ +It=1612256810 +EasyFindId=NnL1bKU8y9cMhUFhNzxNQA +EasyFindPin=2vTMJN +License=100426f0-7de4-ae8e-e7e1-244bfec823db,0,MCACDi8rVnEa6oduIXJBZNAEAg5o/Fp6R7Njxf5D4uN0Bw== \ No newline at end of file diff --git a/roles/virtualhere/files/virtualhere.service b/roles/virtualhere/files/virtualhere.service new file mode 100644 index 0000000..7fbd88c --- /dev/null +++ b/roles/virtualhere/files/virtualhere.service @@ -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 \ No newline at end of file diff --git a/roles/virtualhere/handlers/main.yml b/roles/virtualhere/handlers/main.yml new file mode 100644 index 0000000..f20a931 --- /dev/null +++ b/roles/virtualhere/handlers/main.yml @@ -0,0 +1,8 @@ +--- + - name: enable virtualhere + service: + name: virtualhere + state: started + enabled: yes + become: yes + \ No newline at end of file diff --git a/roles/virtualhere/tasks/main.yml b/roles/virtualhere/tasks/main.yml new file mode 100644 index 0000000..c384e40 --- /dev/null +++ b/roles/virtualhere/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/roles/vm/tasks/main.yml b/roles/vm/tasks/main.yml index ee07123..acf1693 100644 --- a/roles/vm/tasks/main.yml +++ b/roles/vm/tasks/main.yml @@ -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 diff --git a/roles/vm/templates/kvm.conf.j2 b/roles/vm/templates/kvm.conf.j2 index 07af887..b468d55 100644 --- a/roles/vm/templates/kvm.conf.j2 +++ b/roles/vm/templates/kvm.conf.j2 @@ -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 \ No newline at end of file diff --git a/roles/work/tasks/main.yml b/roles/work/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/tasks.sh b/tasks.sh deleted file mode 100644 index 19c7834..0000000 --- a/tasks.sh +++ /dev/null @@ -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