Compare commits

...

52 Commits

Author SHA1 Message Date
9ce7c641af Merge pull request 'BASHrc Upgrades, Backup Script, DWM Enhancements, Hugo Helpers, Branch Controls' (#7) from dev into main
Reviewed-on: #7
2025-12-01 09:50:54 -07:00
71cf71e29b Ignore the /srv/sftp directory when making system backups. 2025-12-01 09:47:43 -07:00
58525e2a5c Fix function exits to be returns. 2025-12-01 09:05:20 -07:00
f7869fd453 Change the timestamp formatting to be optional. 2025-11-30 19:16:50 -07:00
95212b1c73 Add shortcuts for checking code project branches to easily see which have been promoted and which have dev/stage changes. 2025-11-30 17:56:56 -07:00
ad6b9d4794 Remove TBD from commit code by using commit. :) 2025-11-28 15:00:43 -07:00
c6e8290b43 Add commit function to bashrc. 2025-11-28 14:57:22 -07:00
4a9cd06654 Add code for commit function. 2025-11-28 14:07:34 -07:00
c36a689d8f Add TBD. 2025-11-28 13:50:03 -07:00
0790da74dc Add flatpak Xournal++. Remove flatpak Simplex. Improve comments. 2025-11-22 12:21:07 -07:00
7be9c3a82f Add alias for cleaning unused Flatpak dependencies. 2025-11-22 12:13:50 -07:00
650157478d Add a TBD for preventing annoying behavior in gnome-terminal. 2025-11-22 10:55:02 -07:00
f4c3cc8b8e Add a few small docker shortcuts. 2025-11-22 10:19:30 -07:00
8b6e665db3 Update formatting of README. Add comments on which OS's are truly currently supported. 2025-11-21 17:58:52 -07:00
d8a29952f6 Move messaging apps to the end of the favorites bar. 2025-11-21 15:33:40 -07:00
1d699ae4a5 Run pull and build before taking the container down. 2025-11-21 08:29:02 -07:00
c568e0efbb Ensure headers are always installed on Debian systems. They stopped being included on a Macbook which resulted in Broadcom wl not being available, meaning WiFi was not working. 2025-11-19 12:31:20 -07:00
f48fcaf610 Stop using the Hugo Server params recommended by YT videos, they seem to make things break and also cause caching issues which were not previously present. 2025-11-16 07:24:03 -07:00
8a4446f7e3 Add TBD. 2025-11-11 20:11:15 -07:00
477797e045 Change default non-DWM formatting. 2025-11-10 21:58:30 -07:00
88b602f8f4 Have DWM status call status with a parameter. 2025-11-10 21:58:13 -07:00
5274d6d94d Move status to be a normal function so it's available on non-workstations. 2025-11-10 21:57:59 -07:00
692df74d41 Add reset of function files in case of renames. 2025-11-10 21:57:20 -07:00
7af798a7c0 Add placeholder functions for later functionality. 2025-11-10 21:37:47 -07:00
683e03eab2 Move function files to their own folder. Move the copy to General from Workstation. Leave dwm-status function under Workstation. 2025-11-10 21:37:25 -07:00
91c0a412bf Change storage output to be shorter. 2025-11-10 21:29:46 -07:00
4584a1a4c3 Add clock icon. 2025-11-10 21:29:01 -07:00
a4378c2bb3 Use for loop and . to keep functions in current shell. 2025-11-10 21:25:14 -07:00
72ce1e2ab5 Prevent additional call in dwm-status. 2025-11-10 21:19:36 -07:00
dde5b35bef Ensure all function files get sourced rather than hardcoding them. 2025-11-10 21:19:16 -07:00
e6947d4a30 Only show the int value of the battery percentage by default, rather than including the decimals. 2025-11-10 21:12:53 -07:00
b0762c7baf Move the status generation to its own file and give it a testing mode. Greatly enhance the logic and reduce the amount of times each variable gets updated. 2025-11-10 21:11:10 -07:00
ce67c2a5b8 Correct the free and used wording. 2025-11-10 21:07:39 -07:00
4b73dc336c Remove colons after icons, did not look good. 2025-11-10 17:45:10 -07:00
f32074a387 Fix dwm home call to use home not root. 2025-11-10 17:40:24 -07:00
af49b5dc86 Change status bar words to icons. 2025-11-10 17:33:54 -07:00
5bee3a30f9 Add back the & which went missing while playing with test.sh. 2025-11-10 17:25:06 -07:00
baa52bdca6 Add more aliases for battery function. 2025-11-10 17:24:05 -07:00
b734f16af1 Fix function rename in lower calls. 2025-11-10 17:23:10 -07:00
6607438f85 Add comments and error consistency. 2025-11-10 17:21:09 -07:00
ee7aa402aa More testing and fixes for volume functions. 2025-11-10 17:18:24 -07:00
50d3104f9f Rename the function to be more consistent and add a sane default check. 2025-11-10 17:01:58 -07:00
dff1560f6f Properly call the storage commands, using more functions! 2025-11-10 16:56:50 -07:00
5c3d5dd41e Change the function name to be more consistent with other files. 2025-11-10 16:56:14 -07:00
f562c8aecd Create function files as executable. 2025-11-10 16:46:00 -07:00
407bdb2ddf Add single quotes around awk parameters. 2025-11-10 15:09:37 -07:00
d1cd9dddf1 Add quotes around location variable. 2025-11-10 15:08:26 -07:00
68eb84af52 Fix missing then. 2025-11-10 15:07:45 -07:00
46d1bfb70e Still thinking of rewording line 2. Modify spacing. 2025-11-10 15:05:42 -07:00
8970bb3a1b Add quotes in case path has spaces, which it shouldn't, but it's good practice to protect it anyways. 2025-11-10 14:58:21 -07:00
eae66f9967 Add back in direct volume assignment, may have been cut and not copied back in. Re-test to ensure all is working well. 2025-11-10 14:57:00 -07:00
2770bbac5f If the DWM helper functions are available, go ahead and source them for local usage. 2025-11-10 14:47:46 -07:00
21 changed files with 386 additions and 98 deletions

