Compare commits

...

33 Commits

Author SHA1 Message Date
d8bc4a66cf Move log functions to shared. 2026-04-10 13:11:23 -07:00
30f9aff49e Stop killing bluetooth service. 2026-04-06 19:23:34 -07:00
190b3d921b Change settings to all be true since did not get any reminders after these changes. 2026-04-06 18:58:30 -07:00
11632e72d7 Tweak the Wellbeing settings a bit more. 2026-04-06 15:38:27 -07:00
fa0ea0098e Only do the metasploit activities if it is not already installed. 2026-04-06 15:24:33 -07:00
579764ca76 Add a TBD for not reinstalling metasploit every run (will save time and bandwidth). 2026-04-06 15:16:57 -07:00
51b3161124 Add the cron jobs to shutdown automatically at night, but debating whether it's a good idea. 2026-04-01 20:20:35 -07:00
18a1defd65 Add Brave Browser for using WDP. Session seems to have worked itself out, remove TBD. 2026-03-31 16:47:41 -07:00
f7ac9cc7e7 Add gnome-boxes for development systems. 2026-03-30 11:01:48 -07:00
c40019a72d Use the vimrc from env-shared. 2026-03-28 16:25:37 -07:00
2d1f720578 Move now and today t shared env. 2026-03-28 14:24:21 -07:00
119b8aa669 Move scan to be in shared env. 2026-03-28 14:18:54 -07:00
2b7447ba26 Move clone and ls aliases to shared. 2026-03-28 13:34:31 -07:00
e0bb2b3c66 Add missing section of PROD variables to RC file. 2026-03-28 13:29:19 -07:00
e70fdaabd5 Use source keyword to be more explicit. 2026-03-28 13:24:33 -07:00
4522811da1 Allow banners to pop up, such as Wellbeing and USB prompts. 2026-03-28 12:53:12 -07:00
ec22eacbdb Move the import of shared RC up so that variables are available. 2026-03-28 12:23:49 -07:00
4031be218c Remove colors since they are now shared. 2026-03-28 12:08:51 -07:00
e280bd7a49 Change the break time to only be 3 minutes. 2026-03-28 11:09:11 -07:00
2954ce5af9 Add screen time limits and break reminders in GNOME Wellbeing. 2026-03-28 11:07:57 -07:00
cd7a290d61 Use the same branch as env-ansible, so that servers do not use dev branch unless requested. 2026-03-27 18:32:55 -07:00
89982bae39 Add branch to env-shared download. Remove the bin script copy and add it to PATH instead. 2026-03-27 18:29:39 -07:00
9327ed23ac Add location of env-shared bin. 2026-03-27 18:29:03 -07:00
79a2c832b4 Also install all the bin scripts. Split the permissions command so that .rc_shared is allowed to fail. 2026-03-27 18:22:27 -07:00
6a36811590 Add tasks to download and install env-shared project's bashrc addition. 2026-03-27 18:16:54 -07:00
2e0dd78f68 Add location to pull env-shared project. 2026-03-27 18:16:07 -07:00
861a9c6257 Add all the production server information to environment variables so that env-shared can access them. 2026-03-27 18:07:29 -07:00
210e409428 Add env setup to get the data server information. 2026-03-27 18:06:52 -07:00
44039bbd1b Add an explicit bye since goodbye does not seem to be working still. 2026-03-27 17:13:39 -07:00
a1bbcdc804 Add sourcing of the shared RC file if it exists. 2026-03-23 12:14:58 -07:00
22a74506fd Add a TBD for getting Session to work properly. 2026-02-01 15:41:15 -07:00
5d7318ec32 Add note for which bitrate is used by default. 2026-01-18 07:03:42 -07:00
cf676808c9 Fix header comment. 2026-01-18 07:01:59 -07:00
9 changed files with 219 additions and 83 deletions

View File

