From 915fc2e5c7bf32654ec236b202e7eea16cd4a3d9 Mon Sep 17 00:00:00 2001 From: "Andrew R. M" Date: Tue, 18 Apr 2023 19:37:38 -0400 Subject: [PATCH] In progress work --- Vagrantfile | 34 ++++++++++++++++++++-------- kde-automation-notes.md | 26 +++++++++++++++++++++ provisioners/install-apt-packages.sh | 1 + provisioners/install-firefox.sh | 20 ++++++++++++++++ provisioners/install-kde-minimal.sh | 19 ++++++++++++++++ provisioners/install-nix.sh | 0 6 files changed, 91 insertions(+), 9 deletions(-) mode change 100644 => 100755 Vagrantfile create mode 100755 kde-automation-notes.md mode change 100644 => 100755 provisioners/install-apt-packages.sh create mode 100755 provisioners/install-firefox.sh create mode 100755 provisioners/install-kde-minimal.sh mode change 100644 => 100755 provisioners/install-nix.sh diff --git a/Vagrantfile b/Vagrantfile old mode 100644 new mode 100755 index 3f8cd2d..6365a40 --- a/Vagrantfile +++ b/Vagrantfile @@ -22,7 +22,7 @@ gui_enabled = ENV['VAGRANT_GUI'] || true # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure("2") do |config| - config.vm.box = "ubuntu/focal64" + config.vm.box = "ubuntu/jammy64" # Disable automatic box update checking. If you disable this, then # boxes will only be checked for updates when the user runs @@ -47,9 +47,19 @@ Vagrant.configure("2") do |config| vb.gui = gui_enabled if gui_enabled vb.customize ["modifyvm", :id, "--monitorcount", (ENV['VAGRANT_MONITORS'] || '1')] - vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxsvga"] - vb.customize ["modifyvm", :id, "--vram", "128"] + + vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"] + vb.customize ["modifyvm", :id, "--vram", "256"] + vb.customize ["modifyvm", :id, "--accelerate3d", "on"] + vb.customize ["modifyvm", :id, "--accelerate2dvideo", "on"] + + # Clipboard sharing + vb.customize ["modifyvm", :id, "--clipboard", "bidirectional"] + end + + # Use hosts DNS resolver + vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] end config.vm.define "default", primary: true do |primary| @@ -58,9 +68,19 @@ Vagrant.configure("2") do |config| config.vm.define "test", autostart: false do |test| end + # Update apt and install custom specified packages config.vm.provision :shell, - name: "Install Minimal XFCE", - path: "provisioners/install-xfce-minimal.sh" \ + name: "Install APT Packages", + path: "provisioners/install-apt-packages.sh" + + # config.vm.provision :shell, + # name: "Install Minimal XFCE", + # path: "provisioners/install-xfce-minimal.sh" \ + # if gui_enabled + + config.vm.provision :shell, + name: "Install Minimal KDE", + path: "provisioners/install-kde-minimal.sh" \ if gui_enabled config.vm.provision :shell, @@ -68,10 +88,6 @@ Vagrant.configure("2") do |config| path: "provisioners/install-nix.sh", privileged: false - config.vm.provision :shell, - name: "Install APT Packages", - path: "provisioners/install-apt-packages.sh" - config.vm.provision :shell, name: "Cleanup tasks", inline: <<~SHELLEND diff --git a/kde-automation-notes.md b/kde-automation-notes.md new file mode 100755 index 0000000..79e928d --- /dev/null +++ b/kde-automation-notes.md @@ -0,0 +1,26 @@ +Most of the settings in the Settings panel can be managed with kwriteconfig5 + +Example: + +/usr/bin/kwriteconfig5 --file "/home/douge/.config/kwinrc" --group "TouchEdges" --key "Bottom" "None" + +or + +/usr/bin/kwriteconfig5 --file "/home/douge/.config/plasmarc" --group "KDE" --key "name" "breeze-dark" + +You have to know where the config item is stored and what it's named. Some of the application settings are stored in other files that can be manipulated with dconf. + +I really had to experiment to see what settings modified what files and how that setting was set. It was trial and error, checking what files were updated when I changed a setting by sorting files in ~/.config by changed date and then looking at that file. + +--- + +https://gist.github.com/Zren/d39728991f854c0a5a6a7f7b70d4444a + +--- + +https://zren.github.io/kde/ + +--- + +kwriteconfig5 +kreadconfig5 diff --git a/provisioners/install-apt-packages.sh b/provisioners/install-apt-packages.sh old mode 100644 new mode 100755 index 3439070..2b8feeb --- a/provisioners/install-apt-packages.sh +++ b/provisioners/install-apt-packages.sh @@ -23,6 +23,7 @@ apt_packages=( install_apt_packages() { export DEBIAN_FRONTEND="noninteractive" + apt-get update if [ "${apt_packages[*]}" ]; then apt-get -qy install "${apt_packages[@]}" fi diff --git a/provisioners/install-firefox.sh b/provisioners/install-firefox.sh new file mode 100755 index 0000000..531f054 --- /dev/null +++ b/provisioners/install-firefox.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Install firefox as a deb instead of a snap +# Reference: https://askubuntu.com/questions/1399383/how-to-install-firefox-as-a-traditional-deb-package-without-snap-in-ubuntu-22 + +add-apt-repository ppa:mozillateam/ppa + +echo ' +Package: * +Pin: release o=LP-PPA-mozillateam +Pin-Priority: 1001 + +Package: firefox +Pin: version 1:1snap1-0ubuntu2 +Pin-Priority: -1 +' | tee /etc/apt/preferences.d/mozilla-firefox + +snap remove firefox +apt install firefox + +echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox diff --git a/provisioners/install-kde-minimal.sh b/provisioners/install-kde-minimal.sh new file mode 100755 index 0000000..3288102 --- /dev/null +++ b/provisioners/install-kde-minimal.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# Ensure that no interactive prompts are used +export DEBIAN_FRONTEND=noninteractive + +# Additional pacakges to ensure a nice experience +additional_packages=( + konsole + #firefox + pinentry-gtk2 + pinentry-qt + policykit-desktop-privileges +) +apt-get install -qy "${additional_packages[@]}" || exit 1 + +# Install a minimal kubuntu desktop +# apt-get install --no-install-recommends -qy sddm || exit 1 +# apt-get install --no-install-recommends -qy kubuntu-desktop || exit 1 +apt-get install -qy kubuntu-desktop || exit 1 diff --git a/provisioners/install-nix.sh b/provisioners/install-nix.sh old mode 100644 new mode 100755