Compare commits
9 Commits
736e83a465
...
1b1eaf6855
Author | SHA1 | Date |
---|---|---|
Tom Alexander | 1b1eaf6855 | 2 weeks ago |
Tom Alexander | 44fd819705 | 2 weeks ago |
Tom Alexander | faa9b7bb62 | 2 weeks ago |
Tom Alexander | 06fb8db40a | 3 weeks ago |
Tom Alexander | a97b503f8e | 3 weeks ago |
Tom Alexander | c650b9626f | 3 weeks ago |
Tom Alexander | a7fe423583 | 3 weeks ago |
Tom Alexander | 32eca75f4e | 4 weeks ago |
Tom Alexander | f1b3e3a81f | 4 weeks ago |
@ -1,24 +0,0 @@
|
||||
# Reconstructed via infocmp from file: /usr/share/terminfo/a/alacritty
|
||||
# (untranslatable capabilities removed to fit entry within 1023 bytes)
|
||||
# (sgr removed to fit entry within 1023 bytes)
|
||||
# (acsc removed to fit entry within 1023 bytes)
|
||||
# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
|
||||
alacritty|alacritty terminal emulator:\
|
||||
:am:bs:hs:mi:ms:xn:\
|
||||
:co#80:it#8:li#24:\
|
||||
:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
|
||||
:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
|
||||
:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
|
||||
:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:\
|
||||
:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:\
|
||||
:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\
|
||||
:is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\
|
||||
:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
|
||||
:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\
|
||||
:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\
|
||||
:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
|
||||
:mh=\E[2m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
|
||||
:rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
|
||||
:te=\E[?1049l\E[23;0;0t:ti=\E[?1049h\E[22;0;0t:\
|
||||
:ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\
|
||||
:ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h:
|
@ -0,0 +1 @@
|
||||
clear_tmp_enable="YES"
|
@ -1,13 +1,6 @@
|
||||
clear_tmp_enable="YES"
|
||||
syslogd_flags="-ss"
|
||||
sendmail_enable="NONE"
|
||||
hostname="odo"
|
||||
wlans_iwlwifi0="wlan0"
|
||||
ifconfig_wlan0="WPA DHCP"
|
||||
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
|
||||
sshd_enable="YES"
|
||||
ntpd_enable="YES"
|
||||
powerd_enable="YES"
|
||||
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
|
||||
dumpdev="NO"
|
||||
zfs_enable="YES"
|
||||
|
@ -1,2 +1,3 @@
|
||||
dependencies:
|
||||
- fstab
|
||||
- termcap
|
||||
|
@ -1,3 +1,3 @@
|
||||
wlans_rtwn0="wlan0"
|
||||
wlans_ath0="wlan0"
|
||||
ifconfig_wlan0="WPA DHCP"
|
||||
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
|
||||
|
@ -1,3 +1,3 @@
|
||||
wlans_ath0="wlan0"
|
||||
wlans_iwlwifi0="wlan0"
|
||||
ifconfig_wlan0="WPA DHCP"
|
||||
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
|
||||
|
@ -0,0 +1,35 @@
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Noise Canceling source"
|
||||
media.name = "Noise Canceling source"
|
||||
filter.graph = {
|
||||
nodes = [
|
||||
{
|
||||
type = ladspa
|
||||
name = rnnoise
|
||||
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
|
||||
label = noise_suppressor_mono
|
||||
control = {
|
||||
"VAD Threshold (%)" = 50.0
|
||||
"VAD Grace Period (ms)" = 200
|
||||
"Retroactive VAD Grace (ms)" = 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
capture.props = {
|
||||
node.name = "capture.rnnoise_source"
|
||||
node.passive = true
|
||||
audio.rate = 48000
|
||||
# Optionally specify a specific input: (ID from `pactl list`)
|
||||
# target.object = "alsa_input.usb-Shure_Incorporated_Shure_Digital-00.analog-stereo"
|
||||
}
|
||||
playback.props = {
|
||||
node.name = "rnnoise_source"
|
||||
media.class = Audio/Source
|
||||
audio.rate = 48000
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
- users
|
||||
- sound
|
@ -0,0 +1,55 @@
|
||||
# - name: Create directories
|
||||
# file:
|
||||
# name: "{{ item }}"
|
||||
# state: directory
|
||||
# mode: 0755
|
||||
# owner: root
|
||||
# group: wheel
|
||||
# loop:
|
||||
# - /foo/bar
|
||||
|
||||
# - name: Install scripts
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ item.dest }}"
|
||||
# mode: 0755
|
||||
# owner: root
|
||||
# group: wheel
|
||||
# loop:
|
||||
# - src: foo.bash
|
||||
# dest: /usr/local/bin/foo
|
||||
|
||||
# - name: Install Configuration
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ item.dest }}"
|
||||
# mode: 0600
|
||||
# owner: root
|
||||
# group: wheel
|
||||
# loop:
|
||||
# - src: foo.conf
|
||||
# dest: /usr/local/etc/foo.conf
|
||||
|
||||
# - name: Clone Source
|
||||
# git:
|
||||
# repo: "https://foo.bar/baz.git"
|
||||
# dest: /foo/bar
|
||||
# version: "v1.0.2"
|
||||
# force: true
|
||||
# diff: false
|
||||
|
||||
- import_tasks: tasks/freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
||||
- import_tasks: tasks/linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
||||
|
||||
- include_tasks:
|
||||
file: tasks/peruser.yaml
|
||||
apply:
|
||||
become: yes
|
||||
become_user: "{{ initialize_user }}"
|
||||
when: users is defined
|
||||
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||
loop_control:
|
||||
loop_var: initialize_user
|
@ -0,0 +1,5 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- noise-suppression-for-voice-lv2
|
||||
state: present
|
@ -0,0 +1,5 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- noise-suppression-for-voice
|
||||
state: present
|
@ -0,0 +1,2 @@
|
||||
- import_tasks: tasks/common.yaml
|
||||
# when: foo is defined
|
@ -0,0 +1,8 @@
|
||||
- include_role:
|
||||
name: per_user
|
||||
|
||||
- import_tasks: tasks/peruser_freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
||||
- import_tasks: tasks/peruser_linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
@ -0,0 +1,21 @@
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||
state: directory
|
||||
mode: 0700
|
||||
owner: "{{ account_name.stdout }}"
|
||||
group: "{{ group_name.stdout }}"
|
||||
loop:
|
||||
# Could also use /etc/pipewire/pipewire.conf.d/ for system-wide config.
|
||||
- ".config/pipewire/pipewire.conf.d"
|
||||
|
||||
- name: Copy files
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||
mode: 0600
|
||||
owner: "{{ account_name.stdout }}"
|
||||
group: "{{ group_name.stdout }}"
|
||||
loop:
|
||||
- src: 99-input-denoising.conf
|
||||
dest: .config/pipewire/pipewire.conf.d/
|
@ -1,143 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Run poudriere at system boot. Useful for virtual machines so launching the VM also kicks off a build.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${LOCKFILE:="/var/run/poudboot.lock"}
|
||||
: ${INFO_DIR:="/opt/poudriere/run_info"}
|
||||
: ${PORT_UPDATE_SECONDS:="86400"}
|
||||
: ${CLEAN_SECONDS:="1209600"}
|
||||
: ${BUILD_SECONDS:="7200"}
|
||||
: ${LOG_RETENTION_DAYS:="30"}
|
||||
|
||||
############## Setup #########################
|
||||
|
||||
# function cleanup {
|
||||
# for f in "${folders[@]}"; do
|
||||
# log "Deleting $f"
|
||||
# rm -rf "$f"
|
||||
# done
|
||||
# }
|
||||
# folders=()
|
||||
# for sig in EXIT INT QUIT HUP TERM; do
|
||||
# trap "set +e; cleanup" "$sig"
|
||||
# done
|
||||
|
||||
function die {
|
||||
local status_code="$1"
|
||||
shift
|
||||
(>&2 echo "${@}")
|
||||
exit "$status_code"
|
||||
}
|
||||
|
||||
function log {
|
||||
(>&2 echo "${@}")
|
||||
}
|
||||
|
||||
function run_locked {
|
||||
if [ "${RUN_LOCKED:-}" != "RUN" ]; then
|
||||
exec env RUN_LOCKED=RUN flock --nonblock $LOCKFILE $0 $@
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
############## Program #########################
|
||||
|
||||
function main {
|
||||
local COMMAND="$1"
|
||||
|
||||
if [ "$COMMAND" = "start" ]; then
|
||||
run_locked "${@}"
|
||||
shift 1
|
||||
cmd_start "${@}"
|
||||
elif [ "$COMMAND" = "stop" ]; then
|
||||
shift 1
|
||||
cmd_stop "${@}"
|
||||
else
|
||||
die 1 "Unrecognized command: $COMMAND"
|
||||
fi
|
||||
}
|
||||
|
||||
function abort_if_jobs_running {
|
||||
if [[ $(sudo poudriere status) != *"No running builds"* ]]; then
|
||||
echo "There is already a poudriere build in progress, exiting."
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
function build {
|
||||
poudriere pkgclean -v -y "$@"
|
||||
poudriere bulk -J "${POUDRIERE_JOBS:-1}" "$@"
|
||||
}
|
||||
|
||||
function cmd_start {
|
||||
abort_if_jobs_running
|
||||
|
||||
while true; do
|
||||
for conf in /opt/poudriere/build_configs/*; do
|
||||
(
|
||||
# Allow command failures without quitting the script because some
|
||||
# package sets might fail whereas others may succeed based on which
|
||||
# packages are in each set.
|
||||
set +e
|
||||
|
||||
source "$conf"
|
||||
local RUN_DIR="$INFO_DIR/$JAIL-$PORTS-$SET"
|
||||
local TIMES_FILE="$RUN_DIR/times"
|
||||
mkdir -p "$RUN_DIR"
|
||||
local PORTUPDATE=0
|
||||
local LASTBUILD=0
|
||||
if [ -e "$TIMES_FILE" ]; then
|
||||
source "$TIMES_FILE"
|
||||
fi
|
||||
local now=$(date +%s)
|
||||
if [ $((now - PORTUPDATE)) -gt "$PORT_UPDATE_SECONDS" ]; then
|
||||
log "Updating ports for $JAIL-$PORTS-$SET"
|
||||
portshaker -U
|
||||
portshaker -M
|
||||
PORTUPDATE=$(date +%s)
|
||||
fi
|
||||
if [ $((now - LASTBUILD)) -gt "$BUILD_SECONDS" ]; then
|
||||
log "Building ports for $JAIL-$PORTS-$SET"
|
||||
build -j "$JAIL" -p "$PORTS" -z "$SET" -f /usr/local/etc/poudriere.d/$JAIL-$PORTS-$SET-pkglist
|
||||
LASTBUILD=$(date +%s)
|
||||
fi
|
||||
|
||||
cat > "$TIMES_FILE" <<EOF
|
||||
PORTUPDATE=$PORTUPDATE
|
||||
LASTBUILD=$LASTBUILD
|
||||
EOF
|
||||
)
|
||||
done
|
||||
|
||||
(
|
||||
set +e
|
||||
local GLOBAL_TIMES_FILE="$INFO_DIR/times"
|
||||
local LASTCLEAN=0
|
||||
if [ -e "$GLOBAL_TIMES_FILE" ]; then
|
||||
source "$GLOBAL_TIMES_FILE"
|
||||
fi
|
||||
local now=$(date +%s)
|
||||
if [ $((now - LASTCLEAN)) -gt "$CLEAN_SECONDS" ]; then
|
||||
log "Global Cleaning."
|
||||
# Cleanup old unused dist files
|
||||
poudriere distclean -v -y -a
|
||||
poudriere logclean -v -y "$LOG_RETENTION_DAYS"
|
||||
LASTCLEAN=$(date +%s)
|
||||
cat > "$GLOBAL_TIMES_FILE" <<EOF
|
||||
LASTCLEAN=$LASTCLEAN
|
||||
EOF
|
||||
fi
|
||||
|
||||
)
|
||||
sleep 300
|
||||
done
|
||||
}
|
||||
|
||||
function cmd_stop {
|
||||
echo "cmd_stop not implemented."
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -0,0 +1,112 @@
|
||||
alacritty|alacritty terminal emulator,
|
||||
use=alacritty+common,
|
||||
rs1=\Ec\E]104\007,
|
||||
ccc,
|
||||
colors#0x100, pairs#0x7FFF,
|
||||
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
|
||||
%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
|
||||
oc=\E]104\007,
|
||||
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
|
||||
5;%p1%d%;m,
|
||||
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
|
||||
;%p1%d%;m,
|
||||
setb@, setf@,
|
||||
|
||||
alacritty-direct|alacritty with direct color indexing,
|
||||
use=alacritty+common,
|
||||
RGB,
|
||||
colors#0x1000000, pairs#0x7FFF,
|
||||
initc@, op=\E[39;49m,
|
||||
setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1%{256}
|
||||
%/%{255}%&%d\:%p1%{255}%&%d%;m,
|
||||
setaf=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1%{256}
|
||||
%/%{255}%&%d\:%p1%{255}%&%d%;m,
|
||||
setb@, setf@,
|
||||
|
||||
alacritty+common|base fragment for alacritty,
|
||||
OTbs, am, bce, km, mir, msgr, xenl, AX, XT,
|
||||
colors#8, cols#80, it#8, lines#24, pairs#64,
|
||||
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
||||
bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
|
||||
clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r,
|
||||
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
|
||||
cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
|
||||
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
|
||||
cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
|
||||
dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
|
||||
el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
|
||||
hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
|
||||
il=\E[%p1%dL, il1=\E[L, ind=\n, invis=\E[8m,
|
||||
is2=\E[!p\E[?3;4l\E[4l\E>, kmous=\E[M, meml=\El,
|
||||
memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
|
||||
rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
|
||||
rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
|
||||
rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm,
|
||||
setaf=\E[3%p1%dm,
|
||||
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
|
||||
%=%t3%e%p1%d%;m,
|
||||
setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
|
||||
%=%t3%e%p1%d%;m,
|
||||
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
|
||||
%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
|
||||
sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
|
||||
smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m, smul=\E[4m,
|
||||
tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J,
|
||||
kbs=^?,
|
||||
ritm=\E[23m, sitm=\E[3m,
|
||||
mc5i,
|
||||
mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
|
||||
u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
|
||||
u9=\E[c,
|
||||
rmcup=\E[?1049l\E[23;0;0t, smcup=\E[?1049h\E[22;0;0t,
|
||||
npc,
|
||||
indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
|
||||
rin=\E[%p1%dT,
|
||||
rep=%p1%c\E[%p2%{1}%-%db,
|
||||
rmxx=\E[29m, smxx=\E[9m,
|
||||
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\EOF,
|
||||
khome=\EOH,
|
||||
kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
|
||||
kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S,
|
||||
kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ,
|
||||
kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
|
||||
kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q,
|
||||
kf27=\E[1;5R, kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR,
|
||||
kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
|
||||
kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
|
||||
kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R,
|
||||
kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~,
|
||||
kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
|
||||
kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~,
|
||||
kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R,
|
||||
kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
|
||||
kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
|
||||
kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
|
||||
kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
|
||||
kf8=\E[19~, kf9=\E[20~,
|
||||
kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A,
|
||||
kDN=\E[1;2B, kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B,
|
||||
kDN6=\E[1;6B, kDN7=\E[1;7B, kLFT3=\E[1;3D, kLFT4=\E[1;4D,
|
||||
kLFT5=\E[1;5D, kLFT6=\E[1;6D, kLFT7=\E[1;7D,
|
||||
kRIT3=\E[1;3C, kRIT4=\E[1;4C, kRIT5=\E[1;5C,
|
||||
kRIT6=\E[1;6C, kRIT7=\E[1;7C, kUP=\E[1;2A, kUP3=\E[1;3A,
|
||||
kUP4=\E[1;4A, kUP5=\E[1;5A, kUP6=\E[1;6A, kUP7=\E[1;7A,
|
||||
kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
|
||||
kNXT=\E[6;2~, kPRV=\E[5;2~, kich1=\E[2~, knp=\E[6~,
|
||||
kpp=\E[5~, kDC3=\E[3;3~, kDC4=\E[3;4~, kDC5=\E[3;5~,
|
||||
kDC6=\E[3;6~, kDC7=\E[3;7~, kEND3=\E[1;3F, kEND4=\E[1;4F,
|
||||
kEND5=\E[1;5F, kEND6=\E[1;6F, kEND7=\E[1;7F,
|
||||
kHOM3=\E[1;3H, kHOM4=\E[1;4H, kHOM5=\E[1;5H,
|
||||
kHOM6=\E[1;6H, kHOM7=\E[1;7H, kIC3=\E[2;3~, kIC4=\E[2;4~,
|
||||
kIC5=\E[2;5~, kIC6=\E[2;6~, kIC7=\E[2;7~, kNXT3=\E[6;3~,
|
||||
kNXT4=\E[6;4~, kNXT5=\E[6;5~, kNXT6=\E[6;6~,
|
||||
kNXT7=\E[6;7~, kPRV3=\E[5;3~, kPRV4=\E[5;4~,
|
||||
kPRV5=\E[5;5~, kPRV6=\E[5;6~, kPRV7=\E[5;7~,
|
||||
kdch1=\E[3~,
|
||||
Cr=\E]112\007, Cs=\E]12;%p1%s\007,
|
||||
Ms=\E]52;%p1%s;%p2%s\007, Se=\E[0 q, Ss=\E[%p1%d q,
|
||||
hs, dsl=\E]2;\007, fsl=^G, tsl=\E]2;,
|
||||
Smulx=\E[4\:%p1%dm,
|
||||
Sync=\E[?2026%?%p1%{1}%-%tl%eh%;,
|
||||
XF, kxIN=\E[I, kxOUT=\E[O,
|
||||
BD=\E[?2004l, BE=\E[?2004h, PE=\E[201~, PS=\E[200~,
|
@ -0,0 +1,50 @@
|
||||
# Reconstructed via infocmp from file: /usr/share/terminfo/a/alacritty
|
||||
# (untranslatable capabilities removed to fit entry within 1023 bytes)
|
||||
# (sgr removed to fit entry within 1023 bytes)
|
||||
# (acsc removed to fit entry within 1023 bytes)
|
||||
# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
|
||||
alacritty|alacritty terminal emulator:\
|
||||
:am:bs:hs:mi:ms:xn:\
|
||||
:co#80:it#8:li#24:\
|
||||
:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
|
||||
:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
|
||||
:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
|
||||
:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:\
|
||||
:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:\
|
||||
:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\
|
||||
:is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\
|
||||
:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
|
||||
:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\
|
||||
:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\
|
||||
:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
|
||||
:mh=\E[2m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
|
||||
:rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
|
||||
:te=\E[?1049l\E[23;0;0t:ti=\E[?1049h\E[22;0;0t:\
|
||||
:ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\
|
||||
:ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h:
|
||||
|
||||
|
||||
# Reconstructed via infocmp from file: /usr/share/terminfo/a/alacritty-direct
|
||||
# (untranslatable capabilities removed to fit entry within 1023 bytes)
|
||||
# (sgr removed to fit entry within 1023 bytes)
|
||||
# (acsc removed to fit entry within 1023 bytes)
|
||||
# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
|
||||
alacritty-direct|alacritty with direct color indexing:\
|
||||
:am:bs:hs:mi:ms:xn:\
|
||||
:co#80:it#8:li#24:\
|
||||
:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
|
||||
:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
|
||||
:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
|
||||
:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:\
|
||||
:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:\
|
||||
:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\
|
||||
:is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\
|
||||
:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
|
||||
:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\
|
||||
:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\
|
||||
:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
|
||||
:mh=\E[2m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
|
||||
:rc=\E8:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
|
||||
:te=\E[?1049l\E[23;0;0t:ti=\E[?1049h\E[22;0;0t:\
|
||||
:ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\
|
||||
:ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h:
|
@ -0,0 +1,55 @@
|
||||
# - name: Create directories
|
||||
# file:
|
||||
# name: "{{ item }}"
|
||||
# state: directory
|
||||
# mode: 0755
|
||||
# owner: root
|
||||
# group: wheel
|
||||
# loop:
|
||||
# - /foo/bar
|
||||
|
||||
# - name: Install scripts
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ item.dest }}"
|
||||
# mode: 0755
|
||||
# owner: root
|
||||
# group: wheel
|
||||
# loop:
|
||||
# - src: foo.bash
|
||||
# dest: /usr/local/bin/foo
|
||||
|
||||
# - name: Install Configuration
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ item.dest }}"
|
||||
# mode: 0600
|
||||
# owner: root
|
||||
# group: wheel
|
||||
# loop:
|
||||
# - src: foo.conf
|
||||
# dest: /usr/local/etc/foo.conf
|
||||
|
||||
# - name: Clone Source
|
||||
# git:
|
||||
# repo: "https://foo.bar/baz.git"
|
||||
# dest: /foo/bar
|
||||
# version: "v1.0.2"
|
||||
# force: true
|
||||
# diff: false
|
||||
|
||||
- import_tasks: tasks/freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
||||
- import_tasks: tasks/linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
||||
|
||||
- include_tasks:
|
||||
file: tasks/peruser.yaml
|
||||
apply:
|
||||
become: yes
|
||||
become_user: "{{ initialize_user }}"
|
||||
when: users is defined
|
||||
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||
loop_control:
|
||||
loop_var: initialize_user
|
@ -0,0 +1,32 @@
|
||||
# FreeBSD 14 added support for terminfo, so I'm leaving the termcap stuff commented out in case I need it.
|
||||
|
||||
# - name: See if the alacritty termcap has been added
|
||||
# lineinfile:
|
||||
# name: /usr/share/misc/termcap
|
||||
# regexp: |-
|
||||
# ^alacritty\|
|
||||
# state: absent
|
||||
# check_mode: false
|
||||
# changed_when: false
|
||||
# register: alacritty_cap
|
||||
|
||||
# # Termcap generated by:
|
||||
# # cat <(infocmp -Cr alacritty) <(infocmp -Cr alacritty-direct)
|
||||
# - name: Append alacritty termcap info
|
||||
# blockinfile:
|
||||
# path: /usr/share/misc/termcap
|
||||
# block: "{{ lookup('file', 'alacritty.termcap') }}"
|
||||
# marker: "# {mark} ANSIBLE MANAGED BLOCK alacritty"
|
||||
# when: not alacritty_cap.found
|
||||
# register: wrote_alacritty_cap
|
||||
|
||||
# - name: Update cap_mkdb
|
||||
# command: cap_mkdb /usr/share/misc/termcap
|
||||
# when: wrote_alacritty_cap.changed
|
||||
|
||||
- name: Append alacritty terminfo
|
||||
command: "tic -xe alacritty,alacritty-direct -"
|
||||
args:
|
||||
creates: "/usr/share/terminfo/a/alacritty-direct"
|
||||
# Also creates: "/usr/share/terminfo/a/alacritty"
|
||||
stdin: "{{ lookup('file', 'files/alacritty.info') }}"
|
@ -0,0 +1,29 @@
|
||||
# - name: Build aur packages
|
||||
# register: buildaur
|
||||
# become_user: "{{ build_user.name }}"
|
||||
# command: "aurutils-sync --no-view {{ item }}"
|
||||
# args:
|
||||
# creates: "/var/cache/pacman/custom/{{ item }}-*.pkg.tar.*"
|
||||
# loop:
|
||||
# - foo
|
||||
|
||||
# - name: Update cache
|
||||
# when: buildaur.changed
|
||||
# pacman:
|
||||
# name: []
|
||||
# state: present
|
||||
# update_cache: true
|
||||
|
||||
# - name: Install packages
|
||||
# package:
|
||||
# name:
|
||||
# - foo
|
||||
# state: present
|
||||
|
||||
# - name: Enable services
|
||||
# systemd:
|
||||
# enabled: yes
|
||||
# name: "{{ item }}"
|
||||
# daemon_reload: yes
|
||||
# loop:
|
||||
# - foo.service
|
@ -0,0 +1,2 @@
|
||||
- import_tasks: tasks/common.yaml
|
||||
# when: foo is defined
|
@ -0,0 +1,29 @@
|
||||
- include_role:
|
||||
name: per_user
|
||||
|
||||
# - name: Create directories
|
||||
# file:
|
||||
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||
# state: directory
|
||||
# mode: 0700
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - ".config/foo"
|
||||
|
||||
# - name: Copy files
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||
# mode: 0600
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - src: foo.conf
|
||||
# dest: .config/foo/foo.conf
|
||||
|
||||
- import_tasks: tasks/peruser_freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
||||
- import_tasks: tasks/peruser_linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
@ -1,36 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Read volume status in FreeBSD
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
SLEEP_INTERVAL=${SLEEP_INTERVAL:-30}
|
||||
|
||||
while true; do
|
||||
current_vol_mixer=$(mixer -S vol)
|
||||
vol_left=$(cut -d ':' -f 2 <<<"$current_vol_mixer")
|
||||
vol_right=$(cut -d ':' -f 3 <<<"$current_vol_mixer")
|
||||
avg_vol=$(((vol_left + vol_right) / 2))
|
||||
tooltip="<tt>$(mixer)</tt>"
|
||||
class=""
|
||||
icon=""
|
||||
|
||||
if [ $avg_vol -eq 0 ]; then
|
||||
icon="🔇"
|
||||
elif [ $avg_vol -le 50 ]; then
|
||||
icon="🔉"
|
||||
else
|
||||
icon="🔊"
|
||||
fi
|
||||
|
||||
jq --unbuffered --compact-output <<EOF
|
||||
{
|
||||
"text":"${avg_vol}% ${icon}",
|
||||
"tooltip":"${tooltip//$'\n'/\\n}",
|
||||
"percentage":${avg_vol},
|
||||
"class":"${class}"
|
||||
}
|
||||
EOF
|
||||
sleep $SLEEP_INTERVAL
|
||||
done
|
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env zsh
|
||||
#
|
||||
# Read volume status in FreeBSD
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
SLEEP_INTERVAL=${SLEEP_INTERVAL:-30}
|
||||
|
||||
while true; do
|
||||
(
|
||||
# current_vol_mixer=$(mixer -S vol)
|
||||
# vol_left=$(cut -d ':' -f 2 <<<"$current_vol_mixer")
|
||||
# vol_right=$(cut -d ':' -f 3 <<<"$current_vol_mixer")
|
||||
current_vol_mixer=$(mixer -o)
|
||||
vol_left=$(grep -E 'vol.volume=' <<<"$current_vol_mixer" | cut -d = -f 2 | cut -d ':' -f 1)
|
||||
vol_right=$(grep -E 'vol.volume=' <<<"$current_vol_mixer" | cut -d = -f 2 | cut -d ':' -f 2)
|
||||
avg_vol=$((100 * (vol_left + vol_right) / 2))
|
||||
avg_vol=$(echo "$avg_vol" | cut -d '.' -f 1)
|
||||
tooltip="<tt>$(mixer)</tt>"
|
||||
class=""
|
||||
icon=""
|
||||
|
||||
if [ $avg_vol -eq 0 ]; then
|
||||
icon="🔇"
|
||||
elif [ $avg_vol -le 50 ]; then
|
||||
icon="🔉"
|
||||
else
|
||||
icon="🔊"
|
||||
fi
|
||||
|
||||
jq --unbuffered --compact-output <<EOF
|
||||
{
|
||||
"text":"${avg_vol}% ${icon}",
|
||||
"tooltip":"${tooltip//$'\n'/\\n}",
|
||||
"percentage":${avg_vol},
|
||||
"class":"${class}"
|
||||
}
|
||||
EOF
|
||||
sleep $SLEEP_INTERVAL
|
||||
)
|
||||
done
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue