Compare commits
21
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b7447ba26 | ||
|
|
e0bb2b3c66 | ||
|
|
e70fdaabd5 | ||
|
|
4522811da1 | ||
|
|
ec22eacbdb | ||
|
|
4031be218c | ||
|
|
e280bd7a49 | ||
|
|
2954ce5af9 | ||
|
|
cd7a290d61 | ||
|
|
89982bae39 | ||
|
|
9327ed23ac | ||
|
|
79a2c832b4 | ||
|
|
6a36811590 | ||
|
|
2e0dd78f68 | ||
|
|
861a9c6257 | ||
|
|
210e409428 | ||
|
|
44039bbd1b | ||
|
|
a1bbcdc804 | ||
|
|
22a74506fd | ||
|
|
5d7318ec32 | ||
|
|
cf676808c9 |
No files matched your search
@@ -1,7 +1,7 @@
|
||||
---
|
||||
# Define file, folder, and other facts per OS.
|
||||
|
||||
- name: General | Facts | System | Global
|
||||
- name: General | Facts | System | Global [1/2]
|
||||
set_fact:
|
||||
lynis_install_dir: /usr/local/src/lynis
|
||||
dwm_install_dir: /usr/local/src/dwm
|
||||
@@ -10,7 +10,11 @@
|
||||
x_desktops: /usr/share/xsessions
|
||||
git_repo_http: https://{{ git_host }}/{{ 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
|
||||
set_fact:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# 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
|
||||
|
||||
## Setup ##
|
||||
@@ -36,7 +36,8 @@ function usage() {
|
||||
Compress audio to mp3. Can handle folders and work recursively.
|
||||
|
||||
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.
|
||||
-r : Recursively shrink media based on the location passed.
|
||||
-f : Force the media to be shrunk even if a file already exists for it.
|
||||
|
||||
@@ -101,22 +101,48 @@
|
||||
; Slows down the rate of services such as telegraf and cron.
|
||||
; Default: false
|
||||
;
|
||||
;;;;;;;;;;;;;;;;;;;; Server Shortcut ;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;; Server Shortcuts ;;;;;;;;;;;;;;;;;;;;
|
||||
;
|
||||
; 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
|
||||
; 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
|
||||
; 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
|
||||
; 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]
|
||||
marker: '; {mark} MANAGED BY ANSIBLE | Generic Config'
|
||||
state: present
|
||||
@@ -143,6 +169,10 @@
|
||||
prod_host: "{{ lookup('ini', 'prod_host file={{gen_file}} default=hyperling.com') }}"
|
||||
prod_port: "{{ lookup('ini', 'prod_port file={{gen_file}} default=22') }}"
|
||||
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
|
||||
set_fact:
|
||||
@@ -171,6 +201,10 @@
|
||||
- { 'prod_host': "{{ prod_host }}" }
|
||||
- { 'prod_port': "{{ prod_port }}" }
|
||||
- { '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 ##
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
alias_cp: alias cp='cp -v'
|
||||
alias_mv: alias mv='mv -v'
|
||||
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 weather() {
|
||||
# 20210301 - Someone showed me an awesome weather API! Had to implement it!
|
||||
@@ -157,18 +157,7 @@
|
||||
# 20251201 - Add colors.
|
||||
# This helps to determine the color palette numbers:
|
||||
# https://robotmoon.com/bash-prompt-generator/
|
||||
PURPLE=`tput setaf 5`
|
||||
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`
|
||||
# Colors have been moved to env-shared project's .rc_shared file.
|
||||
|
||||
if [[ "$USER" == "root" || $UID == 0 ]]; then
|
||||
CLR_BRACKETS=$BOLD$YELLOW
|
||||
@@ -302,6 +291,7 @@
|
||||
}
|
||||
function goodbye {
|
||||
update -yg
|
||||
bye
|
||||
}
|
||||
metasploit_aliases: |
|
||||
alias metasploit="msfconsole"
|
||||
@@ -729,8 +719,6 @@
|
||||
done
|
||||
echo -e "\nDone!\n"
|
||||
}
|
||||
alias_clone: |
|
||||
alias clone="rsync -auPhz --delete --exclude '.gradle' --exclude 'app/build'"
|
||||
export_hyperling: |
|
||||
export HYPERLING6="2a07:e03:3:80::1"
|
||||
export HYPERLING4="185.130.47.173"
|
||||
@@ -742,6 +730,19 @@
|
||||
fi
|
||||
alias_scan: |
|
||||
alias scan="nmap -A -p- --script=vuln"
|
||||
export_prod:
|
||||
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="ssh -p {{ prod_port }} {{ prod_user }}@{{ prod_host }}"
|
||||
function_clean_code: |
|
||||
@@ -822,10 +823,6 @@
|
||||
alias chmod='chmod -c'
|
||||
alias_iftop: |
|
||||
alias iftop='sudo iftop'
|
||||
alias_ls: |
|
||||
alias l='ls'
|
||||
alias ll='ls -alh'
|
||||
alias lh='ls -ash'
|
||||
alias_progs: |
|
||||
alias progs='ps -ef'
|
||||
alias_nethogs: |
|
||||
@@ -1114,6 +1111,10 @@
|
||||
done;
|
||||
}
|
||||
alias try="loop "
|
||||
source_shared: |
|
||||
if [ -f ~/.rc_shared ]; then
|
||||
source ~/.rc_shared
|
||||
fi
|
||||
|
||||
|
||||
- name: General | Account Management | Users | Files | Common Variable
|
||||
@@ -1135,6 +1136,7 @@
|
||||
export domain="{{ domain }}"
|
||||
|
||||
{{ export_path_additions }}
|
||||
{{ source_shared }}
|
||||
{{ alias_cp }}
|
||||
{{ alias_mv }}
|
||||
{{ alias_rm }}
|
||||
@@ -1168,10 +1170,10 @@
|
||||
{{ function_code_reseed }}
|
||||
{{ function_clean_filenames }}
|
||||
{{ function_clean_filenames_tree }}
|
||||
{{ alias_clone }}
|
||||
{{ export_hyperling }}
|
||||
{{ source_docker_env }}
|
||||
{{ alias_scan }}
|
||||
{{ export_prod }}
|
||||
{{ alias_prod }}
|
||||
{{ function_clean_code }}
|
||||
{{ alias_kill_battery }}
|
||||
@@ -1180,7 +1182,6 @@
|
||||
{{ function_ansible_vars }}
|
||||
{{ alias_permission_commands }}
|
||||
{{ alias_iftop }}
|
||||
{{ alias_ls }}
|
||||
{{ alias_progs }}
|
||||
{{ alias_nethogs }}
|
||||
{{ alias_ansible_facts }}
|
||||
@@ -1283,3 +1284,36 @@
|
||||
mode: 0755
|
||||
with_fileglob:
|
||||
- "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 | Permissions
|
||||
file:
|
||||
path: "{{ user_user.home }}/{{ item }}"
|
||||
owner: "{{ user }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- .rc_shared
|
||||
ignore_errors: yes
|
||||
@@ -44,7 +44,7 @@
|
||||
- { app: "com.transmissionbt.Transmission", name: "transmission", extra: "" }
|
||||
- { app: "app.grayjay.Grayjay", name: "grayjay", extra: "" }
|
||||
- { app: "com.github.xournalpp.xournalpp", name: "xournal", extra: "" }
|
||||
- { app: "network.loki.Session", name: "session", extra: "" }
|
||||
- { app: "network.loki.Session", name: "session", extra: "" } # TBD: Needs run like "flatpak run --socket=wayland network.loki.Session" on some systems.
|
||||
flatpaks_coding:
|
||||
- { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" }
|
||||
- { app: "com.google.AndroidStudio", name: "android-studio", extra: "" }
|
||||
|
||||
@@ -173,6 +173,7 @@
|
||||
# End block for Dash To Dock.
|
||||
|
||||
# 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
|
||||
blockinfile:
|
||||
path: "{{ user_user.home }}/{{ item }}"
|
||||
@@ -216,7 +217,7 @@
|
||||
|
||||
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 false && inc_dconf &&
|
||||
dconf write /org/gnome/desktop/notifications/application/org-gnome-evolution/enable-sound-alerts false && inc_dconf &&
|
||||
@@ -282,6 +283,20 @@
|
||||
#/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/preserve-working-directory
|
||||
#'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/break-reminders/selected-breaks \
|
||||
"['eyesight', 'movement']" && 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 &&
|
||||
|
||||
## Success ##
|
||||
|
||||
sleep 0 ||
|
||||
|
||||
Reference in new issue
Block a user