Compare commits

...

35 Commits

Author SHA1 Message Date
411f203024 Add new project to rewrite my site in Hugo. 2025-09-02 14:20:21 -07:00
9f22385040 Simplex Desktop does not work without phone scan each time, do not keep on Favorite bar. 2025-08-31 11:57:34 -07:00
103a79a7ee Add Simplex to favorites. 2025-08-31 11:50:19 -07:00
602376df5f Remove Element from Favorites. 2025-08-31 11:31:57 -07:00
95c87448c8 Add aliases for remembering the Flatpak app size checking command. 2025-08-31 11:30:13 -07:00
df5421defe Ensure name of code-oss executable does not interfere with any ~/Code shortcuts. 2025-08-31 11:28:23 -07:00
1e7e11ed91 Change the order of generic apps based on importance. 2025-08-31 11:27:38 -07:00
07dc365410 Add the Matrix protocol messenger Element back to the list, as well as Simplex. 2025-08-31 11:03:11 -07:00
c248a3c048 Add extra dialog to show where we're at when next apt prompt comes up. 2025-08-22 15:54:38 -07:00
16466fb0c8 Finalize backup list. Fixes for debian-upgrade. 2025-08-22 14:04:21 -07:00
86e3f40d36 Added and tested now and backup. Still need to test debian-upgrade. 2025-08-22 13:43:40 -07:00
8038e10364 Add purge to autoremove so that unused config files also get removed. 2025-08-22 11:54:22 -07:00
295f29dece Do not check services if host is a Docker container. 2025-08-21 15:31:40 -07:00
8181ee0848 Remove extra space. 2025-08-21 15:27:14 -07:00
c87c4468b3 Fix command to work locally. 2025-08-21 15:26:26 -07:00
e19902074a Try starting the necessary services multiple times. 2025-08-21 14:55:36 -07:00
c12b54d0dc Only use fastfetch for Trixie. 2025-08-21 14:40:35 -07:00
a5023b2ef7 Add shortcut to remembering how to see Ansible facts. 2025-08-21 14:40:25 -07:00
ad6601f17e neofetch is no longer available in Debian 13 (Trixie). Use fastfetch instead. 2025-08-21 14:31:07 -07:00
8e3e284753 Ensure boolean values are treated as booleans in Debian Trixie. 2025-08-21 14:27:07 -07:00
df4efb2beb Move the Connect software to Workstation. 2025-08-21 14:06:19 -07:00
c7d06da91e Add dig to default installs. 2025-08-19 14:48:23 -07:00
3e1b0cc961 Do not include an extra newline when working with HTML, causes whitespace issues. 2025-08-19 11:52:38 -07:00
2b551cbff5 Add hugo website to project list. 2025-08-18 18:24:08 -07:00
64c77cbd20 Add hugo to workstation packages. 2025-08-13 16:55:07 -07:00
c8186d30da Add Telegram back to install list. 2025-08-12 05:41:09 -07:00
68e1e5a48f Fix unnecessary s in name. 2025-07-26 11:40:46 -07:00
f61fe14a94 Add the speed boost to other stat checks as well. 2025-07-26 11:38:52 -07:00
a03a1b6493 Fix lag of stat building checksum and other data on large swapfile. 2025-07-26 11:35:28 -07:00
d1f50523fb Add output that the log is being followed. 2025-07-26 11:27:09 -07:00
9339b590e0 Add more projects t the reseed list. 2025-07-23 06:49:43 -07:00
dfe0b26498 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. 2025-07-23 06:44:35 -07:00
57f14fed8d Add alias for nethogs so that base user can hit it. 2025-07-22 16:19:09 -07:00
23b16f5db4 Enable and start chrony service. 2025-07-22 10:03:12 -07:00
a15e0017a6 Add nethogs and chrony to package list. 2025-07-22 10:03:02 -07:00
15 changed files with 384 additions and 151 deletions

View File

@@ -7,6 +7,10 @@
sshfs: sshfs
tar: tar
iftop: iftop
nethogs: nethogs
ntp_server: chrony
dig: dig
neofetch: neofetch
- name: General | Facts | Packages | Parrot OS Fixes
set_fact:
@@ -22,8 +26,14 @@
microcode_intel: intel-microcode
cron: cron
encfs: encfs
dig: dnsutils
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
@@ -99,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 ***" &&
@@ -114,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

View File

@@ -12,6 +12,9 @@
"editor.tabSize": 3,
"editor.insertSpaces": false,
"files.insertFinalNewline": true,
"[html]": {
"files.insertFinalNewline": false
},
"files.trimFinalNewlines": true,
"git.confirmSync": false,

View File