@@ -1,7 +1,7 @@
--- ---
# Define file, folder, and other facts per OS. # Define file, folder, and other facts per OS.
- name: General | Facts | System | Global - name: General | Facts | System | Global [1/2]
set_fact: set_fact:
lynis_install_dir: /usr/local/src/lynis lynis_install_dir: /usr/local/src/lynis
dwm_install_dir: /usr/local/src/dwm dwm_install_dir: /usr/local/src/dwm
@@ -10,7 +10,11 @@
x_desktops: /usr/share/xsessions x_desktops: /usr/share/xsessions
git_repo_http: https://{{ 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 }} git_repo_ssh: ssh://git@{{ git_host }}:{{ git_ssh_port }}/{{ git_user }}/{{ git_project }}
shared_rc_install_dir: /usr/local/src/env-shared
- name: General | Facts | System | Global [2/2]
set_fact:
shared_rc_bin: "{{ shared_rc_install_dir }}/bin-shared"
- name: General | Facts | System | Linux - name: General | Facts | System | Linux
set_fact: set_fact:

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# 2023-12-04 Hyperling # 2023-12-04 Hyperling
# Lower resolution of audio and convert to mp3. Also # Lower the resolution of audio and convert to mp3.
# Also see: compress-video.sh # Also see: compress-video.sh
## Setup ## ## Setup ##
@@ -36,7 +36,8 @@ function usage() {
Compress audio to mp3. Can handle folders and work recursively. Compress audio to mp3. Can handle folders and work recursively.
Parameters: Parameters:
-q QUALITY : Integer for the maximum length of either media dimension. -q QUALITY : Integer for audio bitrate to transcode to.
Defaults to 256k. No lower than 192k suggested.
-l LOCATION : The specific media or folder which needs compressed. -l LOCATION : The specific media or folder which needs compressed.
-r : Recursively shrink media based on the location passed. -r : Recursively shrink media based on the location passed.
-f : Force the media to be shrunk even if a file already exists for it. -f : Force the media to be shrunk even if a file already exists for it.

View File

@@ -101,22 +101,48 @@
; Slows down the rate of services such as telegraf and cron. ; Slows down the rate of services such as telegraf and cron.
; Default: false ; Default: false
; ;
;;;;;;;;;;;;;;;;;;;; Server Shortcut ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; Server Shortcuts ;;;;;;;;;;;;;;;;;;;;
; ;
; For typing `prod` and getting straight to a server, like in env-termux. ; For typing `prod` and getting straight to a server, like in env-termux.
; ;
; prod_host : Branch to use on this machine. ; Imagine the command:
; `ssh prod_user@prod_host:prod_port`
;
; prod_host : Hostname for the production server.
; Example: myserver.com, mywebhost.net ; Example: myserver.com, mywebhost.net
; Default: hyperling.com ; Default: hyperling.com
; ;
; prod_port : Provide the git host that the machine should poll. ; prod_port : Port for the production server.
; Example: 22, 222, 2222 ; Example: 22, 222, 2222
; Default: 22 ; Default: 22
; ;
; prod_user : Port of the server host to use for SSH requests. ; prod_user : Username for accessing the production server.
; Example: jim, bob, jeff, anne ; Example: jim, bob, jeff, anne
; Default: user ; Default: user
; ;
; For pushing MASTER directories to an SFTP server with `send-master`.
;
; Imagine the command:
; `rsync -auPhz --delete -e 'ssh -p prod_data_port' ./mydata-MASTER/ \
; prod_data_user@prod_data_host:/prod_data_dir/mydata-clone
; `
;
; prod_data_host : Branch to use on this machine.
; Example: sftp.myserver.com, sftp.mywebhost.net
; Default: hyperling.com
;
; prod_data_port : Provide the git host that the machine should poll.
; Example: 22, 222, 2222
; Default: 22
;
; prod_data_user : Port of the server host to use for SSH requests.
; Example: jim, bob, jeff, anne
; Default: user
;
; prod_data_dir : Port of the server host to use for SSH requests.
; Example: /srv/sftp/
; Default: /srv/sftp/
;
[global] [global]
marker: '; {mark} MANAGED BY ANSIBLE | Generic Config' marker: '; {mark} MANAGED BY ANSIBLE | Generic Config'
state: present state: present
@@ -143,6 +169,10 @@
prod_host: "{{ lookup('ini', 'prod_host file={{gen_file}} default=hyperling.com') }}" prod_host: "{{ lookup('ini', 'prod_host file={{gen_file}} default=hyperling.com') }}"
prod_port: "{{ lookup('ini', 'prod_port file={{gen_file}} default=22') }}" prod_port: "{{ lookup('ini', 'prod_port file={{gen_file}} default=22') }}"
prod_user: "{{ lookup('ini', 'prod_user file={{gen_file}} default=user') }}" prod_user: "{{ lookup('ini', 'prod_user file={{gen_file}} default=user') }}"
prod_data_host: "{{ lookup('ini', 'prod_data_host file={{gen_file}} default=hyperling.com') }}"
prod_data_port: "{{ lookup('ini', 'prod_data_port file={{gen_file}} default=22') }}"
prod_data_user: "{{ lookup('ini', 'prod_data_user file={{gen_file}} default=user') }}"
prod_data_dir: "{{ lookup('ini', 'prod_data_dir file={{gen_file}} default=/srv/sftp') }}"
- name: General | Account Management | Provisioning Configuration | General | Boolean Check | Swap Block - name: General | Account Management | Provisioning Configuration | General | Boolean Check | Swap Block
set_fact: set_fact:
@@ -171,6 +201,10 @@
- { 'prod_host': "{{ prod_host }}" } - { 'prod_host': "{{ prod_host }}" }
- { 'prod_port': "{{ prod_port }}" } - { 'prod_port': "{{ prod_port }}" }
- { 'prod_user': "{{ prod_user }}" } - { 'prod_user': "{{ prod_user }}" }
- { 'prod_data_host': "{{ prod_data_host }}" }
- { 'prod_data_port': "{{ prod_data_port }}" }
- { 'prod_data_user': "{{ prod_data_user }}" }
- { 'prod_data_dir': "{{ prod_data_dir }}" }
## Workstation ## ## Workstation ##

View File

@@ -127,7 +127,7 @@
alias_cp: alias cp='cp -v' alias_cp: alias cp='cp -v'
alias_mv: alias mv='mv -v' alias_mv: alias mv='mv -v'
alias_rm: alias rm='echo "Use mv ~/TRASH/ instead!"' alias_rm: alias rm='echo "Use mv ~/TRASH/ instead!"'
export_path_additions: export PATH="~/bin:"{{ global_bin }}":$PATH" export_path_additions: export PATH="~/bin:"{{ global_bin }}":"{{ shared_rc_bin }}":$PATH"
function_wttr: | function_wttr: |
function weather() { function weather() {
# 20210301 - Someone showed me an awesome weather API! Had to implement it! # 20210301 - Someone showed me an awesome weather API! Had to implement it!
@@ -157,18 +157,7 @@
# 20251201 - Add colors. # 20251201 - Add colors.
# This helps to determine the color palette numbers: # This helps to determine the color palette numbers:
# https://robotmoon.com/bash-prompt-generator/ # https://robotmoon.com/bash-prompt-generator/
PURPLE=`tput setaf 5` # Colors have been moved to env-shared project's .rc_shared file.
ORANGE=`tput setaf 214`
GREEN=`tput setaf 2`
RED=`tput setaf 9`
SCARLET=`tput setaf 1`
YELLOW=`tput setaf 226` # 11 does not seem to work
GRAY=`tput setaf 8`
RESET=`tput sgr0`
BOLD=`tput bold`
if [[ "$USER" == "root" || $UID == 0 ]]; then if [[ "$USER" == "root" || $UID == 0 ]]; then
CLR_BRACKETS=$BOLD$YELLOW CLR_BRACKETS=$BOLD$YELLOW
@@ -302,6 +291,7 @@
} }
function goodbye { function goodbye {
update -yg update -yg
bye
} }
metasploit_aliases: | metasploit_aliases: |
alias metasploit="msfconsole" alias metasploit="msfconsole"
@@ -729,8 +719,6 @@
done done
echo -e "\nDone!\n" echo -e "\nDone!\n"
} }
alias_clone: |
alias clone="rsync -auPhz --delete --exclude '.gradle' --exclude 'app/build'"
export_hyperling: | export_hyperling: |
export HYPERLING6="2a07:e03:3:80::1" export HYPERLING6="2a07:e03:3:80::1"
export HYPERLING4="185.130.47.173" export HYPERLING4="185.130.47.173"
@@ -740,8 +728,19 @@
if [[ -e $DOCKER_SOURCE && $LOGNAME == "root" ]]; then if [[ -e $DOCKER_SOURCE && $LOGNAME == "root" ]]; then
source $DOCKER_SOURCE source $DOCKER_SOURCE
fi fi
alias_scan: | export_prod:
alias scan="nmap -A -p- --script=vuln" export PROD_HOST="{{ prod_host }}"
export PROD_PORT="{{ prod_port }}"
export PROD_USER="{{ prod_user }}"
export PROD_GIT_HOST="{{ git_host }}"
export PROD_GIT_PORT="{{ git_ssh_port }}"
export PROD_GIT_USER="{{ git_user }}"
export PROD_DATA_HOST="{{ prod_data_host }}"
export PROD_DATA_PORT="{{ prod_data_port }}"
export PROD_DATA_USER="{{ prod_data_user }}"
export PROD_DATA_DIR="{{ prod_data_dir }}"
alias_prod: | alias_prod: |
alias prod="ssh -p {{ prod_port }} {{ prod_user }}@{{ prod_host }}" alias prod="ssh -p {{ prod_port }} {{ prod_user }}@{{ prod_host }}"
function_clean_code: | function_clean_code: |
@@ -822,23 +821,12 @@
alias chmod='chmod -c' alias chmod='chmod -c'
alias_iftop: | alias_iftop: |
alias iftop='sudo iftop' alias iftop='sudo iftop'
alias_ls: |
alias l='ls'
alias ll='ls -alh'
alias lh='ls -ash'
alias_progs: | alias_progs: |
alias progs='ps -ef' alias progs='ps -ef'
alias_nethogs: | alias_nethogs: |
alias nethogs='sudo nethogs' alias nethogs='sudo nethogs'
alias_ansible_facts: | alias_ansible_facts: |
alias ansible-facts='ansible localhost -m setup --connection=local' alias ansible-facts='ansible localhost -m setup --connection=local'
function_now: |
function now {
date "+%Y%m%d-%H%M%S"
}
function today {
date "+%Y%m%d"
}
function_backup: | function_backup: |
export BACKUP_DIR="/srv/backup" export BACKUP_DIR="/srv/backup"
function backup { function backup {
@@ -904,13 +892,6 @@
alias prod-backup="pull_prod_backups" alias prod-backup="pull_prod_backups"
alias pull-prod="pull_prod_backups" alias pull-prod="pull_prod_backups"
alias prod-pull="pull_prod_backups" alias prod-pull="pull_prod_backups"
function_log: |
function log {
echo -e "$1"
}
function blog {
echo -e "\n\n$1\n\n"
}
function_debian_upgrade: | function_debian_upgrade: |
function debian-upgrade { function debian-upgrade {
typeset -l OLD NEW typeset -l OLD NEW
@@ -1114,6 +1095,10 @@
done; done;
} }
alias try="loop " alias try="loop "
source_shared: |
if [ -f ~/.rc_shared ]; then
source ~/.rc_shared
fi
- name: General | Account Management | Users | Files | Common Variable - name: General | Account Management | Users | Files | Common Variable
@@ -1135,6 +1120,7 @@
export domain="{{ domain }}" export domain="{{ domain }}"
{{ export_path_additions }} {{ export_path_additions }}
{{ source_shared }}
{{ alias_cp }} {{ alias_cp }}
{{ alias_mv }} {{ alias_mv }}
{{ alias_rm }} {{ alias_rm }}
@@ -1168,10 +1154,9 @@
{{ function_code_reseed }} {{ function_code_reseed }}
{{ function_clean_filenames }} {{ function_clean_filenames }}
{{ function_clean_filenames_tree }} {{ function_clean_filenames_tree }}
{{ alias_clone }}
{{ export_hyperling }} {{ export_hyperling }}
{{ source_docker_env }} {{ source_docker_env }}
{{ alias_scan }} {{ export_prod }}
{{ alias_prod }} {{ alias_prod }}
{{ function_clean_code }} {{ function_clean_code }}
{{ alias_kill_battery }} {{ alias_kill_battery }}
@@ -1180,14 +1165,11 @@
{{ function_ansible_vars }} {{ function_ansible_vars }}
{{ alias_permission_commands }} {{ alias_permission_commands }}
{{ alias_iftop }} {{ alias_iftop }}
{{ alias_ls }}
{{ alias_progs }} {{ alias_progs }}
{{ alias_nethogs }} {{ alias_nethogs }}
{{ alias_ansible_facts }} {{ alias_ansible_facts }}
{{ function_now }}
{{ function_backup }} {{ function_backup }}
{{ function_pull_prod_backups }} {{ function_pull_prod_backups }}
{{ function_log }}
{{ function_debian_upgrade }} {{ function_debian_upgrade }}
{{ function_ebook_convert }} {{ function_ebook_convert }}
{{ alias_sudo }} {{ alias_sudo }}
@@ -1234,31 +1216,6 @@
ignore_errors: yes ignore_errors: yes
when: user_root.home != "" and user_user.home != "" when: user_root.home != "" and user_user.home != ""
- name: General | Account Management | Users | Files | .vimrc
blockinfile:
path: "{{ item }}/.vimrc"
block: |
" Turn off syntax, flashy lights, etc. Make VIM into a basic editor.
syntax off
set nohlsearch
set noautoindent noautowrite noshowmatch wrapmargin=0 report=1 ts=3
set ignorecase
" Turn off auto-commenting.
autocmd Filetype * set fo-=c fo-=r fo-=o
" qq shortcut for immediately exiting all files without saving.
nnoremap qq :qa!<cr>
marker: '" {mark} MANAGED BY ANSIBLE | vimrc'
state: present
create: yes
backup: yes
loop:
- "{{ user_root.home }}"
- "{{ user_user.home }}"
ignore_errors: yes
when: user_root.home != "" and user_user.home != ""
- name: General | Account Management | Users | Files | Ownership - name: General | Account Management | Users | Files | Ownership
file: file:
path: "{{ user_user.home }}/{{ item }}" path: "{{ user_user.home }}/{{ item }}"
@@ -1267,7 +1224,6 @@
loop: loop:
- .bashrc - .bashrc
- .zshrc - .zshrc
- .vimrc
- name: General | Account Management | Users | Files | Helper Functions (Reset) - name: General | Account Management | Users | Files | Helper Functions (Reset)
@@ -1283,3 +1239,50 @@
mode: 0755 mode: 0755
with_fileglob: with_fileglob:
- "functions/*.function" - "functions/*.function"
- name: General | Account Management | Users | env-shared | Download
git:
repo: https://git.hyperling.com/me/env-shared
version: "{{ branch }}"
dest: "{{ shared_rc_install_dir }}"
clone: true
force: true
update: true
ignore_errors: yes
- name: General | Account Management | Users | env-shared | Install | .rc_shared
copy:
src: "{{ shared_rc_install_dir }}/rc_shared.sh"
dest: "{{ item }}/.rc_shared"
owner: root
group: "{{ root_group }}"
mode: 0755
loop:
- "{{ user_root.home }}"
- "{{ user_user.home }}"
ignore_errors: yes
when: user_root.home != "" and user_user.home != ""
- name: General | Account Management | Users | env-shared | Install | .vimrc
copy:
src: "{{ shared_rc_install_dir }}/vimrc.vim"
dest: "{{ item }}/.vimrc"
owner: root
group: "{{ root_group }}"
mode: 0755
loop:
- "{{ user_root.home }}"
- "{{ user_user.home }}"
ignore_errors: yes
when: user_root.home != "" and user_user.home != ""
- name: General | Account Management | Users | env-shared | Permissions
file:
path: "{{ user_user.home }}/{{ item }}"
owner: "{{ user }}"
mode: '0755'
loop:
- .rc_shared
- .vimrc
ignore_errors: yes

View File

@@ -6,6 +6,11 @@
metasploit_installer: msfinstall metasploit_installer: msfinstall
when: ansible_system in ("Linux", "Darwin") when: ansible_system in ("Linux", "Darwin")
- name: General | Software | Metasploit | Check Install Status
stat:
path: /usr/bin/msfconsole
register: metasploit_status
- name: General | Software | Metasploit | Refresh Apt Files - name: General | Software | Metasploit | Refresh Apt Files
shell: "{{ item }}" shell: "{{ item }}"
loop: loop:
@@ -13,7 +18,8 @@
- "mv -fv /usr/share/keyrings/metasploit-framework.gpg /tmp/apt/metasploit-framework.gpg.old" - "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/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" - "mv -fv /etc/apt/preferences.d/pin-metasploit.pref /tmp/apt/pin-metasploit.pref.old"
when: ansible_system in ("Linux") when: ansible_system in ("Linux") and
not metasploit_status.stat.exists
ignore_errors: true ignore_errors: true
- name: General | Software | Metasploit | Install - name: General | Software | Metasploit | Install
@@ -24,4 +30,5 @@
- "mkdir -p {{ global_bin }}" - "mkdir -p {{ global_bin }}"
- "mv -fv ./msfinstall {{ global_bin }}/{{ metasploit_installer }}" - "mv -fv ./msfinstall {{ global_bin }}/{{ metasploit_installer }}"
- yes y | "{{ global_bin }}/{{ metasploit_installer }}" - yes y | "{{ global_bin }}/{{ metasploit_installer }}"
when: ansible_system in ("Linux", "Darwin") when: ansible_system in ("Linux", "Darwin") and
not metasploit_status.stat.exists

View File

@@ -98,14 +98,15 @@
## Bluetooth ## ## Bluetooth ##
# Do people seriously depend on Bluetooth? Plug your devices in, silly! # Do people seriously depend on Bluetooth? Plug your devices in, silly!
# Hehe, I use it now for a few rare things so disabling this for now.
- name: General | Software | Services | Bluetooth | Disable #- name: General | Software | Services | Bluetooth | Disable
service: # service:
name: "{{ bluetooth }}" # name: "{{ bluetooth }}"
pattern: "{{ bluetooth_pattern }}" # pattern: "{{ bluetooth_pattern }}"
state: stopped # state: stopped
enabled: no # enabled: no
ignore_errors: yes # ignore_errors: yes
## NTP ## ## NTP ##

View File

@@ -45,11 +45,13 @@
- { app: "app.grayjay.Grayjay", name: "grayjay", extra: "" } - { app: "app.grayjay.Grayjay", name: "grayjay", extra: "" }
- { app: "com.github.xournalpp.xournalpp", name: "xournal", extra: "" } - { app: "com.github.xournalpp.xournalpp", name: "xournal", extra: "" }
- { app: "network.loki.Session", name: "session", extra: "" } - { app: "network.loki.Session", name: "session", extra: "" }
- { app: "com.brave.Browser", name: "brave", extra: "" }
flatpaks_coding: flatpaks_coding:
- { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" } - { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" }
- { app: "com.google.AndroidStudio", name: "android-studio", extra: "" } - { app: "com.google.AndroidStudio", name: "android-studio", extra: "" }
- { app: "io.dbeaver.DBeaverCommunity", name: "dbeaver", extra: "" } - { app: "io.dbeaver.DBeaverCommunity", name: "dbeaver", extra: "" }
- { app: "com.visualstudio.code-oss", name: "code-flatpak", extra: "" } - { app: "com.visualstudio.code-oss", name: "code-flatpak", extra: "" }
- { app: "org.gnome.Boxes", name: "boxes", extra: "" }
flatpaks_editing_video: flatpaks_editing_video:
- { app: "org.shotcut.Shotcut", name: "shotcut", extra: "" } - { app: "org.shotcut.Shotcut", name: "shotcut", extra: "" }
- { app: "com.obsproject.Studio", name: "obs", extra: "" } - { app: "com.obsproject.Studio", name: "obs", extra: "" }

View File

@@ -0,0 +1,21 @@
# TBD:
# - Decide whether this should be added to local.yml since wall does not work with gnome-terminal.
---
- name: Workstation | Shared | Cron | Root | Shutdown Warnings
cron:
user: root
name: "Shutdown Warnings"
minute: "*"
hour: "19-23"
job: /usr/bin/wall "Shutting down soon! Please save your work!" && /usr/sbin/shutdown --show
state: present
- name: Workstation | Shared | Cron | Root | Shutdown
cron:
user: root
name: "Shutdown"
minute: "*/5"
hour: "20-23"
job: /usr/sbin/shutdown -h 4
state: present

View File

@@ -173,6 +173,7 @@
# End block for Dash To Dock. # End block for Dash To Dock.
# Apply dconf settings through RC files due to distros without working psutil. # Apply dconf settings through RC files due to distros without working psutil.
# Use the command 'dconf watch /' then change settings to see find these values.
- name: Workstation | Account Management | GNOME | Settings - name: Workstation | Account Management | GNOME | Settings
blockinfile: blockinfile:
path: "{{ user_user.home }}/{{ item }}" path: "{{ user_user.home }}/{{ item }}"
@@ -216,7 +217,7 @@
dconf write /org/gnome/mutter/center-new-windows true && inc_dconf && dconf write /org/gnome/mutter/center-new-windows true && inc_dconf &&
dconf write /org/gnome/desktop/notifications/show-banners false && inc_dconf && dconf write /org/gnome/desktop/notifications/show-banners true && inc_dconf &&
dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution-alarm-notify/enable-sound-alerts false && inc_dconf && dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution-alarm-notify/enable-sound-alerts false && inc_dconf &&
dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution-alarm-notify/enable false && inc_dconf && dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution-alarm-notify/enable false && inc_dconf &&
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-sound-alerts false && inc_dconf &&
@@ -282,6 +283,68 @@
#/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/preserve-working-directory #/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/preserve-working-directory
#'never' #'never'
## Wellbeing ##
dconf write /org/gnome/desktop/screen-time-limits/daily-limit-enabled \
true && inc_dconf &&
dconf write /org/gnome/desktop/screen-time-limits/daily-limit-seconds \
"uint32 21600" && inc_dconf &&
dconf write /org/gnome/desktop/screen-time-limits/grayscale \
true && inc_dconf &&
dconf write /org/gnome/desktop/screen-time-limits/history-enabled \
true && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/selected-breaks \
# "['eyesight', 'movement']" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/selected-breaks \
"['movement']" && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/duration-seconds \
# "uint32 180" && inc_dconf &&
#dconf write /org/g
#dconf write /org/gnome/desktop/break-reminders/eyesight/duration-seconds \
# "uint32 180" && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/interval-seconds \
# "uint32 1800" && inc_dconf &&
#
#dconf write /org/gnome/desktop/break-reminders/eyesight/countdown \
# false && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/delay-seconds \
# "uint32 180" && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/fade-screen \
# true && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/notify \
# false && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/notify-overdue \
# false && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/notify-upcoming \
# false && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/play-sound \
# false && inc_dconf &&
#dconf write /org/gnome/desktop/break-reminders/eyesight/interval-seconds \
# "uint32 1800" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/duration-seconds \
"uint32 180" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/interval-seconds \
"uint32 1800" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/countdown \
true && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/delay-seconds \
"uint32 60" && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/fade-screen \
true && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/notify \
true && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/notify-overdue \
true && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/notify-upcoming \
true && inc_dconf &&
dconf write /org/gnome/desktop/break-reminders/movement/play-sound \
true && inc_dconf &&
## Success ## ## Success ##
sleep 0 || sleep 0 ||