View File

@@ -1,4 +1,5 @@
# ansible
Getting real with system management via ansible-pull.
Per-system configuration is handled via local files to the provisioned machine,
@@ -10,59 +11,124 @@ accessed via the show-config and edit-config aliases.
This setup is specific to the maintainer's devices and needs. You're welcome to
use it as an example for your needs, but do not expect it to work as-is.
## Currently Supported Linux Systems
## Currently Supported Systems
This information is as of 2025-11-21.
### Primary
These are the operating systems used as my daily driver.
#### Debian Trixie
This has been used as my primary server and workstation OS since at least 2024.
The `apt` version of `ansible` in both Bookworm and Trixie are sufficient,
no longer need to use `ansible` out of `pip`.
### Secondary
These are tested via my Docker project's `ProvisionsTests` container but not currently used as daily drivers.
#### Arch
TBD
#### Fedora
TBD
#### OpenSUSE
TBD
#### Ubuntu
TBD
## Previusly Supported Systems
### Debian Family
#### Debian
100%, but only if using a recent enough version of Ansible. `pip` usually has a
better version than `apt`.
#### Ubuntu
100%, both server and desktop.
#### Pop!_OS
100%, have not used for a while though.
#### Mint
100%, but not really used, just tested once for fun.
#### Parrot Security OS (MATE)
100% for a while, but OS did not serve maintainer's needs and 404 errors were
terrible while updating. Ubuntu Rolling Rhino filled the gap.
### Arch Family
#### Arch
100% at some point, including installation and configuration of a Desktop Environment.
#### Manjaro
100% at some point.
### Fedora Family
#### Fedora 35
Workstation: 100%
Workstation: 100%,
Server: 100%
## Suse Family
### openSUSE Tumbleweed v2022-02-17
Generic: 100%
Generic: 100%,
Workstation: 100%
### openSUSE Leap 15.4
Generic: 100%
Workstation: Currently failing at `[Workstation | Linux | Flatpak Distro | Package Manager | Install From Repo]` with message `Problem: nothing provides libedataserver-1.2.so.24 needed by the to be installed evolution-data-server-32bit-3.34.4-3.3.1.x86_64`.
### NixOS
99%, still need to get Telegraf going and refactor local.yml but everything else
is working well. It is automatically implementing git.hyperling.com/me/env-nixos.
## Currently Supported Unix Systems
### FreeBSD 12, 13
100%, although GUI is not working completely on 13 yet (dash-to-dock doesn't compile).
Software choices are slightly more limited since not `flatpak`-enabled and not feeling a `ports` setup.
## Waiting To Be Tested
### Kali Linux
### Arch Linux ARM
Specifically for the Pinephone.
### Arch Linux x86
Would be great to have Arch get built up by this. Used for many years but left
after update problems due to a long computer hiatus.
### Fedora Mobile
Specifically for the Pinephone.
## Future Goals
Eventually some of the scripts and install files will be put into the files
folder. This will allow initializing systems outside of the maintainer's home
network.
@@ -74,6 +140,8 @@ benefit has yet to be seen for some tasks. Shared facts will definitely continue
to exist under the facts tree.
## Other Notes
### Get Setup Values
Use this command to see the variables for a system:
`ansible localhost -m setup --connection=local`.

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# 2025-11-10 Hyperling
function battery {
upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | grep -o "[0-9.%]*"
}
alias show-battery="battery"
alias battery-display="battery"

9
files/dwm/dwm-status.function Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
# 2025-11-10 Hyperling
# Icons: https://fontawesome.com/v4/cheatsheet/
source "`which status.function`"
function dwm-status {
status-display --dwm
}

View File

@@ -34,25 +34,9 @@ xsetroot -solid "$purple"
# slstatus, from Suckless #
#exec slstatus &
# Custom #
source `which volume.function`
source `which battery.function`
source `which storage.function`
if [[ "`storage-root`" == "`storage-home`" ]]; then
storage_cmd=echo 'Storage: `storage-root-dwm`)"'
else
storage_cmd=echo '"Storage(Root:`storage-root-dwm` Home:`storage-home-dwm`)'
fi
while true; do
readout="$readout Battery: `battery-display`"
readout="$readout | `storage_cmd`"
readout="$readout | `volume-display`"
readout="$readout | `whoami`@`hostname`"
readout="$readout `date +"%Y-%m-%d %H:%M:%S"`"
xsetroot -name "$readout"
readout=""
sleep 0.75
done &
# Custom Setup #
source "`which dwm-status.function`"
dwm-status &
## Start ##

View File

@@ -1,35 +0,0 @@
#!/usr/bin/env bash
# 2025-11-10 Hyperling
function storage {
location="$1"
style="$2"
if [[ -z $location ]]; then
echo "ERROR: Location must be passed. $location"
fi
if [[ "$style" == "%" || "$style" == "pct" || "$style" == "percent" ]]; then
df -h $location | tail -n 1 | awk {print $5}
elif [[ "$style" == "/" || "$style" == "use" || "$style" == "usage" ]]
df -h $location | tail -n 1 | awk {print $3"/"$2}
else
df -h $location | tail -n 1 | awk {print $5" Free, "$3"/"$2" Used"}
fi
}
export dwm_storage_style="usage"
function storage-root {
storage / "$1"
}
function storage-root-dwm {
storage-root "$dwm_storage_style"
}
function storage-home {
storage /home "$1"
}
function storage-home-dwm {
storage-root "$dwm_storage_style"
}

View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# 2025-11-10 Hyperling
function battery-display {
detailed="N"
if [[ -n $1 ]]; then
detailed="Y"
fi
if [[ "$detailed" == "Y" ]]; then
upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | grep -o "[0-9.%]*"
else
int="`upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | grep -o "[0-9]*" | head -n 1`"
echo "${int}%"
fi
}
alias show-battery="battery-display"
alias battery="battery-display"
alias battery-use="battery-display"
alias battery-usage="battery-display"
alias battery-level="battery-display"
alias battery-levels="battery-display"

View File

@@ -0,0 +1,3 @@
#/usr/local/bin env
# TBD/TODO

View File

@@ -0,0 +1,3 @@
#/usr/local/bin env
# TBD/TODO

85
files/functions/status.function Executable file
View File

@@ -0,0 +1,85 @@
#!/usr/bin/env bash
# 2025-11-10 Hyperling
# Icons: https://fontawesome.com/v4/cheatsheet/
source "`which volume.function`"
source "`which battery.function`"
source "`which storage.function`"
function datetime {
date +"%Y-%m-%d %H:%M:%S"
}
function status-display {
# Defaults
cmd="echo"
sleep=0.2
if [[ "`storage-root`" == "`storage-home`" ]]; then
function status-display-storage {
echo "`storage-root`"
}
else
function status-display-storage {
echo "Root (`storage-root`), Home (`storage-home`)"
}
fi
# Test Config
if [[ $1 == "-t" || $1 == "--test" || $1 == "test" ]]; then
sleep=5
fi
# DWM Config
if [[ $1 == "-d" || $1 == "--dwm" || $1 == "dwm" ]]; then
cmd="xsetroot -name"
if [[ "`storage-root`" == "`storage-home`" ]]; then
function status-display-storage {
echo "`storage-root-dwm`)"
}
else
function status-display-storage {
echo "(Root `storage-root-dwm`, Home `storage-home-dwm`)"
}
fi
fi
battery=""; storage=""; volume=""; datetime="";
userhost="`whoami`@`hostname`"
while true; do
# Exit if parent process is gone.
#TBD/TODO
# Reset Variables
if [[ $datetime == *"00" ]]; then
unset battery
unset storage
fi
if [[ $datetime != "`datetime`" ]]; then
unset volume
unset datetime
fi
# Set Variables
if [[ -z $battery ]]; then
battery="`battery-display`"
fi
if [[ -z $storage ]]; then
storage="`status-display-storage`"
fi
if [[ -z $volume ]]; then
volume="`volume-display`"
fi
if [[ -z $datetime ]]; then
datetime="`datetime`"
fi
# Display Variables
readout="$readout  $battery"
readout="$readout |  $storage"
readout="$readout |  $volume"
readout="$readout |  $userhost"
readout="$readout |  $datetime"
$cmd "$readout"
readout=""
sleep $sleep
done
}
alias status="status-display --test"

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
# 2025-11-10 Hyperling
function storage-display {
location="$1"
style="$2"
if [[ -z "$location" ]]; then
echo "ERROR: Location must be passed. $location"
fi
if [[ "$style" == "%" || "$style" == "pct" || "$style" == "percent" ]]; then
df -h "$location" | tail -n 1 | awk '{print $5" Used"}'
elif [[ "$style" == "/" || "$style" == "use" || "$style" == "usage" ]]; then
df -h "$location" | tail -n 1 | awk '{print $4"/"$2" Free"}'
elif [[ "$style" == "G" || "$style" == "S" || "$style" == "F" ]]; then
df -h "$location" | tail -n 1 | awk '{print $4" Free"}'
else
df -h "$location" | tail -n 1 | awk '{print $5" Used - "$4"/"$2" Free"}'
fi
}
alias storage='echo -n "Root: " && storage-display "/" "F" && echo -n "Home: " && storage-display "/home" "F"'
export dwm_storage_style="F"
function storage-root {
storage-display / "$1"
}
function storage-root-dwm {
storage-root "$dwm_storage_style"
}
function storage-home {
storage-display /home "$1"
}
function storage-home-dwm {
storage-home "$dwm_storage_style"
}

View File

@@ -0,0 +1,3 @@
#/usr/local/bin env
# TBD/TODO

View File

@@ -29,28 +29,36 @@ function volume-usage {
volume-usage,
volume-help volume help, volume --help, volume -h
EOF
return "$1"
return $1
}
alias volume-help="volume-usage"
alias vol-h="volume-help"
function volume {
## Check Params ##
if [[ "$1" == "--help" || "$1" == "help" || "$1" == "-h" ]]; then
volume-usage
volume-usage 1
return 1
fi
if [[ (-z "$1" && -z "$2")
|| "$1" == "--display" || "$1" == "display" || "$1" == "-d" || "$1" == "+d"
]]; then
volume-display
return 0
fi
## Parse Params ##
dir=""
amt=""
# Remove percent signs.
if [[ "$1" == *"%"* || "$2" == *"%"* ]]; then
set -- "${1//%/}" "${2//%/}"
fi
dir=""
typeset -i amt
# Check if format is written text.
if [[ "$1" == "full" || "$1" == "max" ]]; then
amt=100
@@ -89,11 +97,25 @@ function volume {
fi
if [[ -n "$dir" && -z "$amt" ]]; then
amt="$1"
amt=${amt//-/}
amt=${amt//+/}
fi
fi
amt=${amt//-/}
amt=${amt//+/}
# Check if format is direct volume.
if [[ -z "$dir" && -z "$amt" && -n "$1" && -z "$2" ]]; then
amt="$1"
fi
## Error Checking ##
regex='^[0-9]+$'
if ! [[ $amt =~ $regex ]]; then
echo "> ERROR: Amount '$amt' does not seem like a integer."
volume-usage 2
return 2
fi
## Main ##
if [[ -n "$dir" && -n "$amt" ]]; then
echo "> Changing volume by '$dir$amt%'."
@@ -109,7 +131,7 @@ function volume {
return 0
fi
echo "Error: Should not have made it here. Please report this to the developer."
echo "> ERROR: Should not have made it here. Please report this to the developer."
echo "$0 $1 $2"
return 7
}
@@ -126,6 +148,8 @@ function volume-display {
}
alias "vol-d"="volume-display"
## TBD/TODO ##
# Go up and down until cancelled.
#function volume-trip {
# curr eq amixer current readout

View File

@@ -0,0 +1,3 @@
#/usr/local/bin env
# TBD/TODO

View File

@@ -0,0 +1,3 @@
#/usr/local/bin env
# TBD/TODO

View File

@@ -39,7 +39,7 @@ echo "*** Creating backup at '$BACKUP' ***"
sudo zip -rv "$BACKUP" \
/etc /var/{log,mail,spool} /srv /boot \
/usr/local/etc $EXTRA \
-x "/srv/backup/*"
-x "/srv/backup/*" -x "/srv/sftp/*"
status="$?"
if [[ "$status" != 0 ]]; then

View File

@@ -28,7 +28,7 @@ function usage() {
# Parameters:
# 1) The exit status to use.
status=$1
echo "Usage: $PROG [-s SIZE] [-l LOCATION] [-A | [-r] [-f] [-d] [-c]] [-h] [-x]" >&2
echo "Usage: $PROG [-s SIZE] [-l LOCATION] [-A | [-r] [-f] [-d] [-c]] [-h] [-x] [-t]" >&2
cat <<- EOF
Compress JPG or PNG image(s). Can handle folders and work recursively.
@@ -45,13 +45,14 @@ function usage() {
-A : Resursively Force, Delete, and Clean.
-h : Display this usage text.
-x : Enable BASH debugging.
-t : Format timestamp.
EOF
exit $status
}
## Parameters ##
while getopts ":s:l:rfFdcAhx" opt; do
while getopts ":s:l:rfFdcAhxt" opt; do
case $opt in
s) in_size="$OPTARG" && size="$in_size" ;;
l) location="$OPTARG" ;;
@@ -64,6 +65,7 @@ while getopts ":s:l:rfFdcAhx" opt; do
A) recurse="Y" && search="find" && force="Y" && delete="Y" && expand="Y" ;;
h) usage 0 ;;
x) set -x ;;
t) format_time="Y" ;;
*) echo "ERROR: Option $OPTARG not recognized." >&2 && usage 1 ;;
esac
done
@@ -130,7 +132,9 @@ $search "$location" | sort | while read image; do
# 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}"
if [[ "$format_time" == "Y" ]]; then
new_image_exp="${new_image_exp}_${TEMP:8:2}-${TEMP:10:2}-${TEMP:12:2}"
fi
# Remainder Data
if [[ "${TEMP:14:1}" == "." ]]; then
SEP=""

View File

@@ -453,8 +453,8 @@
return 0
fi
docker compose down &&
docker compose build &&
docker compose down &&
docker compose up -d
if [[ -n "$1" ]]; then
@@ -475,9 +475,9 @@
return 0
fi
docker compose down &&
docker compose pull &&
docker compose build &&
docker compose down &&
docker compose up -d
if [[ -n "$1" ]]; then
@@ -519,12 +519,12 @@
docker ps
return;
fi
echo "*** Going Down ***" &&
docker compose down &&
echo "*** Upgrading Images ***" &&
docker compose pull &&
echo "*** Building Containers ***" &&
docker compose build &&
echo "*** Going Down ***" &&
docker compose down &&
echo "*** Starting Daemons ***" &&
docker compose up -d &&
echo "*** Following Log ***" &&
@@ -554,6 +554,10 @@
return 0
}
alias_docker_other: |
alias docker-stop="docker compose down"
alias docker-start="docker compose up -d && docker compose start"
alias docker-prep="docker compose pull && docker compose build"
alias_code_check: |
alias code-check='
echo "Checking ~/Code directory for git changes."
@@ -953,7 +957,7 @@
if [[ "$rcvr" == "main" ]]; then
echo "*** ERROR: Are you nuts, fool!? Not main! Do it manually! ***"
exit 1
return 1
fi
if [[ -z "$base" ]]; then
@@ -963,7 +967,7 @@
base="dev"
else
echo "* Unsure which branch to use for '$rcvr'. Please specify."
exit 1
return 1
fi
echo "* Base was not specified, using '$base' for '$rcvr'."
else
@@ -1007,6 +1011,18 @@
alias reset-prod="load-branch prod main"
alias reset-stage="load-branch stage main"
alias reset-dev="load-branch dev main"
function check-code-branches {
for dir in ~/Code/*/; do
cd $dir
pwd
git ls-remote --heads
echo " "
cd ..
done
}
alias check-branches="check-code-branches"
alias check-branch="git ls-remote --heads"
alias branch-check="check-branch"
alias_reload_bash: |
alias reload-bash="source ~/.bashrc"
alias bash-reload="reload-bash"
@@ -1014,10 +1030,39 @@
alias reload-shell="reload-bash"
alias reload="reload-bash"
alias_hugo_server: |
alias hugo-server-dev="hugo server -D --gc --ignoreCache --noHTTPCache --disableFastRender"
alias hugo-server-stage="hugo server --gc --noHTTPCache --disableFastRender"
alias hugo-server-dev="hugo server -D --gc" # --ignoreCache --noHTTPCache --disableFastRender"
alias hugo-server-stage="hugo server --gc" # --noHTTPCache --disableFastRender"
alias hugo-server-prod="hugo server --gc --minify"
alias hugo-server="hugo-server-dev"
global_functions: |
for global_function in "{{ global_bin }}/"*".function"; do
if [[ -f "$global_function" ]]; then
. "$global_function"
fi
done
alias_flatpak_clean: |
alias flatpak-clean="flatpak uninstall --unused"
alias_commit: |
function commit_usage {
echo 'Usage: commit "This is a commit message"'
}
function commit {
if [[ -z "$1" ]]; then
echo "ERROR: Message must be provided."
commit_usage
return 1
fi
if [[ "$1" == "-h"* || "$1" == "--h"* ]]; then
commit_usage
fi
message="$1"
git add . &&
git commit -m "$message" &&
git push
status="$?"
return "$status"
}
- name: General | Account Management | Users | Files | Common Variable
set_fact:
@@ -1097,6 +1142,10 @@
{{ function_load_branch }}
{{ alias_reload_bash }}
{{ alias_hugo_server }}
{{ global_functions }}
{{ alias_docker_other }}
{{ alias_flatpak_clean }}
{{ alias_commit }}
- name: General | Account Management | Users | Files | .bashrc
blockinfile:
@@ -1166,3 +1215,17 @@
- .bashrc
- .zshrc
- .vimrc
- name: General | Account Management | Users | Files | Helper Functions (Reset)
shell: "rm -v {{ global_bin }}/*.function"
- name: General | Account Management | Users | Files | Helper Functions
copy:
src: "{{ item }}"
dest: "{{ global_bin }}"
owner: root
group: "{{ root_group }}"
mode: 0755
with_fileglob:
- "functions/*.function"

View File

@@ -82,6 +82,15 @@
when: ansible_distribution == "Ubuntu"
ignore_errors: yes
- name: General | Software | Packages | Add Generic Kernel + Headers (Debian)
package:
name:
- linux-image-amd64
- linux-headers-amd64
state: present
when: ansible_distribution == "Debian"
ignore_errors: yes
- name: General | Software | Services | Install killall (Looking at you, Debian)
package:
name: psmisc

View File

@@ -36,7 +36,6 @@
flatpaks_generic:
- { app: "org.mozilla.firefox", name: "firefox-flatpak", 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: "" }
@@ -44,6 +43,7 @@
- { app: "org.libreoffice.LibreOffice", name: "office", extra: "" }
- { app: "com.transmissionbt.Transmission", name: "transmission", extra: "" }
- { app: "app.grayjay.Grayjay", name: "grayjay", extra: "" }
- { app: "com.github.xournalpp.xournalpp", name: "xournal", extra: "" }
flatpaks_coding:
- { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" }
- { app: "com.google.AndroidStudio", name: "android-studio", extra: "" }
@@ -72,11 +72,12 @@
# 2022-11-20 No longer using any of these and they're taking up a lot of space. #
- { 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: "io.lbry.lbry-app", name: "lbry", extra: "dbus-launch" } # 2023-09-01, Noticed it is no longer supported.
- { app: "chat.delta.desktop", name: "deltachat", extra: "" } # 2023-12-18, No longer used.
- { app: "org.gnome.Geary", name: "geary", extra: "" } # 2024-12-15, No longer used.
- { 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.
- { app: "org.godotengine.Godot", name: "godot", extra: "" } # 2025-08-31, Stopped playing with this months / years ago. Seemed cool but Flutter is working well for this purpose.
- { app: "chat.simplex.simplex", name: "simplex", extra: "" } # 2025-11-22, Takes a ton of space and does not work without interacting with phone.
# Generic #

View File

@@ -12,9 +12,6 @@
, 'org.gnome.Nautilus.desktop'
, 'io.gitlab.librewolf-community.desktop', 'librewolf.desktop'
, 'org.mozilla.firefox.desktop', 'firefox.desktop'
, 'org.signal.Signal.desktop', 'signal-desktop.desktop'
, 'org.telegram.desktop.desktop'
, 'com.discordapp.Discord.desktop'
, 'com.vscodium.codium.desktop'
, 'codium.desktop'
, 'org.shotcut.Shotcut.desktop'
@@ -24,6 +21,9 @@
, 'com.valvesoftware.Steam.desktop'
, 'net.lutris.Lutris.desktop'
, 'mullvad-vpn.desktop'
, 'org.signal.Signal.desktop', 'signal-desktop.desktop'
, 'org.telegram.desktop.desktop'
, 'com.discordapp.Discord.desktop'
]"
dconf_terminal: gnome-terminal
dconf_theme: Adwaita-dark
@@ -274,6 +274,13 @@
dconf write /org/gnome/desktop/media-handling/autorun-never true && inc_dconf &&
## Gnome Terminal ##
# TBD: Do not start new tabs in previous tab's directory.
# The profile ID is likely unique and will need to be retrieved first.
#/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/preserve-working-directory
#'never'
## Success ##
sleep 0 ||

View File

@@ -80,12 +80,14 @@
mode: 0644
## Helper Functions for Status Bar ##
## Status Bar ##
- name: Workstation | Linux | Software | DWM | Status Bar Functions
- name: Workstation | Linux | Software | DWM | Status Bar Function
copy:
src: dwm/*.functions
src: "{{ item }}"
dest: "{{ global_bin }}"
owner: root
group: "{{ root_group }}"
mode: 0644
mode: 0755
with_fileglob:
- "dwm/*.function"