@@ -125,17 +125,17 @@
- 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') }}"
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') }}"
@@ -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.
@@ -211,15 +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') }}"
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:
@@ -227,6 +229,7 @@
loop:
- { 'workstation': "{{ workstation }}" }
- { 'coding': "{{ coding }}" }
- { 'sdks': "{{ sdks }}" }
- { 'editing': "{{ editing }}" }
- { 'gaming': "{{ gaming }}" }
- { 'rdp': "{{ rdp }}" }
@@ -285,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:
@@ -354,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:

View File

@@ -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 &&
@@ -436,6 +440,7 @@
docker compose up -d
if [[ -n "$1" ]]; then
echo "Following logs of '$1':"
docker logs -f $1
fi
@@ -458,6 +463,7 @@
docker compose up -d
if [[ -n "$1" ]]; then
echo "Following logs of '$1':"
docker logs -f $1
fi
@@ -524,6 +530,7 @@
docker compose up -d
if [[ -n "$1" ]]; then
echo "Following logs of '$1':"
docker logs -f $1
fi
@@ -567,6 +574,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 +583,13 @@
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
hugo-jackanope dev
hugo-website dev
EOF
}
function code-reseed {
@@ -729,6 +744,103 @@
alias ll='ls -alh'
alias_progs: |
alias progs='ps -ef'
alias_nethogs: |
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 /var/{log,mail,spool} /srv /boot \
/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'. "
return 1
fi
echo "*** Running 'backup' before starting upgrade. ***"
sleep 1
backup
echo "*** Listing the current apt listing for '$OLD' ***"
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
read confirm_change
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
find /etc/apt/sources.list.d -name "*.list" \
-exec sudo sed -i "s/$OLD/$NEW/g" {} \;
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
read confirm_correct
if [[ -z "$confirm_correct" || "$confirm_correct" == "N"* ]]; then
echo "*** Aborting upgrade, confirmation rejected. ***"
return 1
fi
unset confirm_correct
echo "*** Starting the upgrade. ***"
sleep 1
sudo apt update
sudo apt upgrade --without-new-pkgs
echo "*** Upgrades complete, now add new packages. ***"
sleep 1
sudo apt full-upgrade
echo "*** New packages complete, clean apt files. ***"
sleep 1
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"
- name: General | Account Management | Users | Files | Common Variable
set_fact:
@@ -795,6 +907,11 @@
{{ alias_iftop }}
{{ alias_ls }}
{{ alias_progs }}
{{ alias_nethogs }}
{{ alias_ansible_facts }}
{{ function_now }}
{{ function_backup }}
{{ function_debian_upgrade }}
- name: General | Account Management | Users | Files | .bashrc
blockinfile:

View File

@@ -43,7 +43,7 @@
- bash
- sudo
- nmap
- neofetch
- "{{ neofetch }}"
- "{{ sshfs }}"
- "{{ locate }}"
- zsh
@@ -57,6 +57,9 @@
- "{{ encfs }}"
- rsync
- "{{ iftop }}"
- "{{ nethogs }}"
- "{{ ntp_server }}"
- "{{ dig }}"
state: present
- name: General | Software | Packages | Install Software (DEV)
@@ -139,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:

View File

@@ -9,6 +9,11 @@
pattern: "{{ crond_pattern }}"
state: started
enabled: yes
when: ansible_virtualization_type != 'docker'
register: cron_status
until: cron_status.state == "started"
retries: 3
delay: 3
## CUPS ##
@@ -76,6 +81,11 @@
pattern: "{{ sshd_pattern }}"
state: reloaded
enabled: yes
when: ansible_virtualization_type != 'docker'
register: sshd_status
until: sshd_status.state == "started"
retries: 3
delay: 3
## JournalCTL ##
@@ -96,3 +106,17 @@
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
when: ansible_virtualization_type != 'docker'
register: ntp_status
until: ntp_status.state == "started"
retries: 3
delay: 3

View File

@@ -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

View File

@@ -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

View File

@@ -30,23 +30,142 @@
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]
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
@@ -112,7 +231,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 +241,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
@@ -228,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

View File

@@ -34,18 +34,20 @@
- 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: "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: "" }
- { app: "io.dbeaver.DBeaverCommunity", name: "dbeaver", extra: "" }
- { app: "org.godotengine.Godot", name: "godot", 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: "" }
@@ -67,14 +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: "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.
- { 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 #

View File

@@ -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

View File

@@ -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"

View File

@@ -39,8 +39,17 @@
- "{{ evolution }}"
- "{{ evolution }}*"
- gparted
- 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

View File

@@ -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"

View File

@@ -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,9 @@
#, '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'
#, 'chat.simplex.simplex.desktop'
- name: Workstation | Account Management | GNOME | Facts (NixOS)
set_fact: