From b6e820570f88f03879e19f1dadae272c15a91c8d Mon Sep 17 00:00:00 2001 From: Hyperling Date: Mon, 16 Jun 2025 18:01:41 -0600 Subject: [PATCH 01/54] Allow re-expanding the filename in a consistent way so it's not one big number. --- files/scripts/compress_image.sh | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/files/scripts/compress_image.sh b/files/scripts/compress_image.sh index 66d897c..af14362 100755 --- a/files/scripts/compress_image.sh +++ b/files/scripts/compress_image.sh @@ -60,7 +60,8 @@ while getopts ":s:l:rfFdcAhx" opt; do F) super_force="Y" ;; d) delete="Y" ;; c) clean="Y" ;; - A) recurse="Y" && search="find" && force="Y" && delete="Y" && clean="Y" ;; + e) expand="Y" ;; + A) recurse="Y" && search="find" && force="Y" && delete="Y" && expand="Y" ;; h) usage 0 ;; x) set -x ;; *) echo "ERROR: Option $OPTARG not recognized." >&2 && usage 1 ;; @@ -123,13 +124,31 @@ $search "$location" | sort | while read image; do new_image_clean="${new_image_clean//-/}" new_image_clean="${new_image_clean// /}" - # Add directory back to the full path. + ## Expanded Filename ## + # Add back in the dashes so that the year, month, date, and time are exposed. + TEMP="$new_image_clean" + # Date Data + new_image_exp="${TEMP:0:4}-${TEMP:4:2}-${TEMP:6:2}" + # Time Data + new_image_exp="${new_image_exp}_${TEMP:8:2}-${TEMP:10:2}-${TEMP:12:2}" + # Remainder Data + if [[ "${TEMP:14:1}" == "." ]]; then + SEP="" + else + SEP="_" + fi + new_image_exp="${new_image_exp}${SEP}${TEMP:14}" + unset TEMP SEP + + # Add directory back to the full paths. new_image_clean="$image_dirname/$new_image_clean" + new_image_exp="$image_dirname/$new_image_exp" # Delete the existing shrunk image if we are forcing a new compression. - if [[ -n "$force" && (-e "$new_image" || -e $new_image_clean) ]]; then + if [[ -n "$force" && + (-e "$new_image" || -e $new_image_clean || -e $new_image_exp ) ]]; then echo -n " FORCE: " - rm -v "$new_image" "$new_image_clean" 2>/dev/null + rm -v "$new_image" "$new_image_clean" "$new_image_exp" 2>/dev/null fi # Skip if a compressed image was already created today. @@ -138,10 +157,14 @@ $search "$location" | sort | while read image; do continue fi - # Whether or not to use the cleaned version or the normal version. + # Whether or not to use the cleaned version. if [[ -n $clean ]]; then new_image="$new_image_clean" + # Whether or not to use the expanded version. + elif [[ -n $expand ]]; then + new_image="$new_image_exp" fi + # Otherwise uses the same name as before. ###### TBD Instead of this, only alter the file names, and set a dirname var? #### Create a new directory if the directory names were altered. From 116087928dfc2ddae719510b286529616d5f5073 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Mon, 16 Jun 2025 18:01:59 -0600 Subject: [PATCH 02/54] Strip metadata from converted images. --- files/scripts/compress_image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/scripts/compress_image.sh b/files/scripts/compress_image.sh index af14362..7b48afb 100755 --- a/files/scripts/compress_image.sh +++ b/files/scripts/compress_image.sh @@ -75,7 +75,7 @@ if [[ -n "$in_size" && "$size" != "$in_size" ]]; then usage 1 fi -convert_exe="`which convert`" +convert_exe="`which convert` -strip" if [[ "$convert_exe" == "" ]]; then echo "ERROR: 'convert' command could not be found, " echo "please install 'imagemagick'." From 1db8c0b7b082f75d3e9efcb1508e8e3ed1241a0d Mon Sep 17 00:00:00 2001 From: Hyperling Date: Mon, 16 Jun 2025 18:07:23 -0600 Subject: [PATCH 03/54] Fix tabs in usage to spaces. --- files/scripts/compress_video.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/files/scripts/compress_video.sh b/files/scripts/compress_video.sh index 4d14a04..280b833 100755 --- a/files/scripts/compress_video.sh +++ b/files/scripts/compress_video.sh @@ -33,13 +33,13 @@ function usage { If nothing is provided, current directory (.) is assumed. -v bitrate : The video bitrate to convert to. Defaults are based on the size passed. - >= 2160: '30M' - >= 1440: '12M' - >= 1080: '5M' - >= 720: '2000k' - >= 480: '750k' - >= 360: '250k' - < 360: '100k' + >= 2160: '30M' + >= 1440: '12M' + >= 1080: '5M' + >= 720: '2000k' + >= 480: '750k' + >= 360: '250k' + < 360: '100k' -a bitrate : The audio bitrate to convert to. Defaults to '192k'. -c vcodec : The video codec you'd like to use, such as libopenh264. From f3cb825981d39e02b2f7c8926e1341951e104077 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Fri, 11 Jul 2025 12:20:10 -0700 Subject: [PATCH 04/54] Add project to current projects. --- tasks/general/acct_mgmt/users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index c41d31f..27ed043 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -573,6 +573,7 @@ nodejs-social-traveler-server dev misc-spare-change main flutter-buddy-website dev + flutter-sunset-alarm dev EOF } function code-reseed { From 42306e4287484d1df8ea1267d4aabe82c92bb342 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Fri, 11 Jul 2025 12:24:04 -0700 Subject: [PATCH 05/54] Add code-sync to do code-check since that's usually why the command is called. --- tasks/general/acct_mgmt/users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 27ed043..dcef879 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -547,6 +547,7 @@ done echo -e "\nDone!" ' + alias code-sync='code-check' alias_code_reset: | alias code-reset=' ls -d ~/Code/* | while read project From b6066558e75261b54081443df223ec5a223e291b Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 09:06:37 -0700 Subject: [PATCH 06/54] Add ability to leave off Night Light through Workstation provisioning file. --- tasks/general/acct_mgmt/provision_config.yml | 5 +++++ tasks/workstation/shared/settings/gnome.yml | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tasks/general/acct_mgmt/provision_config.yml b/tasks/general/acct_mgmt/provision_config.yml index b1de527..0092149 100644 --- a/tasks/general/acct_mgmt/provision_config.yml +++ b/tasks/general/acct_mgmt/provision_config.yml @@ -200,6 +200,9 @@ ; mobile : Set to true if not using an amd64 processor. ; Also used to disable tasks not helpful for Pinephone. ; + ; redmode : Set to true/false for automatially using Night Light in GNOME. + ; Default: true + ; [global] marker: '; {mark} MANAGED BY ANSIBLE | Workstation Config' state: present @@ -216,6 +219,7 @@ vnc: "{{ lookup('ini', 'vnc file={{wrk_file}} default=false') }}" bsd_gpu: "{{ lookup('ini', 'bsd_gpu file={{wrk_file}} default=false') }}" mobile: "{{ lookup('ini', 'mobile file={{wrk_file}} default=false') }}" + redmode: "{{ lookup('ini', 'redmode file={{wrk_file}} default=true' ) }}" - name: General | Account Management | Provisioning Configuration | Workstation | List set_fact: @@ -229,6 +233,7 @@ - { 'vnc': "{{ vnc }}" } - { 'bsd_gpu': "{{ bsd_gpu }}" } - { 'mobile': "{{ mobile }}" } + - { 'redmode': "{{ redmode }}" } # No longer mining, this is now considered deprecated. ### Miner ## diff --git a/tasks/workstation/shared/settings/gnome.yml b/tasks/workstation/shared/settings/gnome.yml index 9dc7169..723edd5 100644 --- a/tasks/workstation/shared/settings/gnome.yml +++ b/tasks/workstation/shared/settings/gnome.yml @@ -217,7 +217,12 @@ dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution/enable-sound-alerts false && inc_dconf && dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution/enable false && inc_dconf && - dconf write /org/gnome/settings-daemon/plugins/color/night-light-enabled true + # Red Mode (Night Light) + typeset -l redmode + redmode="{{ redmode }}" + if [[ $redmode == "true" ]]; then + dconf write /org/gnome/settings-daemon/plugins/color/night-light-enabled true + fi dconf write /org/gnome/settings-daemon/plugins/color/night-light-schedule-automatic false dconf write /org/gnome/settings-daemon/plugins/color/night-light-temperature "uint32 3170" dconf write /org/gnome/settings-daemon/plugins/color/night-light-schedule-from 2.0 From 2d9317e9de81262d198f35d9b1e7036085d29c0f Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 09:30:26 -0700 Subject: [PATCH 07/54] Add iftop and an alias to call it as a user. --- facts/general/package.yml | 1 + tasks/general/acct_mgmt/users.yml | 3 +++ tasks/general/software/packages.yml | 1 + 3 files changed, 5 insertions(+) diff --git a/facts/general/package.yml b/facts/general/package.yml index bcfd018..90cc8fa 100644 --- a/facts/general/package.yml +++ b/facts/general/package.yml @@ -6,6 +6,7 @@ set_fact: sshfs: sshfs tar: tar + iftop: iftop - name: General | Facts | Packages | Parrot OS Fixes set_fact: diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index dcef879..8b463f6 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -722,6 +722,8 @@ alias_permission_commands: | alias chown='chown -c' alias chmod='chmod -c' + alias_iftop: | + alias iftop='sudo iftop' - name: General | Account Management | Users | Files | Common Variable set_fact: @@ -785,6 +787,7 @@ {{ function_update_sdks }} {{ function_ansible_vars }} {{ alias_permission_commands }} + {{ alias_iftop }} - name: General | Account Management | Users | Files | .bashrc blockinfile: diff --git a/tasks/general/software/packages.yml b/tasks/general/software/packages.yml index 9c78d63..01c6f49 100644 --- a/tasks/general/software/packages.yml +++ b/tasks/general/software/packages.yml @@ -56,6 +56,7 @@ - "{{ cron }}" - "{{ encfs }}" - rsync + - "{{ iftop }}" state: present - name: General | Software | Packages | Install Software (DEV) From 8033efce9300a66813244e123b5dd35b6fb93a3c Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 09:43:35 -0700 Subject: [PATCH 08/54] Add hostname to Flutter report. --- tasks/workstation/linux/software/flutter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/workstation/linux/software/flutter.yml b/tasks/workstation/linux/software/flutter.yml index dba5551..55d13a6 100644 --- a/tasks/workstation/linux/software/flutter.yml +++ b/tasks/workstation/linux/software/flutter.yml @@ -8,7 +8,7 @@ flutter_url: "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.27.2-stable.tar.xz" flutter_download_file: "{{ user_user.home }}/Downloads/flutter.tar.xz" flutter_sdk_location: "{{ user_user.home }}/SDKs/Flutter" - flutter_report: "{{ user_user.home }}/Reports/flutter.txt" + flutter_report: "{{ user_user.home }}/Reports/{{ ansible_hostname }}.flutter.txt" when: coding == true - name: Workstation | Linux | Software | Flutter | Facts [2/4] From de9c886af2cb88d356932f97ab05b71e56f2761b Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 10:35:32 -0700 Subject: [PATCH 09/54] Add the UPDATE field to ensure that the repo gets any updates. Change YES's to TRUE based on documentation. --- tasks/general/tests/lynis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tasks/general/tests/lynis.yml b/tasks/general/tests/lynis.yml index 4923594..bf78817 100644 --- a/tasks/general/tests/lynis.yml +++ b/tasks/general/tests/lynis.yml @@ -13,8 +13,9 @@ git: repo: https://github.com/CISOfy/lynis dest: "{{ lynis_install_dir }}" - clone: yes - force: yes + clone: true + force: true + update: true ignore_errors: yes - name: General | Tests | Lynis | Ensure Permissions (Looking at you Parrot OS!) From 0d72bc1ea91f6a2db7955df5565d40aa6fa8e06e Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 10:52:01 -0700 Subject: [PATCH 10/54] Move from Android 34+35 to 35+36. Add task for removal of old versions. Add report of installed modules. --- tasks/workstation/linux/software/android.yml | 45 ++++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/tasks/workstation/linux/software/android.yml b/tasks/workstation/linux/software/android.yml index 6daaf98..51618b6 100644 --- a/tasks/workstation/linux/software/android.yml +++ b/tasks/workstation/linux/software/android.yml @@ -17,6 +17,7 @@ android_url: "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" android_download_file: "{{ user_user.home }}/Downloads/android-cmdline-tools.tar.xz" android_sdk_location: "{{ user_user.home }}/SDKs/Android/Sdk" + android_report_file: "{{ user_user.home }}/Reports/{{ ansible_hostname }}.sdk.android.txt" - name: Workstation | Linux | Software | Android | Facts [2/3] set_fact: @@ -125,22 +126,48 @@ - name: Workstation | Linux | Software | Android | Install Modules shell: "yes | {{ android_sdkmanager_final }} --install '{{ item }}' --sdk_root={{ android_sdk_location }}" loop: - # 34 - - build-tools;34.0.0 - - platforms;android-34 - - sources;android-34 - # 35 - - build-tools;35.0.0 + ### 36 ### + - build-tools;36.0.0 + - platforms;android-36 + - sources;android-36 + ## Images + #- system-images;android-35;default;x86_64 # Does not exist yet + #- system-images;android-36;google_apis;x86_64 # Unsure whether to use this + - system-images;android-36;google_apis_playstore;x86_64 + ### 35 ### - build-tools;35.0.1 - platforms;android-35 - sources;android-35 - # Images - #- system-images;android-35;default;x86_64 - #- system-images;android-35;aosp_atd;x86_64 + ## Images + #- system-images;android-35;default;x86_64 # Already have Store version + #- system-images;android-35;google_apis;x86_64 # Already have Store version - system-images;android-35;google_apis_playstore;x86_64 become_user: "{{ user }}" when: coding == true +# Remove any versions which used to be part of this script and no longer used. +- name: Workstation | Linux | Software | Android | Remove Modules + shell: "yes | {{ android_sdkmanager_final }} --uninstall '{{ item }}' --sdk_root={{ android_sdk_location }}" + loop: + ### 35 ### + - build-tools;35.0.0 + ## Images + - system-images;android-35;aosp_atd;x86_64 # Automated Test Device, unnecessary. + ### 34 ### + - build-tools;34.0.0 + - platforms;android-34 + - sources;android-34 + become_user: "{{ user }}" + when: coding == true + +# Report the currently installed packges. +- name: Workstation | Linux | Software | Android | Report Modules + shell: "{{ android_sdkmanager_final }} --list_installed --sdk_root={{ android_sdk_location }} > {{ android_report_file }}" + become_user: "{{ user }}" + when: coding == true + +## Flutter and Licenses ## + - name: Workstation | Linux | Software | Android | Inform Flutter shell: "{{ flutter }} config --android-sdk={{ android_sdk_location }}" become_user: "{{ user }}" From ae4967bc0451145c69409e4490a9b26e4ec19a0d Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 10:52:22 -0700 Subject: [PATCH 11/54] Add sdk to Flutter report extension. --- tasks/workstation/linux/software/flutter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/workstation/linux/software/flutter.yml b/tasks/workstation/linux/software/flutter.yml index 55d13a6..eb35f0a 100644 --- a/tasks/workstation/linux/software/flutter.yml +++ b/tasks/workstation/linux/software/flutter.yml @@ -8,7 +8,7 @@ flutter_url: "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.27.2-stable.tar.xz" flutter_download_file: "{{ user_user.home }}/Downloads/flutter.tar.xz" flutter_sdk_location: "{{ user_user.home }}/SDKs/Flutter" - flutter_report: "{{ user_user.home }}/Reports/{{ ansible_hostname }}.flutter.txt" + flutter_report: "{{ user_user.home }}/Reports/{{ ansible_hostname }}.sdk.flutter.txt" when: coding == true - name: Workstation | Linux | Software | Flutter | Facts [2/4] From 1ab1594f6cafeea0833d04b1fe1825e5deb3ab93 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 12:49:09 -0700 Subject: [PATCH 12/54] Add the default image so that degoogled emulators can be tested. --- tasks/workstation/linux/software/android.yml | 45 ++++++++++++++++++-- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/tasks/workstation/linux/software/android.yml b/tasks/workstation/linux/software/android.yml index 51618b6..d787c20 100644 --- a/tasks/workstation/linux/software/android.yml +++ b/tasks/workstation/linux/software/android.yml @@ -122,6 +122,43 @@ become_user: "{{ user }}" when: coding == true and not android_sdkmanager_final_stat.stat.exists +# Regarding images to download; the `default` is the smallest, then `playstore`. +# The `google_apis` images are significantly larger than the `playstore` option. +# +# This script was used to download and test the sizes: +# +### #!/bin/bash +### +### cd /home/ling/SDKs/Android/Sdk/cmdline-tools/latest/bin +### +### # Actually to be used +### echo "35 Play Store" +### ./sdkmanager --install "system-images;android-35;google_apis_playstore;x86_64" +### echo "36 Play Store" +### ./sdkmanager --install "system-images;android-36;google_apis_playstore;x86_64" +### +### # FORTESTING file size +### echo "35 AOSP" +### ./sdkmanager --install "system-images;android-35;default;x86_64" +### echo "36 APIs Only" +### ./sdkmanager --install "system-images;android-36;google_apis;x86_64" +### echo "35 APIs Only" +### ./sdkmanager --install "system-images;android-35;google_apis;x86_64" +### +### exit 0 +# +# These were the results: +# +### ~/SDKs/Android/Sdk/system-images]$ du -had2 | sort -h +### 1.7G ./android-35/default +### 2.2G ./android-35/google_apis_playstore +### 2.3G ./android-36/google_apis_playstore +### 3.5G ./android-35/google_apis +### 4.3G ./android-36/google_apis +### 6.6G ./android-36 +### 7.3G ./android-35 +### 14G . + # These are safe to run multiple times, and uses the new `latest` version. - name: Workstation | Linux | Software | Android | Install Modules shell: "yes | {{ android_sdkmanager_final }} --install '{{ item }}' --sdk_root={{ android_sdk_location }}" @@ -132,15 +169,13 @@ - sources;android-36 ## Images #- system-images;android-35;default;x86_64 # Does not exist yet - #- system-images;android-36;google_apis;x86_64 # Unsure whether to use this - system-images;android-36;google_apis_playstore;x86_64 ### 35 ### - build-tools;35.0.1 - platforms;android-35 - sources;android-35 ## Images - #- system-images;android-35;default;x86_64 # Already have Store version - #- system-images;android-35;google_apis;x86_64 # Already have Store version + - system-images;android-35;default;x86_64 - system-images;android-35;google_apis_playstore;x86_64 become_user: "{{ user }}" when: coding == true @@ -149,10 +184,14 @@ - name: Workstation | Linux | Software | Android | Remove Modules shell: "yes | {{ android_sdkmanager_final }} --uninstall '{{ item }}' --sdk_root={{ android_sdk_location }}" loop: + ### 36 ### + ## Images + - system-images;android-36;google_apis;x86_64 ### 35 ### - build-tools;35.0.0 ## Images - system-images;android-35;aosp_atd;x86_64 # Automated Test Device, unnecessary. + - system-images;android-35;google_apis;x86_64 ### 34 ### - build-tools;34.0.0 - platforms;android-34 From 544519bbfab1146e32965d3cd1ef7adafd50c4e7 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 13 Jul 2025 19:43:31 -0700 Subject: [PATCH 13/54] Update Android SDKs. --- tasks/workstation/linux/software/android.yml | 32 +++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/tasks/workstation/linux/software/android.yml b/tasks/workstation/linux/software/android.yml index d787c20..5722b0e 100644 --- a/tasks/workstation/linux/software/android.yml +++ b/tasks/workstation/linux/software/android.yml @@ -167,16 +167,19 @@ - build-tools;36.0.0 - platforms;android-36 - sources;android-36 - ## Images - #- system-images;android-35;default;x86_64 # Does not exist yet + # Images + #- system-images;android-35;default;x86_64 # TODO: Switch once it exists. - system-images;android-36;google_apis_playstore;x86_64 ### 35 ### - - build-tools;35.0.1 - platforms;android-35 - sources;android-35 - ## Images + # Images - system-images;android-35;default;x86_64 - - system-images;android-35;google_apis_playstore;x86_64 + ### 16 ### + - platforms;android-16 + - sources;android-16 + # Images + - system-images;android-16;default;x86 become_user: "{{ user }}" when: coding == true @@ -185,17 +188,30 @@ shell: "yes | {{ android_sdkmanager_final }} --uninstall '{{ item }}' --sdk_root={{ android_sdk_location }}" loop: ### 36 ### - ## Images + # Images - system-images;android-36;google_apis;x86_64 ### 35 ### - build-tools;35.0.0 - ## Images - - system-images;android-35;aosp_atd;x86_64 # Automated Test Device, unnecessary. + - build-tools;35.0.1 + # Images + - system-images;android-35;aosp_atd;x86_64 # ATD = Automated Test Device - system-images;android-35;google_apis;x86_64 + - system-images;android-35;google_apis_playstore;x86_64 ### 34 ### - build-tools;34.0.0 - platforms;android-34 - sources;android-34 + # Images + - system-images;android-34;google_apis;x86_64 + - system-images;android-34;google_apis_playstore;x86_64 + ### 16 ### + # Images + - system-images;android-16;google_apis;x86 + ### 15 ### + - platforms;android-15 + - sources;android-15 + # Images + - system-images;android-15;default;x86 # Not working in Android AVDs become_user: "{{ user }}" when: coding == true From 5c8eb77f954963b9563144b7a9f0f8537216a225 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 17 Jul 2025 09:39:24 -0700 Subject: [PATCH 14/54] Add aliases for `ls` and `ps`. --- tasks/general/acct_mgmt/users.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 8b463f6..a199cc0 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -724,6 +724,11 @@ alias chmod='chmod -c' alias_iftop: | alias iftop='sudo iftop' + alias_ls: | + alias l='ls' + alias ll='ls -alh' + alias_progs: | + alias progs='ps -ef' - name: General | Account Management | Users | Files | Common Variable set_fact: @@ -788,6 +793,8 @@ {{ function_ansible_vars }} {{ alias_permission_commands }} {{ alias_iftop }} + {{ alias_ls }} + {{ alias_progs }} - name: General | Account Management | Users | Files | .bashrc blockinfile: From 6d4ac9bb69d7dd3e945aa08b34ec9281fb61829a Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 17 Jul 2025 09:39:51 -0700 Subject: [PATCH 15/54] Allow the moving of `apt` resources to fail. --- tasks/general/software/metasploit.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tasks/general/software/metasploit.yml b/tasks/general/software/metasploit.yml index f9d56a7..6180151 100644 --- a/tasks/general/software/metasploit.yml +++ b/tasks/general/software/metasploit.yml @@ -6,10 +6,18 @@ metasploit_installer: msfinstall when: ansible_system in ("Linux", "Darwin") -- name: General | Software | Metasploit | Install +- name: General | Software | Metasploit | Refresh Apt Files shell: "{{ item }}" loop: - "mv -fv /usr/share/keyrings/metasploit-framework.gpg /usr/share/keyrings/metasploit-framework.gpg.old" + - "mv -fv /etc/apt/sources.list.d/metasploit-framework.list /etc/apt/sources.list.d/metasploit-framework.list.old" + #- 'echo "deb [signed-by=/usr/share/keyrings/metasploit-framework.gpg] https://downloads.metasploit.com/data/releases/metasploit-framework/apt $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/metasploit-framework.list' + when: ansible_system in ("Linux") + ignore_errors: true + +- name: General | Software | Metasploit | Install + shell: "{{ item }}" + loop: - "curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > {{ metasploit_installer }}" - "chmod 755 {{ metasploit_installer }}" - "mkdir -p {{ global_bin }}" From b203eab7b503cbb027e7d59ce8976bed18d6d87e Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 17 Jul 2025 09:52:29 -0700 Subject: [PATCH 16/54] Also refresh the preferences file. --- tasks/general/software/metasploit.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/general/software/metasploit.yml b/tasks/general/software/metasploit.yml index 6180151..a489c8e 100644 --- a/tasks/general/software/metasploit.yml +++ b/tasks/general/software/metasploit.yml @@ -11,7 +11,7 @@ loop: - "mv -fv /usr/share/keyrings/metasploit-framework.gpg /usr/share/keyrings/metasploit-framework.gpg.old" - "mv -fv /etc/apt/sources.list.d/metasploit-framework.list /etc/apt/sources.list.d/metasploit-framework.list.old" - #- 'echo "deb [signed-by=/usr/share/keyrings/metasploit-framework.gpg] https://downloads.metasploit.com/data/releases/metasploit-framework/apt $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/metasploit-framework.list' + - "mv -fv /etc/apt/preferences.d/pin-metasploit.pref /etc/apt/preferences.d/pin-metasploit.pref.old" when: ansible_system in ("Linux") ignore_errors: true @@ -22,5 +22,5 @@ - "chmod 755 {{ metasploit_installer }}" - "mkdir -p {{ global_bin }}" - "mv -fv ./msfinstall {{ global_bin }}/{{ metasploit_installer }}" - - "{{ global_bin }}/{{ metasploit_installer }}" + - yes y | "{{ global_bin }}/{{ metasploit_installer }}" when: ansible_system in ("Linux", "Darwin") From a7e1d0d25a1a7f4f031ee012be38f3edd80ea223 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 17 Jul 2025 14:06:05 -0700 Subject: [PATCH 17/54] Move old files somewhere that they'll get purged and not cause warnings. --- tasks/general/software/metasploit.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tasks/general/software/metasploit.yml b/tasks/general/software/metasploit.yml index a489c8e..f2884f3 100644 --- a/tasks/general/software/metasploit.yml +++ b/tasks/general/software/metasploit.yml @@ -9,9 +9,10 @@ - name: General | Software | Metasploit | Refresh Apt Files shell: "{{ item }}" loop: - - "mv -fv /usr/share/keyrings/metasploit-framework.gpg /usr/share/keyrings/metasploit-framework.gpg.old" - - "mv -fv /etc/apt/sources.list.d/metasploit-framework.list /etc/apt/sources.list.d/metasploit-framework.list.old" - - "mv -fv /etc/apt/preferences.d/pin-metasploit.pref /etc/apt/preferences.d/pin-metasploit.pref.old" + - "mkdir -p /tmp/apt/" + - "mv -fv /usr/share/keyrings/metasploit-framework.gpg /tmp/apt/metasploit-framework.gpg.old" + - "mv -fv /etc/apt/sources.list.d/metasploit-framework.list /tmp/apt/metasploit-framework.list.old" + - "mv -fv /etc/apt/preferences.d/pin-metasploit.pref /tmp/apt/pin-metasploit.pref.old" when: ansible_system in ("Linux") ignore_errors: true From a15e0017a65d94cc984a01e594293834cc640587 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 22 Jul 2025 10:03:02 -0700 Subject: [PATCH 18/54] Add nethogs and chrony to package list. --- facts/general/package.yml | 2 ++ tasks/general/software/packages.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/facts/general/package.yml b/facts/general/package.yml index 90cc8fa..be1f387 100644 --- a/facts/general/package.yml +++ b/facts/general/package.yml @@ -7,6 +7,8 @@ sshfs: sshfs tar: tar iftop: iftop + nethogs: nethogs + ntp_server: chrony - name: General | Facts | Packages | Parrot OS Fixes set_fact: diff --git a/tasks/general/software/packages.yml b/tasks/general/software/packages.yml index 01c6f49..d1b271d 100644 --- a/tasks/general/software/packages.yml +++ b/tasks/general/software/packages.yml @@ -57,6 +57,8 @@ - "{{ encfs }}" - rsync - "{{ iftop }}" + - "{{ nethogs }}" + - "{{ ntp_server }}" state: present - name: General | Software | Packages | Install Software (DEV) From 23b16f5db4faedbb82df5787136a1a5cb25675e6 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 22 Jul 2025 10:03:12 -0700 Subject: [PATCH 19/54] Enable and start chrony service. --- tasks/general/software/services.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tasks/general/software/services.yml b/tasks/general/software/services.yml index 43e3ffc..4c831e3 100644 --- a/tasks/general/software/services.yml +++ b/tasks/general/software/services.yml @@ -96,3 +96,12 @@ state: stopped enabled: no ignore_errors: yes + +## NTP ## + +- name: General | Software | Services | NTP | Enable + service: + name: "{{ ntp_server }}" + pattern: "{{ ntp_server }}" + state: started + enabled: yes From 57f14fed8d30d727f8dc2c378d9e0e993300c01e Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 22 Jul 2025 16:19:09 -0700 Subject: [PATCH 20/54] Add alias for nethogs so that base user can hit it. --- tasks/general/acct_mgmt/users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index a199cc0..fb775f5 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -729,6 +729,8 @@ alias ll='ls -alh' alias_progs: | alias progs='ps -ef' + alias_nethogs: | + alias nethogs='sudo nethogs' - name: General | Account Management | Users | Files | Common Variable set_fact: @@ -795,6 +797,7 @@ {{ alias_iftop }} {{ alias_ls }} {{ alias_progs }} + {{ alias_nethogs }} - name: General | Account Management | Users | Files | .bashrc blockinfile: From dfe0b26498a90bccfe7079fb0a114152d60bd19e Mon Sep 17 00:00:00 2001 From: Hyperling Date: Wed, 23 Jul 2025 06:44:35 -0700 Subject: [PATCH 21/54] Add more Android versions for testing. Only download them on devices marked for additional sdks. Move the lists into facts so that they can be reused. Add uninstallation tasks. --- tasks/general/acct_mgmt/provision_config.yml | 3 + tasks/workstation/linux/software/android.yml | 215 +++++++++++-------- 2 files changed, 133 insertions(+), 85 deletions(-) diff --git a/tasks/general/acct_mgmt/provision_config.yml b/tasks/general/acct_mgmt/provision_config.yml index 0092149..d24efac 100644 --- a/tasks/general/acct_mgmt/provision_config.yml +++ b/tasks/general/acct_mgmt/provision_config.yml @@ -179,6 +179,7 @@ ; enable : Set to true for system to be considered a workstation. ; ; coding : Set to true for installation of code editors (VSCode, PyCharm, Android Studio) + ; - sdks : Set to true to download additional SDKs to test against. ; ; editing : Set to true for installation of Audio/Video editors (Shotcut, Audacity, OBS Stdio, GIMP) ; Set to video for only the video related portions. @@ -213,6 +214,7 @@ set_fact: workstation: "{{ lookup('ini', 'enable file={{wrk_file}} default=false') }}" coding: "{{ lookup('ini', 'coding file={{wrk_file}} default=false') }}" + sdks: "{{ lookup('ini', 'sdks file={{wrk_file}} default=false') }}" editing: "{{ lookup('ini', 'editing file={{wrk_file}} default=false') }}" gaming: "{{ lookup('ini', 'gaming file={{wrk_file}} default=false') }}" rdp: "{{ lookup('ini', 'rdp file={{wrk_file}} default=false') }}" @@ -227,6 +229,7 @@ loop: - { 'workstation': "{{ workstation }}" } - { 'coding': "{{ coding }}" } + - { 'sdks': "{{ sdks }}" } - { 'editing': "{{ editing }}" } - { 'gaming': "{{ gaming }}" } - { 'rdp': "{{ rdp }}" } diff --git a/tasks/workstation/linux/software/android.yml b/tasks/workstation/linux/software/android.yml index 5722b0e..a26b28d 100644 --- a/tasks/workstation/linux/software/android.yml +++ b/tasks/workstation/linux/software/android.yml @@ -30,6 +30,116 @@ android_sdkmanager_temp: "{{ android_sdk_cmdline_temp }}/cmdline-tools/bin/sdkmanager" android_sdkmanager_final: "{{ android_sdk_cmdline_final }}/sdkmanager" +# Regarding images to download; the `default` is the smallest, then `playstore`. +# The `google_apis` images are significantly larger than the `playstore` option. +# +# This script was used to download and test the sizes: +# +### #!/bin/bash +### +### cd /home/ling/SDKs/Android/Sdk/cmdline-tools/latest/bin +### +### # Actually to be used +### echo "35 Play Store" +### ./sdkmanager --install "system-images;android-35;google_apis_playstore;x86_64" +### echo "36 Play Store" +### ./sdkmanager --install "system-images;android-36;google_apis_playstore;x86_64" +### +### # FORTESTING file size +### echo "35 AOSP" +### ./sdkmanager --install "system-images;android-35;default;x86_64" +### echo "36 APIs Only" +### ./sdkmanager --install "system-images;android-36;google_apis;x86_64" +### echo "35 APIs Only" +### ./sdkmanager --install "system-images;android-35;google_apis;x86_64" +### +### exit 0 +# +# These were the results: +# +### ~/SDKs/Android/Sdk/system-images]$ du -had2 | sort -h +### 1.7G ./android-35/default +### 2.2G ./android-35/google_apis_playstore +### 2.3G ./android-36/google_apis_playstore +### 3.5G ./android-35/google_apis +### 4.3G ./android-36/google_apis +### 6.6G ./android-36 +### 7.3G ./android-35 +### 14G . + +- name: Workstation | Linux | Software | Android | Facts [Downloads] + set_fact: + android_downloads_required: + ### 36 ### + - build-tools;36.0.0 + - platforms;android-36 + - sources;android-36 + # Images + #- system-images;android-35;default;x86_64 # TODO: Switch once it exists. + - system-images;android-36;google_apis_playstore;x86_64 + ### 16 ### + - platforms;android-16 + - sources;android-16 + # Images + - system-images;android-16;default;x86 + android_downloads_additional: + ### 35 ### + - platforms;android-35 + - sources;android-35 + # Images + - system-images;android-35;default;x86_64 + ### 34 ### + - platforms;android-34 + - sources;android-34 + # Images + - system-images;android-34;default;x86_64 + ### 33 ### + - platforms;android-33 + - sources;android-33 + # Images + - system-images;android-33;default;x86_64 + ### 30 ### + - platforms;android-30 + - sources;android-30 + # Images + - system-images;android-30;default;x86_64 + ### 27 ### + - platforms;android-27 + - sources;android-27 + # Images + - system-images;android-27;default;x86_64 + ### 21 ### + - platforms;android-21 + - sources;android-21 + # Images + - system-images;android-21;default;x86_64 + android_downloads_unused: + ### 36 ### + # Images + - system-images;android-36;google_apis;x86_64 + ### 35 ### + - build-tools;35.0.0 + - build-tools;35.0.1 + # Images + - system-images;android-35;aosp_atd;x86_64 # ATD = Automated Test Device + - system-images;android-35;google_apis;x86_64 + - system-images;android-35;google_apis_playstore;x86_64 + ### 34 ### + - build-tools;34.0.0 + - platforms;android-34 + - sources;android-34 + # Images + - system-images;android-34;google_apis;x86_64 + - system-images;android-34;google_apis_playstore;x86_64 + ### 16 ### + # Images + - system-images;android-16;google_apis;x86 + ### 15 ### + - platforms;android-15 + - sources;android-15 + # Images + - system-images;android-15;default;x86 # Not working in Android AVDs + ## Checks ## - name: Workstation | Linux | Software | Android | Check SDK Manager Exists [1/2] @@ -112,7 +222,7 @@ ## Configure Modules ## # This can only be run once, otherwise cmdline-tools creates latest-* folders. -- name: Workstation | Linux | Software | Android | Install Consistent Modules +- name: Workstation | Linux | Software | Android | Install | Consistent Modules shell: "yes | {{ android_sdkmanager_temp }} --install '{{ item }}' --sdk_root={{ android_sdk_location }}" loop: # Current @@ -122,96 +232,31 @@ become_user: "{{ user }}" when: coding == true and not android_sdkmanager_final_stat.stat.exists -# Regarding images to download; the `default` is the smallest, then `playstore`. -# The `google_apis` images are significantly larger than the `playstore` option. -# -# This script was used to download and test the sizes: -# -### #!/bin/bash -### -### cd /home/ling/SDKs/Android/Sdk/cmdline-tools/latest/bin -### -### # Actually to be used -### echo "35 Play Store" -### ./sdkmanager --install "system-images;android-35;google_apis_playstore;x86_64" -### echo "36 Play Store" -### ./sdkmanager --install "system-images;android-36;google_apis_playstore;x86_64" -### -### # FORTESTING file size -### echo "35 AOSP" -### ./sdkmanager --install "system-images;android-35;default;x86_64" -### echo "36 APIs Only" -### ./sdkmanager --install "system-images;android-36;google_apis;x86_64" -### echo "35 APIs Only" -### ./sdkmanager --install "system-images;android-35;google_apis;x86_64" -### -### exit 0 -# -# These were the results: -# -### ~/SDKs/Android/Sdk/system-images]$ du -had2 | sort -h -### 1.7G ./android-35/default -### 2.2G ./android-35/google_apis_playstore -### 2.3G ./android-36/google_apis_playstore -### 3.5G ./android-35/google_apis -### 4.3G ./android-36/google_apis -### 6.6G ./android-36 -### 7.3G ./android-35 -### 14G . - # These are safe to run multiple times, and uses the new `latest` version. -- name: Workstation | Linux | Software | Android | Install Modules +- name: Workstation | Linux | Software | Android | Install | Required Modules shell: "yes | {{ android_sdkmanager_final }} --install '{{ item }}' --sdk_root={{ android_sdk_location }}" - loop: - ### 36 ### - - build-tools;36.0.0 - - platforms;android-36 - - sources;android-36 - # Images - #- system-images;android-35;default;x86_64 # TODO: Switch once it exists. - - system-images;android-36;google_apis_playstore;x86_64 - ### 35 ### - - platforms;android-35 - - sources;android-35 - # Images - - system-images;android-35;default;x86_64 - ### 16 ### - - platforms;android-16 - - sources;android-16 - # Images - - system-images;android-16;default;x86 + loop: "{{ android_downloads_required }}" become_user: "{{ user }}" when: coding == true -# Remove any versions which used to be part of this script and no longer used. -- name: Workstation | Linux | Software | Android | Remove Modules +# Add more versions for testing across all the important platforms. +- name: Workstation | Linux | Software | Android | Install | Additional Modules + shell: "yes | {{ android_sdkmanager_final }} --install '{{ item }}' --sdk_root={{ android_sdk_location }}" + loop: "{{ android_downloads_additional }}" + become_user: "{{ user }}" + when: coding == true and sdks == true + +# Remove extra downloads if system is not meant for full amount of testing. +- name: Workstation | Linux | Software | Android | Uninstall | Additional Modules shell: "yes | {{ android_sdkmanager_final }} --uninstall '{{ item }}' --sdk_root={{ android_sdk_location }}" - loop: - ### 36 ### - # Images - - system-images;android-36;google_apis;x86_64 - ### 35 ### - - build-tools;35.0.0 - - build-tools;35.0.1 - # Images - - system-images;android-35;aosp_atd;x86_64 # ATD = Automated Test Device - - system-images;android-35;google_apis;x86_64 - - system-images;android-35;google_apis_playstore;x86_64 - ### 34 ### - - build-tools;34.0.0 - - platforms;android-34 - - sources;android-34 - # Images - - system-images;android-34;google_apis;x86_64 - - system-images;android-34;google_apis_playstore;x86_64 - ### 16 ### - # Images - - system-images;android-16;google_apis;x86 - ### 15 ### - - platforms;android-15 - - sources;android-15 - # Images - - system-images;android-15;default;x86 # Not working in Android AVDs + loop: "{{ android_downloads_additional }}" + become_user: "{{ user }}" + when: coding != true or sdks != true + +# Remove any versions which used to be part of this script and no longer used. +- name: Workstation | Linux | Software | Android | Uninstall | Unused Modules + shell: "yes | {{ android_sdkmanager_final }} --uninstall '{{ item }}' --sdk_root={{ android_sdk_location }}" + loop: "{{ android_downloads_unused }}" become_user: "{{ user }}" when: coding == true From 9339b590e07d661557102a21d429cba6fe6bf280 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Wed, 23 Jul 2025 06:49:43 -0700 Subject: [PATCH 22/54] Add more projects t the reseed list. --- tasks/general/acct_mgmt/users.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index fb775f5..3f680f9 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -567,6 +567,7 @@ env-ansible dev env-docker dev env-termux dev + env-obtainium-hyperling dev nodejs-website dev ebook-health-protocol dev flutter-expense-tracker dev @@ -575,6 +576,11 @@ misc-spare-change main flutter-buddy-website dev flutter-sunset-alarm dev + android-infinite-timer dev + android-carb-up dev + android-hypergames dev + android-45-minute-rule dev + android-tictactoe dev EOF } function code-reseed { From d1f50523fba9ab67aee61a176dc1a2eccab59ece Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sat, 26 Jul 2025 11:27:09 -0700 Subject: [PATCH 23/54] Add output that the log is being followed. --- tasks/general/acct_mgmt/users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 3f680f9..3f6043a 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -436,6 +436,7 @@ docker compose up -d if [[ -n "$1" ]]; then + echo "Following logs of '$1':" docker logs -f $1 fi @@ -458,6 +459,7 @@ docker compose up -d if [[ -n "$1" ]]; then + echo "Following logs of '$1':" docker logs -f $1 fi @@ -524,6 +526,7 @@ docker compose up -d if [[ -n "$1" ]]; then + echo "Following logs of '$1':" docker logs -f $1 fi From a03a1b649358f20628071bb36831b73b6119c9af Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sat, 26 Jul 2025 11:35:28 -0700 Subject: [PATCH 24/54] Fix lag of `stat` building checksum and other data on large swapfile. --- tasks/general/software/swap.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tasks/general/software/swap.yml b/tasks/general/software/swap.yml index 201e681..c25c9f3 100644 --- a/tasks/general/software/swap.yml +++ b/tasks/general/software/swap.yml @@ -9,6 +9,9 @@ - name: General | Software | Swap | Check For Swapfile stat: path: "{{ swap_file }}" + get_attributes: false + get_checksum: false + get_mime: false register: swap_check - name: General | Software | Swap | Install Block From f61fe14a945215bcf3c87364c26011f8b49ee78a Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sat, 26 Jul 2025 11:38:52 -0700 Subject: [PATCH 25/54] Add the speed boost to other `stat` checks as well. --- tasks/workstation/linux/software/android.yml | 9 +++++++++ tasks/workstation/linux/software/flutter.yml | 6 ++++++ tasks/workstation/linux/software/lutris.yml | 3 +++ tasks/workstation/linux/software/vscodium.yml | 3 +++ 4 files changed, 21 insertions(+) diff --git a/tasks/workstation/linux/software/android.yml b/tasks/workstation/linux/software/android.yml index a26b28d..b80c6af 100644 --- a/tasks/workstation/linux/software/android.yml +++ b/tasks/workstation/linux/software/android.yml @@ -145,18 +145,27 @@ - name: Workstation | Linux | Software | Android | Check SDK Manager Exists [1/2] stat: path: "{{ android_sdkmanager_temp }}" + get_attributes: false + get_checksum: false + get_mime: false register: android_sdkmanager_temp_stat when: coding == true - name: Workstation | Linux | Software | Android | Check SDK Manager Exists [2/2] stat: path: "{{ android_sdkmanager_final }}" + get_attributes: false + get_checksum: false + get_mime: false register: android_sdkmanager_final_stat when: coding == true - name: Workstation | Linux | Software | Android | Check Download Exists stat: path: "{{ android_download_file }}" + get_attributes: false + get_checksum: false + get_mime: false register: android_download_stat when: coding == true diff --git a/tasks/workstation/linux/software/flutter.yml b/tasks/workstation/linux/software/flutter.yml index eb35f0a..93932b3 100644 --- a/tasks/workstation/linux/software/flutter.yml +++ b/tasks/workstation/linux/software/flutter.yml @@ -36,12 +36,18 @@ - name: Workstation | Linux | Software | Flutter | Check SDK Exists stat: path: "{{ flutter_sdk_location }}" + get_attributes: false + get_checksum: false + get_mime: false register: flutter_sdk_stat when: coding == true - name: Workstation | Linux | Software | Flutter | Check Download Exists stat: path: "{{ flutter_download_file }}" + get_attributes: false + get_checksum: false + get_mime: false register: flutter_download_stat when: coding == true diff --git a/tasks/workstation/linux/software/lutris.yml b/tasks/workstation/linux/software/lutris.yml index 756ca83..9d19188 100644 --- a/tasks/workstation/linux/software/lutris.yml +++ b/tasks/workstation/linux/software/lutris.yml @@ -15,6 +15,9 @@ - name: Workstation | Linux | Software | Lutris | Check PPA stat: path: "{{ lutris_source_list }}" + get_attributes: false + get_checksum: false + get_mime: false register: lutris_source_exists when: ansible_pkg_mgr == "apt" diff --git a/tasks/workstation/linux/software/vscodium.yml b/tasks/workstation/linux/software/vscodium.yml index 446369b..a503844 100644 --- a/tasks/workstation/linux/software/vscodium.yml +++ b/tasks/workstation/linux/software/vscodium.yml @@ -22,6 +22,9 @@ - name: Workstation | Linux | Software | VS Codium | Check PPA stat: path: "{{ vscodium_source_list }}" + get_attributes: false + get_checksum: false + get_mime: false register: vscodium_source_exists when: ansible_pkg_mgr == "apt" From 68e1e5a48f624664b87e9e3c57ca009ad303715e Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sat, 26 Jul 2025 11:40:46 -0700 Subject: [PATCH 26/54] Fix unnecessary s in name. --- tasks/workstation/linux/software/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/workstation/linux/software/android.yml b/tasks/workstation/linux/software/android.yml index b80c6af..55c92db 100644 --- a/tasks/workstation/linux/software/android.yml +++ b/tasks/workstation/linux/software/android.yml @@ -282,7 +282,7 @@ become_user: "{{ user }}" when: coding == true -- name: Workstation | Linux | Software | Android | Licenses Agreements [1/2] +- name: Workstation | Linux | Software | Android | License Agreements [1/2] shell: "yes | {{ android_sdkmanager_final }} --licenses --sdk_root={{ android_sdk_location }}" become_user: "{{ user }}" when: coding == true From c8186d30daf4f1d0a01dff3c6862eb412f2b3c99 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 12 Aug 2025 05:41:09 -0700 Subject: [PATCH 27/54] Add Telegram back to install list. --- tasks/workstation/linux/software/flatpaks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/workstation/linux/software/flatpaks.yml b/tasks/workstation/linux/software/flatpaks.yml index 471ff31..91df33f 100644 --- a/tasks/workstation/linux/software/flatpaks.yml +++ b/tasks/workstation/linux/software/flatpaks.yml @@ -40,6 +40,7 @@ - { app: "org.mozilla.firefox", name: "firefox-flatpak", extra: "" } - { app: "com.transmissionbt.Transmission", name: "transmission", extra: "" } - { app: "org.gimp.GIMP", name: "gimp", extra: "" } + - { app: "org.telegram.desktop", name: "telegram", extra: "" } flatpaks_coding: - { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" } - { app: "com.google.AndroidStudio", name: "android-studio", extra: "" } @@ -68,7 +69,6 @@ - { app: "com.discordapp.Discord", name: "discord", extra: "" } # Stopped working, just spins and says Starting. # 2022-11-20 No longer using any of these and they're taking up a lot of space. # - { app: "im.riot.Riot", name: "element", extra: "" } - - { app: "org.telegram.desktop", name: "telegram", extra: "" } - { app: "com.jetbrains.PyCharm-Community", name: "pycharm", extra: "" } # End 2022-11-20 # - { app: "io.lbry.lbry-app", name: "lbry", extra: "dbus-launch" } # No longer supported, noticed 2023-09-01. From 64c77cbd20d1fd4de21405f94519935f4bfc7314 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Wed, 13 Aug 2025 16:55:07 -0700 Subject: [PATCH 28/54] Add hugo to workstation packages. --- tasks/workstation/linux/software/packages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/workstation/linux/software/packages.yml b/tasks/workstation/linux/software/packages.yml index f398af7..bde690b 100644 --- a/tasks/workstation/linux/software/packages.yml +++ b/tasks/workstation/linux/software/packages.yml @@ -39,6 +39,7 @@ - "{{ evolution }}" - "{{ evolution }}*" - gparted + - hugo state: present # Remove Repo Software # From 2b551cbff517d5e25d6a68162d637a79100dca8f Mon Sep 17 00:00:00 2001 From: Hyperling Date: Mon, 18 Aug 2025 18:24:08 -0700 Subject: [PATCH 29/54] Add hugo website to project list. --- tasks/general/acct_mgmt/users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 3f6043a..e77225b 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -584,6 +584,7 @@ android-hypergames dev android-45-minute-rule dev android-tictactoe dev + hugo-jackanope dev EOF } function code-reseed { From 3e1b0cc96107593a9271ea9a2cde612709a79885 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 19 Aug 2025 11:52:38 -0700 Subject: [PATCH 30/54] Do not include an extra newline when working with HTML, causes whitespace issues. --- files/settings/vscode.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/files/settings/vscode.json b/files/settings/vscode.json index 7b04606..efe8ff4 100644 --- a/files/settings/vscode.json +++ b/files/settings/vscode.json @@ -12,6 +12,9 @@ "editor.tabSize": 3, "editor.insertSpaces": false, "files.insertFinalNewline": true, + "[html]": { + "files.insertFinalNewline": false + }, "files.trimFinalNewlines": true, "git.confirmSync": false, From c7d06da91e9927c35805683cd8f99f6be5c15289 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 19 Aug 2025 14:48:23 -0700 Subject: [PATCH 31/54] Add `dig` to default installs. --- facts/general/package.yml | 2 ++ tasks/general/software/packages.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/facts/general/package.yml b/facts/general/package.yml index be1f387..b3cf7c0 100644 --- a/facts/general/package.yml +++ b/facts/general/package.yml @@ -9,6 +9,7 @@ iftop: iftop nethogs: nethogs ntp_server: chrony + dig: dig - name: General | Facts | Packages | Parrot OS Fixes set_fact: @@ -24,6 +25,7 @@ microcode_intel: intel-microcode cron: cron encfs: encfs + dig: dnsutils when: ansible_pkg_mgr == "apt" - name: General | Facts | Package | pacman diff --git a/tasks/general/software/packages.yml b/tasks/general/software/packages.yml index d1b271d..e3a5eea 100644 --- a/tasks/general/software/packages.yml +++ b/tasks/general/software/packages.yml @@ -59,6 +59,7 @@ - "{{ iftop }}" - "{{ nethogs }}" - "{{ ntp_server }}" + - "{{ dig }}" state: present - name: General | Software | Packages | Install Software (DEV) From df4efb2beb8601a7a626d4b3ef3cf106cf6c3153 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 14:06:19 -0700 Subject: [PATCH 32/54] Move the Connect software to Workstation. --- tasks/general/software/packages.yml | 8 -------- tasks/workstation/linux/software/packages.yml | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tasks/general/software/packages.yml b/tasks/general/software/packages.yml index e3a5eea..f879826 100644 --- a/tasks/general/software/packages.yml +++ b/tasks/general/software/packages.yml @@ -142,14 +142,6 @@ when: ansible_distribution != "Ubuntu" ignore_errors: yes -- name: General | Software | Packages | GS Connect (KDE Connect, Android Tool) - package: - name: - - gnome-shell-extension-gsconnect - state: present - when: ansible_distribution in ("Debian") - ignore_errors: yes - - name: General | Software | Packages | Other Debian Packages package: name: diff --git a/tasks/workstation/linux/software/packages.yml b/tasks/workstation/linux/software/packages.yml index bde690b..52ff1b8 100644 --- a/tasks/workstation/linux/software/packages.yml +++ b/tasks/workstation/linux/software/packages.yml @@ -42,6 +42,14 @@ - hugo state: present +- name: Workstation | Linux | Software | Packages | GS Connect (KDE Connect, Android Tool) + package: + name: + - gnome-shell-extension-gsconnect + state: present + when: ansible_distribution in ("Debian") + ignore_errors: yes + # Remove Repo Software # - name: Workstation | Linux | Software | Packages | Remove Applications From 8e3e28475363668429747935c6d6ae539a2546d1 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 14:27:07 -0700 Subject: [PATCH 33/54] Ensure boolean values are treated as booleans in Debian Trixie. --- tasks/general/acct_mgmt/provision_config.yml | 68 ++++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/tasks/general/acct_mgmt/provision_config.yml b/tasks/general/acct_mgmt/provision_config.yml index d24efac..c91a308 100644 --- a/tasks/general/acct_mgmt/provision_config.yml +++ b/tasks/general/acct_mgmt/provision_config.yml @@ -125,14 +125,14 @@ - name: General | Account Management | Provisioning Configuration | General | Load set_fact: - provision: "{{ lookup('ini', 'enable file={{gen_file}} default=false') }}" + provision: "{{ lookup('ini', 'enable file={{gen_file}} default=false') | bool }}" user: "{{ lookup('ini', 'user file={{gen_file}} default=ling') }}" user_desc: "{{ lookup('ini', 'user_desc file={{gen_file}} default=Hyperling') }}" branch: "{{ lookup('ini', 'branch file={{gen_file}} default=main') }}" - pentesting: "{{ lookup('ini', 'pentesting file={{gen_file}} default=false') }}" - no_telem: "{{ lookup('ini', 'no_telem file={{gen_file}} default=false') }}" - battery: "{{ lookup('ini', 'battery file={{gen_file}} default=false') }}" - swap_block: "{{ lookup('ini', 'swap_block file={{gen_file}} default=false') }}" + pentesting: "{{ lookup('ini', 'pentesting file={{gen_file}} default=false') | bool }}" + no_telem: "{{ lookup('ini', 'no_telem file={{gen_file}} default=false') | bool }}" + battery: "{{ lookup('ini', 'battery file={{gen_file}} default=false') | bool }}" + swap_block: "{{ lookup('ini', 'swap_block file={{gen_file}} default=false') | bool }}" swap_count: "{{ lookup('ini', 'swap_count file={{gen_file}} default=1') }}" swap_file: "{{ lookup('ini', 'swap_file file={{gen_file}} default=/swapfile') }}" sshd_port: "{{ lookup('ini', 'sshd_port file={{gen_file}} default=22') }}" @@ -212,16 +212,16 @@ - name: General | Account Management | Provisioning Configuration | Workstation | Load set_fact: - workstation: "{{ lookup('ini', 'enable file={{wrk_file}} default=false') }}" - coding: "{{ lookup('ini', 'coding file={{wrk_file}} default=false') }}" - sdks: "{{ lookup('ini', 'sdks file={{wrk_file}} default=false') }}" - editing: "{{ lookup('ini', 'editing file={{wrk_file}} default=false') }}" - gaming: "{{ lookup('ini', 'gaming file={{wrk_file}} default=false') }}" - rdp: "{{ lookup('ini', 'rdp file={{wrk_file}} default=false') }}" - vnc: "{{ lookup('ini', 'vnc file={{wrk_file}} default=false') }}" - bsd_gpu: "{{ lookup('ini', 'bsd_gpu file={{wrk_file}} default=false') }}" - mobile: "{{ lookup('ini', 'mobile file={{wrk_file}} default=false') }}" - redmode: "{{ lookup('ini', 'redmode file={{wrk_file}} default=true' ) }}" + workstation: "{{ lookup('ini', 'enable file={{wrk_file}} default=false') | bool }}" + coding: "{{ lookup('ini', 'coding file={{wrk_file}} default=false') | bool }}" + sdks: "{{ lookup('ini', 'sdks file={{wrk_file}} default=false') | bool }}" + editing: "{{ lookup('ini', 'editing file={{wrk_file}} default=false') | bool }}" + gaming: "{{ lookup('ini', 'gaming file={{wrk_file}} default=false') | bool }}" + rdp: "{{ lookup('ini', 'rdp file={{wrk_file}} default=false') | bool }}" + vnc: "{{ lookup('ini', 'vnc file={{wrk_file}} default=false') | bool }}" + bsd_gpu: "{{ lookup('ini', 'bsd_gpu file={{wrk_file}} default=false') | bool }}" + mobile: "{{ lookup('ini', 'mobile file={{wrk_file}} default=false') | bool }}" + redmode: "{{ lookup('ini', 'redmode file={{wrk_file}} default=true' ) | bool }}" - name: General | Account Management | Provisioning Configuration | Workstation | List set_fact: @@ -288,18 +288,18 @@ # #- name: General | Account Management | Provisioning Configuration | Miner | Load # set_fact: -# miner: "{{ lookup('ini', 'enable file={{mnr_file}} default=false') }}" -# amdgpu: "{{ lookup('ini', 'amdgpu file={{mnr_file}} default=false') }}" -# nanominer: "{{ lookup('ini', 'nanominer file={{mnr_file}} default=false') }}" -# nanominer_cpu: "{{ lookup('ini', 'nanominer_cpu file={{mnr_file}} default=false') }}" -# nanominer_cpu_pool: "{{ lookup('ini', 'nanominer_cpu_pool file={{mnr_file}} default=false') }}" -# nanominer_gpu: "{{ lookup('ini', 'nanominer_gpu file={{mnr_file}} default=false') }}" -# nanominer_gpus: "{{ lookup('ini', 'nanominer_gpus file={{mnr_file}} default=false') }}" -# nanominer_gpu_pool: "{{ lookup('ini', 'nanominer_gpu_pool file={{mnr_file}} default=false') }}" -# eth_minhashrate: "{{ lookup('ini', 'eth_minhashrate file={{mnr_file}} default=false') }}" -# ethminer: "{{ lookup('ini', 'ethminer file={{mnr_file}} default=false') }}" -# nvidia: "{{ lookup('ini', 'nvidia file={{mnr_file}} default=false') }}" -# xmr_stak_cpu: "{{ lookup('ini', 'xmr_stak_cpu file={{mnr_file}} default=false') }}" +# miner: "{{ lookup('ini', 'enable file={{mnr_file}} default=false') | bool }}" +# amdgpu: "{{ lookup('ini', 'amdgpu file={{mnr_file}} default=false') | bool }}" +# nanominer: "{{ lookup('ini', 'nanominer file={{mnr_file}} default=false') | bool }}" +# nanominer_cpu: "{{ lookup('ini', 'nanominer_cpu file={{mnr_file}} default=false') | bool }}" +# nanominer_cpu_pool: "{{ lookup('ini', 'nanominer_cpu_pool file={{mnr_file}} default=false') | bool }}" +# nanominer_gpu: "{{ lookup('ini', 'nanominer_gpu file={{mnr_file}} default=false') | bool }}" +# nanominer_gpus: "{{ lookup('ini', 'nanominer_gpus file={{mnr_file}} default=false') | bool }}" +# nanominer_gpu_pool: "{{ lookup('ini', 'nanominer_gpu_pool file={{mnr_file}} default=false') | bool }}" +# eth_minhashrate: "{{ lookup('ini', 'eth_minhashrate file={{mnr_file}} default=false') | bool }}" +# ethminer: "{{ lookup('ini', 'ethminer file={{mnr_file}} default=false') | bool }}" +# nvidia: "{{ lookup('ini', 'nvidia file={{mnr_file}} default=false') | bool }}" +# xmr_stak_cpu: "{{ lookup('ini', 'xmr_stak_cpu file={{mnr_file}} default=false') | bool }}" # #- name: General | Account Management | Provisioning Configuration | Miner | List # set_fact: @@ -357,14 +357,14 @@ - name: General | Account Management | Provisioning Configuration | Server | Load set_fact: - server: "{{ lookup('ini', 'enable file={{srv_file}} default=false') }}" + server: "{{ lookup('ini', 'enable file={{srv_file}} default=false') | bool }}" domain: "{{ lookup('ini', 'domain file={{srv_file}} default=hyperling.com') }}" - onlyoffice: "{{ lookup('ini', 'onlyoffice file={{srv_file}} default=false') }}" - grafana: "{{ lookup('ini', 'grafana file={{srv_file}} default=false') }}" - influxdb1: "{{ lookup('ini', 'influxdb1 file={{srv_file}} default=false') }}" - influxdb2: "{{ lookup('ini', 'influxdb2 file={{srv_file}} default=false') }}" - certbot: "{{ lookup('ini', 'certbot file={{srv_file}} default=false') }}" - hugo: "{{ lookup('ini', 'hugo file={{srv_file}} default=false') }}" + onlyoffice: "{{ lookup('ini', 'onlyoffice file={{srv_file}} default=false') | bool }}" + grafana: "{{ lookup('ini', 'grafana file={{srv_file}} default=false') | bool }}" + influxdb1: "{{ lookup('ini', 'influxdb1 file={{srv_file}} default=false') | bool }}" + influxdb2: "{{ lookup('ini', 'influxdb2 file={{srv_file}} default=false') | bool }}" + certbot: "{{ lookup('ini', 'certbot file={{srv_file}} default=false') | bool }}" + hugo: "{{ lookup('ini', 'hugo file={{srv_file}} default=false') | bool }}" - name: General | Account Management | Provisioning Configuration | Server | List set_fact: From ad6601f17eb465164eb160a487f25b9d15807af2 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 14:31:07 -0700 Subject: [PATCH 34/54] `neofetch` is no longer available in Debian 13 (Trixie). Use `fastfetch` instead. --- facts/general/package.yml | 2 ++ tasks/general/software/packages.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/facts/general/package.yml b/facts/general/package.yml index b3cf7c0..9ebb9f4 100644 --- a/facts/general/package.yml +++ b/facts/general/package.yml @@ -10,6 +10,7 @@ nethogs: nethogs ntp_server: chrony dig: dig + neofetch: neofetch - name: General | Facts | Packages | Parrot OS Fixes set_fact: @@ -26,6 +27,7 @@ cron: cron encfs: encfs dig: dnsutils + neofetch: fastfetch when: ansible_pkg_mgr == "apt" - name: General | Facts | Package | pacman diff --git a/tasks/general/software/packages.yml b/tasks/general/software/packages.yml index f879826..5f0d05f 100644 --- a/tasks/general/software/packages.yml +++ b/tasks/general/software/packages.yml @@ -43,7 +43,7 @@ - bash - sudo - nmap - - neofetch + - "{{ neofetch }}" - "{{ sshfs }}" - "{{ locate }}" - zsh From a5023b2ef7d28b4e1ce203070cd4f7f78dd50ab2 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 14:40:25 -0700 Subject: [PATCH 35/54] Add shortcut to remembering how to see Ansible facts. --- tasks/general/acct_mgmt/users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index e77225b..763472b 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -741,6 +741,8 @@ alias progs='ps -ef' alias_nethogs: | alias nethogs='sudo nethogs' + alias_ansible_facts: | + alias ansible-facts='ansible localhost -m setup' - name: General | Account Management | Users | Files | Common Variable set_fact: @@ -808,6 +810,7 @@ {{ alias_ls }} {{ alias_progs }} {{ alias_nethogs }} + {{ alias_ansible_facts }} - name: General | Account Management | Users | Files | .bashrc blockinfile: From c12b54d0dc18ab7d86e3b1fa52fece0872f0cc42 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 14:40:35 -0700 Subject: [PATCH 36/54] Only use fastfetch for Trixie. --- facts/general/package.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/facts/general/package.yml b/facts/general/package.yml index 9ebb9f4..2b0ab9a 100644 --- a/facts/general/package.yml +++ b/facts/general/package.yml @@ -27,9 +27,13 @@ cron: cron encfs: encfs dig: dnsutils - neofetch: fastfetch when: ansible_pkg_mgr == "apt" +- name: General | Facts | Package | apt | Debian Trixie + set_fact: + neofetch: fastfetch + when: ansible_pkg_mgr == "apt" and ansible_distribution_release == "trixie" + - name: General | Facts | Package | pacman set_fact: locate: mlocate From e19902074a5030a06e0a412fee85d91e09674b61 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 14:55:36 -0700 Subject: [PATCH 37/54] Try starting the necessary services multiple times. --- tasks/general/software/services.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tasks/general/software/services.yml b/tasks/general/software/services.yml index 4c831e3..db2e34e 100644 --- a/tasks/general/software/services.yml +++ b/tasks/general/software/services.yml @@ -9,6 +9,10 @@ pattern: "{{ crond_pattern }}" state: started enabled: yes + register: cron_status + until: cron_status.state == "started" + retries: 3 + delay: 3 ## CUPS ## @@ -76,6 +80,10 @@ pattern: "{{ sshd_pattern }}" state: reloaded enabled: yes + register: sshd_status + until: sshd_status.state == "started" + retries: 3 + delay: 3 ## JournalCTL ## @@ -105,3 +113,7 @@ pattern: "{{ ntp_server }}" state: started enabled: yes + register: ntp_status + until: ntp_status.state == "started" + retries: 3 + delay: 3 From c87c4468b3cd8cf4fa156f5cbbe98172372664bf Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 15:26:26 -0700 Subject: [PATCH 38/54] Fix command to work locally. --- tasks/general/acct_mgmt/users.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 763472b..fb65e74 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -742,7 +742,7 @@ alias_nethogs: | alias nethogs='sudo nethogs' alias_ansible_facts: | - alias ansible-facts='ansible localhost -m setup' + alias ansible-facts='ansible localhost -m setup --connection=local' - name: General | Account Management | Users | Files | Common Variable set_fact: From 8181ee08489f7ecc7bb5fedc1c0aeb601d44af74 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 15:27:14 -0700 Subject: [PATCH 39/54] Remove extra space. --- tasks/general/acct_mgmt/provision_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/general/acct_mgmt/provision_config.yml b/tasks/general/acct_mgmt/provision_config.yml index c91a308..52c5727 100644 --- a/tasks/general/acct_mgmt/provision_config.yml +++ b/tasks/general/acct_mgmt/provision_config.yml @@ -135,7 +135,7 @@ swap_block: "{{ lookup('ini', 'swap_block file={{gen_file}} default=false') | bool }}" swap_count: "{{ lookup('ini', 'swap_count file={{gen_file}} default=1') }}" swap_file: "{{ lookup('ini', 'swap_file file={{gen_file}} default=/swapfile') }}" - sshd_port: "{{ lookup('ini', 'sshd_port file={{gen_file}} default=22') }}" + sshd_port: "{{ lookup('ini', 'sshd_port file={{gen_file}} default=22') }}" git_host: "{{ lookup('ini', 'git_host file={{gen_file}} default=git.hyperling.com') }}" git_user: "{{ lookup('ini', 'git_user file={{gen_file}} default=me') }}" git_project: "{{ lookup('ini', 'git_project file={{gen_file}} default=env-ansible') }}" From 295f29dece1d62df46e02c4ae217d72eb42a5099 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Thu, 21 Aug 2025 15:31:40 -0700 Subject: [PATCH 40/54] Do not check services if host is a Docker container. --- tasks/general/software/services.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tasks/general/software/services.yml b/tasks/general/software/services.yml index db2e34e..f55a4a2 100644 --- a/tasks/general/software/services.yml +++ b/tasks/general/software/services.yml @@ -9,6 +9,7 @@ pattern: "{{ crond_pattern }}" state: started enabled: yes + when: ansible_virtualization_type != 'docker' register: cron_status until: cron_status.state == "started" retries: 3 @@ -80,6 +81,7 @@ pattern: "{{ sshd_pattern }}" state: reloaded enabled: yes + when: ansible_virtualization_type != 'docker' register: sshd_status until: sshd_status.state == "started" retries: 3 @@ -113,6 +115,7 @@ pattern: "{{ ntp_server }}" state: started enabled: yes + when: ansible_virtualization_type != 'docker' register: ntp_status until: ntp_status.state == "started" retries: 3 From 8038e10364aa0907c02dcb6aa5a7ea3d2ed64794 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Fri, 22 Aug 2025 11:54:22 -0700 Subject: [PATCH 41/54] Add purge to autoremove so that unused config files also get removed. --- facts/general/package.yml | 4 ++-- tasks/miner/drivers/amdgpu.yml | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/facts/general/package.yml b/facts/general/package.yml index 2b0ab9a..d65af26 100644 --- a/facts/general/package.yml +++ b/facts/general/package.yml @@ -109,7 +109,7 @@ echo -e "******* Apt *******\n*** Update Cache ***" && sudo apt update && echo -e "\n*** Auto Remove ***" && - sudo apt autoremove {{ update_accept_var }} && + sudo apt autoremove --purge {{ update_accept_var }} && echo -e "\n*** Clean ***" && sudo apt clean {{ update_accept_var }} && echo -e "Cleaned!\n\n*** Configure DPKG ***" && @@ -124,7 +124,7 @@ echo -e "******* Parrot *******\n*** Update Cache ***" && sudo apt update && echo -e "\n*** Auto Remove ***" && - sudo apt autoremove {{ update_accept_var }} && + sudo apt autoremove --purge {{ update_accept_var }} && parrot_mirrors_suck=true && while [[ $parrot_mirrors_suck ]]; do unset parrot_mirrors_suck diff --git a/tasks/miner/drivers/amdgpu.yml b/tasks/miner/drivers/amdgpu.yml index 22a7471..498f66c 100644 --- a/tasks/miner/drivers/amdgpu.yml +++ b/tasks/miner/drivers/amdgpu.yml @@ -8,9 +8,9 @@ amdgpu_cron_cmd: "{{ root_home.stdout }}/scm.sh" - name: Miner | Driver | AMDGPU | Install Dependencies - package: - name: - - dkms + package: + name: + - dkms - mesa-common-dev - clinfo state: present @@ -62,16 +62,16 @@ ## Step 1/3: Get Correct Kernel ## - name: Miner | Driver | AMDGPU | Install Recommended GA Kernel - shell: apt install --install-recommends linux-generic + shell: apt install --install-recommends linux-generic when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed - name: Miner | Driver | AMDGPU | Install Specific GA Kernel For Booting package: - name: - - linux-headers-5.4.0-65 - - linux-headers-5.4.0-65-generic - - linux-headers-generic - - linux-image-generic + name: + - linux-headers-5.4.0-65 + - linux-headers-5.4.0-65-generic + - linux-headers-generic + - linux-image-generic - linux-modules-extra-5.4.0-65-generic state: present when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed @@ -121,10 +121,10 @@ when: amdgpu_install.failed and hwe_kernel.stdout != "0" - name: Miner | Driver | AMDGPU | Update + Clean System - shell: "apt update; apt dist-upgrade -y; apt autoremove -y" + shell: "apt update; apt dist-upgrade -y; apt autoremove --purge -y" when: amdgpu_install.failed and hwe_kernel.stdout != "0" -# This is to ensure we can test adding `apt install --install-recommends linux-generic` later +# This is to ensure we can test adding `apt install --install-recommends linux-generic` later - name: Miner | Driver | AMDGPU | Boot Default Kernel lineinfile: path: /etc/default/grub From 86e3f40d365452caa01afa2ade4e63d066093058 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Fri, 22 Aug 2025 13:43:40 -0700 Subject: [PATCH 42/54] Added and tested `now` and `backup`. Still need to test `debian-upgrade`. --- tasks/general/acct_mgmt/users.yml | 91 +++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index fb65e74..4fa49e6 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -743,6 +743,94 @@ alias nethogs='sudo nethogs' alias_ansible_facts: | alias ansible-facts='ansible localhost -m setup --connection=local' + function_now: | + function now { + date "+%Y%m%d_%H%M%S" + } + function_backup: | + function backup { + EXTRA="$1" + BACKUP_DIR="/tmp" + BACKUP_FILENAME="Backup-`now`.zip" + BACKUP="$BACKUP_DIR/$BACKUP_FILENAME" + echo "*** Creating backup at '$BACKUP' ***" + sudo zip -rv "$BACKUP" \ + /etc/apt /var/{log,mail} \ + /etc/crontab /etc/cron.d /var/spool/cron \ + /usr/local/etc $EXTRA + status="$?" + if [[ "$status" != 0 ]]; then + echo "*** ERROR: Failed to create '$BACKUP', file may be incorrect. ***" + fi + if [[ -e "$BACKUP" ]]; then + ls -alh "$BACKUP" + echo "*** '$BACKUP' created successfully! ***" + else + echo "*** '$BACKUP' not found! ***" + fi + } + function_debian_upgrade: | + function debian-upgrade { + typeset -l OLD NEW + OLD="$1" + NEW="$2" + echo "*** Upgrading from '$OLD' to '$NEW' ***" + if [[ -z "$OLD" || -z "$NEW" ]]; then + echo -n "ERROR: Please pass the OLD and NEW version names" + echo ", such as 'debian-upgrade bookworm trixie'. " + fi + + echo "*** Doing an 'update' and 'backup' before starting upgrade. ***" + + update + + backup + + echo "*** Listing the current apt listing for '$OLD' ***" + sudo grep "$OLD" /apt/sources.list /apt/sources.list.d/* + + echo -en "\nAre these the entries you'd like changed to '$NEW'? (y/N) " + typeset -u confirm_change + read confirm_change + + if [[ -z "$confirm_change" || "$confirm_change" == "N"* ]]; then + echo "*** Aborting upgrade, change rejected. ***" + fi + unset confirm_change + + echo "*** Continuing with upgrade. ***" + sudo sed -i 's/$OLD/$NEW/g' /etc/apt/sources.list + find /etc/apt/sources.list.d -name "*.list" \ + -exec sudo sed -i 's/$OLD/$NEW/g' {} \; + + sudo grep $OLD /apt/sources.list /apt/sources.list.d/* + sudo grep $NEW /apt/sources.list /apt/sources.list.d/* + + echo -en "\nDo the source files look correct? (y/N) " + typeset -u confirm_correct + read confirm_correct + + if [[ -z "$confirm_correct" || "$confirm_correct" == "N"* ]]; then + echo "*** Aborting upgrade, confirmation rejected. ***" + fi + unset confirm_correct + + echo "*** Starting the upgrade. ***" + sleep 3 + + #sudo apt update + #sudo apt upgrade --without-new-pkgs + #sudo apt full-upgrade + + echo "*** Upgrade complete, cleaning apt files. ***" + + #sudo apt autoremove --purge + #sudo apt clean + + echo "*** All done! '$OLD' is now '$NEW'. Please reboot. ***" + unset OLD NEW + } + alias upgrade-debian="debian-upgrade" - name: General | Account Management | Users | Files | Common Variable set_fact: @@ -811,6 +899,9 @@ {{ alias_progs }} {{ alias_nethogs }} {{ alias_ansible_facts }} + {{ function_now }} + {{ function_backup }} + {{ function_debian_upgrade }} - name: General | Account Management | Users | Files | .bashrc blockinfile: From 16466fb0c8e48704e55017d65de6aaf890710363 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Fri, 22 Aug 2025 14:04:21 -0700 Subject: [PATCH 43/54] Finalize backup list. Fixes for debian-upgrade. --- tasks/general/acct_mgmt/users.yml | 35 +++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 4fa49e6..5408504 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -755,8 +755,7 @@ BACKUP="$BACKUP_DIR/$BACKUP_FILENAME" echo "*** Creating backup at '$BACKUP' ***" sudo zip -rv "$BACKUP" \ - /etc/apt /var/{log,mail} \ - /etc/crontab /etc/cron.d /var/spool/cron \ + /etc /var/{log,mail,spool} /srv /boot \ /usr/local/etc $EXTRA status="$?" if [[ "$status" != 0 ]]; then @@ -778,16 +777,16 @@ if [[ -z "$OLD" || -z "$NEW" ]]; then echo -n "ERROR: Please pass the OLD and NEW version names" echo ", such as 'debian-upgrade bookworm trixie'. " + return 1 fi - echo "*** Doing an 'update' and 'backup' before starting upgrade. ***" - - update + echo "*** Running 'backup' before starting upgrade. ***" + sleep 1 backup echo "*** Listing the current apt listing for '$OLD' ***" - sudo grep "$OLD" /apt/sources.list /apt/sources.list.d/* + sudo grep "$OLD" /etc/apt/sources.list /etc/apt/sources.list.d/* echo -en "\nAre these the entries you'd like changed to '$NEW'? (y/N) " typeset -u confirm_change @@ -795,16 +794,17 @@ if [[ -z "$confirm_change" || "$confirm_change" == "N"* ]]; then echo "*** Aborting upgrade, change rejected. ***" + return 1 fi unset confirm_change echo "*** Continuing with upgrade. ***" - sudo sed -i 's/$OLD/$NEW/g' /etc/apt/sources.list + sudo sed -i "s/$OLD/$NEW/g" /etc/apt/sources.list find /etc/apt/sources.list.d -name "*.list" \ - -exec sudo sed -i 's/$OLD/$NEW/g' {} \; + -exec sudo sed -i "s/$OLD/$NEW/g" {} \; - sudo grep $OLD /apt/sources.list /apt/sources.list.d/* - sudo grep $NEW /apt/sources.list /apt/sources.list.d/* + sudo grep $OLD /etc/apt/sources.list /etc/apt/sources.list.d/* + sudo grep $NEW /etc/apt/sources.list /etc/apt/sources.list.d/* echo -en "\nDo the source files look correct? (y/N) " typeset -u confirm_correct @@ -812,22 +812,25 @@ if [[ -z "$confirm_correct" || "$confirm_correct" == "N"* ]]; then echo "*** Aborting upgrade, confirmation rejected. ***" + return 1 fi unset confirm_correct echo "*** Starting the upgrade. ***" - sleep 3 + sleep 1 - #sudo apt update - #sudo apt upgrade --without-new-pkgs - #sudo apt full-upgrade + sudo apt update + sudo apt upgrade --without-new-pkgs + sudo apt full-upgrade echo "*** Upgrade complete, cleaning apt files. ***" + sleep 1 - #sudo apt autoremove --purge - #sudo apt clean + sudo apt autoremove --purge + sudo apt clean echo "*** All done! '$OLD' is now '$NEW'. Please reboot. ***" + sleep 1 unset OLD NEW } alias upgrade-debian="debian-upgrade" From c248a3c048f50dcaf8f16dc3583315ad3341d650 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Fri, 22 Aug 2025 15:54:38 -0700 Subject: [PATCH 44/54] Add extra dialog to show where we're at when next apt prompt comes up. --- tasks/general/acct_mgmt/users.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 5408504..0335cd0 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -821,11 +821,13 @@ sudo apt update sudo apt upgrade --without-new-pkgs + + echo "*** Upgrades complete, now add new packages. ***" + sleep 1 sudo apt full-upgrade - echo "*** Upgrade complete, cleaning apt files. ***" + echo "*** New packages complete, clean apt files. ***" sleep 1 - sudo apt autoremove --purge sudo apt clean From 07dc3654109b60ca35eb8f82f83b04307964e292 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 31 Aug 2025 11:03:11 -0700 Subject: [PATCH 45/54] Add the Matrix protocol messenger Element back to the list, as well as Simplex. --- tasks/workstation/linux/software/flatpaks.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tasks/workstation/linux/software/flatpaks.yml b/tasks/workstation/linux/software/flatpaks.yml index 91df33f..c8ccc96 100644 --- a/tasks/workstation/linux/software/flatpaks.yml +++ b/tasks/workstation/linux/software/flatpaks.yml @@ -41,11 +41,12 @@ - { app: "com.transmissionbt.Transmission", name: "transmission", extra: "" } - { app: "org.gimp.GIMP", name: "gimp", extra: "" } - { app: "org.telegram.desktop", name: "telegram", extra: "" } + - { app: "im.riot.Riot", name: "element", extra: "" } + - { app: "chat.simplex.simplex", name: "simplex", extra: "" } flatpaks_coding: - { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" } - { app: "com.google.AndroidStudio", name: "android-studio", extra: "" } - { app: "io.dbeaver.DBeaverCommunity", name: "dbeaver", extra: "" } - - { app: "org.godotengine.Godot", name: "godot", extra: "" } - { app: "com.visualstudio.code-oss", name: "code", extra: "" } flatpaks_editing_video: - { app: "org.shotcut.Shotcut", name: "shotcut", extra: "" } @@ -68,13 +69,13 @@ - { app: "org.audacityteam.Audacity", name: "audacity", extra: "" } # Say "no thanks" to spyware. - { app: "com.discordapp.Discord", name: "discord", extra: "" } # Stopped working, just spins and says Starting. # 2022-11-20 No longer using any of these and they're taking up a lot of space. # - - { app: "im.riot.Riot", name: "element", extra: "" } - { app: "com.jetbrains.PyCharm-Community", name: "pycharm", extra: "" } # End 2022-11-20 # - { app: "io.lbry.lbry-app", name: "lbry", extra: "dbus-launch" } # No longer supported, noticed 2023-09-01. - { app: "chat.delta.desktop", name: "deltachat", extra: "" } # No longer used, removed 2023-12-18. - { app: "org.gnome.Geary", name: "geary", extra: "" } # No longer used, removed 2024-12-15 - { app: "org.rncbc.qsynth", name: "qsynth", extra: "" } # 2024-12-15, Not worth the setup, use LMMS or VMPK. + - { app: "org.godotengine.Godot", name: "godot", extra: "" } # 20250831 Stopped playing with this months / years ago. # Generic # From 1e7e11ed918b0b9c1a1f965361c4211cbe4b62d4 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 31 Aug 2025 11:27:38 -0700 Subject: [PATCH 46/54] Change the order of generic apps based on importance. --- tasks/workstation/linux/software/flatpaks.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tasks/workstation/linux/software/flatpaks.yml b/tasks/workstation/linux/software/flatpaks.yml index c8ccc96..9311ee5 100644 --- a/tasks/workstation/linux/software/flatpaks.yml +++ b/tasks/workstation/linux/software/flatpaks.yml @@ -34,15 +34,15 @@ - name: Workstation | Linux | Flatpak Distro | Flatpak | Arrays set_fact: flatpaks_generic: - - { app: "org.libreoffice.LibreOffice", name: "office", extra: "" } - - { app: "io.gitlab.librewolf-community", name: "librewolf", extra: "" } - - { app: "org.signal.Signal", name: "signal", extra: "" } - { app: "org.mozilla.firefox", name: "firefox-flatpak", extra: "" } - - { app: "com.transmissionbt.Transmission", name: "transmission", extra: "" } - - { app: "org.gimp.GIMP", name: "gimp", extra: "" } - - { app: "org.telegram.desktop", name: "telegram", extra: "" } - - { app: "im.riot.Riot", name: "element", extra: "" } + - { app: "io.gitlab.librewolf-community", name: "librewolf", extra: "" } - { app: "chat.simplex.simplex", name: "simplex", extra: "" } + - { app: "org.signal.Signal", name: "signal", extra: "" } + - { app: "im.riot.Riot", name: "element", extra: "" } + - { app: "org.telegram.desktop", name: "telegram", extra: "" } + - { app: "org.gimp.GIMP", name: "gimp", extra: "" } + - { app: "org.libreoffice.LibreOffice", name: "office", extra: "" } + - { app: "com.transmissionbt.Transmission", name: "transmission", extra: "" } flatpaks_coding: - { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" } - { app: "com.google.AndroidStudio", name: "android-studio", extra: "" } From df5421defeb7e1bb90ede27d408e4dbd05a783ef Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 31 Aug 2025 11:28:23 -0700 Subject: [PATCH 47/54] Ensure name of code-oss executable does not interfere with any ~/Code shortcuts. --- tasks/workstation/linux/software/flatpaks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/workstation/linux/software/flatpaks.yml b/tasks/workstation/linux/software/flatpaks.yml index 9311ee5..9e986e0 100644 --- a/tasks/workstation/linux/software/flatpaks.yml +++ b/tasks/workstation/linux/software/flatpaks.yml @@ -47,7 +47,7 @@ - { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" } - { app: "com.google.AndroidStudio", name: "android-studio", extra: "" } - { app: "io.dbeaver.DBeaverCommunity", name: "dbeaver", extra: "" } - - { app: "com.visualstudio.code-oss", name: "code", extra: "" } + - { app: "com.visualstudio.code-oss", name: "code-flatpak", extra: "" } flatpaks_editing_video: - { app: "org.shotcut.Shotcut", name: "shotcut", extra: "" } - { app: "com.obsproject.Studio", name: "obs", extra: "" } From 95c87448c8474476a78d4bc71901bfb6fc041f50 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 31 Aug 2025 11:30:13 -0700 Subject: [PATCH 48/54] Add aliases for remembering the Flatpak app size checking command. --- tasks/general/acct_mgmt/users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 0335cd0..12a8526 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -409,6 +409,10 @@ fi done | sort -n } + alias flatpak-info="flatpak-usage" + alias flatpak-space="flatpak-usage" + alias flatpak-size="flatpak-usage" + alias flatpak-sizes="flatpak-usage" function_flatpak_purge: | function flatpak-purge() { flatpak remove --all --delete-data && From 602376df5f317902de1e6ad0c0ac65d9b59724d4 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 31 Aug 2025 11:31:57 -0700 Subject: [PATCH 49/54] Remove Element from Favorites. --- tasks/workstation/shared/settings/gnome.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/workstation/shared/settings/gnome.yml b/tasks/workstation/shared/settings/gnome.yml index 723edd5..10a41e1 100644 --- a/tasks/workstation/shared/settings/gnome.yml +++ b/tasks/workstation/shared/settings/gnome.yml @@ -13,7 +13,6 @@ , 'io.gitlab.librewolf-community.desktop', 'librewolf.desktop' , 'org.mozilla.firefox.desktop', 'firefox.desktop' , 'org.signal.Signal.desktop', 'signal-desktop.desktop' - , 'im.riot.Riot.desktop' , 'org.telegram.desktop.desktop' , 'com.discordapp.Discord.desktop' , 'com.vscodium.codium.desktop' @@ -39,6 +38,8 @@ #, 'com.visualstudio.code-oss.desktop', 'code-oss.desktop' # 2025-03-21 Not really using Android Studio now that Flutter is working. #, 'com.google.AndroidStudio.desktop' +# 2025-08-31 Not used a whole lot, installed again just to explore. +#, 'im.riot.Riot.desktop' - name: Workstation | Account Management | GNOME | Facts (NixOS) set_fact: From 103a79a7ee3561c9938ab5b3649fe6f8f9a33f33 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 31 Aug 2025 11:50:19 -0700 Subject: [PATCH 50/54] Add Simplex to favorites. --- tasks/workstation/shared/settings/gnome.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/workstation/shared/settings/gnome.yml b/tasks/workstation/shared/settings/gnome.yml index 10a41e1..fd4b66e 100644 --- a/tasks/workstation/shared/settings/gnome.yml +++ b/tasks/workstation/shared/settings/gnome.yml @@ -12,6 +12,7 @@ , 'org.gnome.Nautilus.desktop' , 'io.gitlab.librewolf-community.desktop', 'librewolf.desktop' , 'org.mozilla.firefox.desktop', 'firefox.desktop' + , 'chat.simplex.simplex.desktop' , 'org.signal.Signal.desktop', 'signal-desktop.desktop' , 'org.telegram.desktop.desktop' , 'com.discordapp.Discord.desktop' From 9f22385040b4aa53b950bc7741d4e11dcffcfc2a Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sun, 31 Aug 2025 11:57:34 -0700 Subject: [PATCH 51/54] Simplex Desktop does not work without phone scan each time, do not keep on Favorite bar. --- tasks/workstation/shared/settings/gnome.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/workstation/shared/settings/gnome.yml b/tasks/workstation/shared/settings/gnome.yml index fd4b66e..9d28198 100644 --- a/tasks/workstation/shared/settings/gnome.yml +++ b/tasks/workstation/shared/settings/gnome.yml @@ -12,7 +12,6 @@ , 'org.gnome.Nautilus.desktop' , 'io.gitlab.librewolf-community.desktop', 'librewolf.desktop' , 'org.mozilla.firefox.desktop', 'firefox.desktop' - , 'chat.simplex.simplex.desktop' , 'org.signal.Signal.desktop', 'signal-desktop.desktop' , 'org.telegram.desktop.desktop' , 'com.discordapp.Discord.desktop' @@ -41,6 +40,7 @@ #, 'com.google.AndroidStudio.desktop' # 2025-08-31 Not used a whole lot, installed again just to explore. #, 'im.riot.Riot.desktop' +#, 'chat.simplex.simplex.desktop' - name: Workstation | Account Management | GNOME | Facts (NixOS) set_fact: From 411f2030249d21a49f75a2083755d40f14c0f55f Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 2 Sep 2025 14:20:21 -0700 Subject: [PATCH 52/54] Add new project to rewrite my site in Hugo. --- tasks/general/acct_mgmt/users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/general/acct_mgmt/users.yml b/tasks/general/acct_mgmt/users.yml index 12a8526..a612ec9 100644 --- a/tasks/general/acct_mgmt/users.yml +++ b/tasks/general/acct_mgmt/users.yml @@ -589,6 +589,7 @@ android-45-minute-rule dev android-tictactoe dev hugo-jackanope dev + hugo-website dev EOF } function code-reseed { From 2dd0303176818d042ed7b76ac748e5dce599fe99 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 16 Sep 2025 12:23:38 -0700 Subject: [PATCH 53/54] Change URL for HTTP to include the S so that ansible-pull can correctly detect the changes to the repo. --- facts/general/system.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/facts/general/system.yml b/facts/general/system.yml index ee2aa18..37b0846 100644 --- a/facts/general/system.yml +++ b/facts/general/system.yml @@ -8,7 +8,7 @@ st_install_dir: /usr/local/src/st global_bin: /usr/local/bin x_desktops: /usr/share/xsessions - git_repo_http: http://{{ git_host }}/{{ git_user }}/{{ git_project }} + git_repo_http: https://{{ git_host }}/{{ git_user }}/{{ git_project }} git_repo_ssh: ssh://git@{{ git_host }}:{{ git_ssh_port }}/{{ git_user }}/{{ git_project }} From 54589ca033b89d663c333cd4e4ffbcbf70dee439 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 16 Sep 2025 12:28:32 -0700 Subject: [PATCH 54/54] Add verbosity to ansible-pull command. --- tasks/general/cron/ansible.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/general/cron/ansible.yml b/tasks/general/cron/ansible.yml index f646d9f..907041e 100644 --- a/tasks/general/cron/ansible.yml +++ b/tasks/general/cron/ansible.yml @@ -6,7 +6,7 @@ user: ansible name: "Ansible Sync" minute: "*/30" - job: "sudo {{ ansible_pull_exec.stdout }} -o -U {{ git_repo_http }} --checkout {{ branch }}" + job: "sudo {{ ansible_pull_exec.stdout }} -v -o -U {{ git_repo_http }} --checkout {{ branch }}" state: present disabled: "{{ 'yes' if no_telem else 'no' }}"