Compare commits
61 Commits
Author | SHA1 | Date |
---|---|---|
Tom Alexander | 38d255f0ab | 23 hours ago |
Tom Alexander | f44074ebe7 | 2 days ago |
Tom Alexander | ee0fe7eca6 | 6 days ago |
Tom Alexander | c7610fe917 | 1 week ago |
Tom Alexander | 5fa7f918a1 | 2 weeks ago |
Tom Alexander | a2bdb93d5e | 2 weeks ago |
Tom Alexander | 5a763d422a | 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 |
Tom Alexander | 736e83a465 | 1 month ago |
Tom Alexander | c2b8ab05b1 | 1 month ago |
Tom Alexander | 8b4a5e0847 | 1 month ago |
Tom Alexander | ef18e94ff8 | 1 month ago |
Tom Alexander | 6d198d290d | 1 month ago |
Tom Alexander | df81196035 | 1 month ago |
Tom Alexander | 08454740d6 | 1 month ago |
Tom Alexander | a66eff79e2 | 1 month ago |
Tom Alexander | 8385b036a6 | 3 months ago |
Tom Alexander | ed7d4ab4e6 | 4 months ago |
Tom Alexander | 574a2d0ce7 | 4 months ago |
Tom Alexander | 1024f37691 | 4 months ago |
Tom Alexander | 724a8ca394 | 4 months ago |
Tom Alexander | 6b3bdab18b | 4 months ago |
Tom Alexander | 4d620a33b7 | 4 months ago |
Tom Alexander | e3e78b3eb5 | 4 months ago |
Tom Alexander | 3706eda8f3 | 4 months ago |
Tom Alexander | 6fc16362ba | 4 months ago |
Tom Alexander | a04b52ec72 | 4 months ago |
Tom Alexander | 460a614cf7 | 4 months ago |
Tom Alexander | 3e0de0e87a | 4 months ago |
Tom Alexander | 80a3f2291c | 5 months ago |
Tom Alexander | 6e13ac355a | 5 months ago |
Tom Alexander | 60e440b0c6 | 5 months ago |
Tom Alexander | 06fc236f0a | 5 months ago |
Tom Alexander | 1cad73e68f | 5 months ago |
Tom Alexander | a1ab3327ee | 5 months ago |
Tom Alexander | 86ecfd1c54 | 5 months ago |
Tom Alexander | cd58cbb520 | 5 months ago |
Tom Alexander | 7dc1a22e6b | 5 months ago |
Tom Alexander | b3ee528c18 | 5 months ago |
Tom Alexander | 9ac2605912 | 5 months ago |
Tom Alexander | c87ac216a9 | 5 months ago |
Tom Alexander | 94b379c717 | 5 months ago |
Tom Alexander | 661b8534a8 | 5 months ago |
Tom Alexander | f42d4c469b | 5 months ago |
Tom Alexander | ebde072f2c | 5 months ago |
Tom Alexander | a7fe6ff42d | 5 months ago |
Tom Alexander | 9d54609a12 | 5 months ago |
Tom Alexander | 0146c631ae | 5 months ago |
Tom Alexander | 86a89be678 | 5 months ago |
Tom Alexander | 644b0f2e00 | 5 months ago |
Tom Alexander | 4b62c9b4de | 5 months ago |
Tom Alexander | 0732a82171 | 5 months ago |
Tom Alexander | e80cdcabdb | 5 months ago |
Tom Alexander | 05e06d1615 | 5 months ago |
@ -1,3 +1,28 @@
|
||||
timezone: "America/New_York"
|
||||
install_bluetooth: true
|
||||
emacs_flavor: "full"
|
||||
ssh_hosts:
|
||||
- name: poudriere
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.203
|
||||
- name: controller0
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.204
|
||||
- name: controller1
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.205
|
||||
- name: controller2
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.206
|
||||
- name: worker0
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.207
|
||||
- name: worker1
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.208
|
||||
- name: worker2
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.209
|
||||
- name: brianai
|
||||
proxy_jump: talexander@mrmanager
|
||||
host_name: 10.215.1.215
|
||||
|
@ -0,0 +1,37 @@
|
||||
os_flavor: "linux"
|
||||
hostname: odowork
|
||||
etc_hosts: {}
|
||||
users:
|
||||
talexander:
|
||||
initialize: true
|
||||
uid: 11235
|
||||
gid: 1000
|
||||
groups:
|
||||
- name: wheel
|
||||
- name: users
|
||||
- name: docker
|
||||
- name: libvirt
|
||||
- name: uucp
|
||||
authorized_keys:
|
||||
- yubikey
|
||||
- main_fido
|
||||
- backup_fido
|
||||
gitconfig: "gitconfig_work"
|
||||
periodic_scrub_pools: [zroot]
|
||||
zfs_snapshot_datasets:
|
||||
- path: zroot/linux/archwork/be
|
||||
install_graphics: true
|
||||
graphics_driver: "amd"
|
||||
pgp_key: "gpg_work.asc"
|
||||
build_user:
|
||||
name: talexander
|
||||
group: talexander
|
||||
# wireguard_directory: odowork
|
||||
# enabled_wireguard: []
|
||||
cputype: "amd"
|
||||
hwpstate: true
|
||||
cores: 16
|
||||
sway_conf_files:
|
||||
- rofimoji
|
||||
docker_storage_driver: overlay2 # alternatively zfs
|
||||
closed_source_vscode: true
|
@ -1,3 +1,4 @@
|
||||
[gui]
|
||||
odolinux ansible_connection=local ansible_host=127.0.0.1
|
||||
odofreebsd ansible_connection=local ansible_host=127.0.0.1
|
||||
odowork ansible_connection=local ansible_host=127.0.0.1
|
||||
|
@ -1,5 +0,0 @@
|
||||
os_flavor: "freebsd"
|
||||
cpu_opt: tigerlake
|
||||
build_user:
|
||||
name: root
|
||||
group: wheel
|
@ -1,13 +1,29 @@
|
||||
os_flavor: "freebsd"
|
||||
custom_repo: "file:///usr/local/poudriere/data/packages/currentznver4-default-framework"
|
||||
pkgbase_url: "file:///usr/local/poudriere/data/images/currentznver4-repo/FreeBSD:15:amd64/latest"
|
||||
poudriere_builds:
|
||||
- jail: 13amd64
|
||||
# - jail: 13amd64
|
||||
# ports: default
|
||||
# set: framework
|
||||
# version: 13.2-RELEASE
|
||||
- jail: currentznver4
|
||||
ports: default
|
||||
set: framework
|
||||
version: 13.2-RELEASE
|
||||
# - jail: current
|
||||
version: CURRENT
|
||||
# revision: 66d37dbedfbf2dc94ccf49e6983c3652d5909b91
|
||||
kernel: GENERIC-NODEBUG
|
||||
branch: main
|
||||
srcconf: currentznver4_src.conf
|
||||
# - jail: 14broadwell
|
||||
# ports: default
|
||||
# set: framework
|
||||
# version: CURRENT
|
||||
# revision: af01b4722577903f91acc44f01bdcb8cdb2d65ad
|
||||
# kernel: CUSTOM
|
||||
# branch: main
|
||||
# set: computer
|
||||
# version: 14.0-RELEASE
|
||||
# kernel: GENERIC
|
||||
# srcconf: 14broadwell_src.conf
|
||||
- jail: 14broadwell
|
||||
ports: default
|
||||
set: computer
|
||||
version: CURRENT
|
||||
kernel: GENERIC
|
||||
branch: releng/14.0
|
||||
srcconf: 14broadwell_src.conf
|
||||
|
@ -1,103 +0,0 @@
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
draw_bold_text_with_bright_colors: true
|
||||
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: "0x000000"
|
||||
foreground: "0xeaeaea"
|
||||
|
||||
# Bright and dim foreground colors
|
||||
#
|
||||
# The dimmed foreground color is calculated automatically if it is not present.
|
||||
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
|
||||
# is `false`, the normal foreground color will be used.
|
||||
#dim_foreground: '0x9a9a9a'
|
||||
#bright_foreground: '0xffffff'
|
||||
|
||||
# Cursor colors
|
||||
#
|
||||
# Colors which should be used to draw the terminal cursor. If these are unset,
|
||||
# the cursor color will be the inverse of the cell color.
|
||||
#cursor:
|
||||
# text: '0x000000'
|
||||
# cursor: '0xffffff'
|
||||
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area. If selection
|
||||
# background is unset, selection color will be the inverse of the cell colors.
|
||||
# If only text is unset the cell text color will remain the same.
|
||||
#selection:
|
||||
# text: '0xeaeaea'
|
||||
# background: '0x404040'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: "0x000000"
|
||||
red: "0xd54e53"
|
||||
green: "0xb9ca4a"
|
||||
yellow: "0xe6c547"
|
||||
blue: "0x7aa6da"
|
||||
magenta: "0xc397d8"
|
||||
cyan: "0x70c0ba"
|
||||
white: "0xeaeaea"
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: "0x666666"
|
||||
red: "0xff3334"
|
||||
green: "0x9ec400"
|
||||
yellow: "0xe7c547"
|
||||
blue: "0x7aa6da"
|
||||
magenta: "0xb77ee0"
|
||||
cyan: "0x54ced6"
|
||||
white: "0xffffff"
|
||||
|
||||
# Dim colors
|
||||
#
|
||||
# If the dim colors are not set, they will be calculated automatically based
|
||||
# on the `normal` colors.
|
||||
#dim:
|
||||
# black: '0x000000'
|
||||
# red: '0x8c3336'
|
||||
# green: '0x7a8530'
|
||||
# yellow: '0x97822e'
|
||||
# blue: '0x506d8f'
|
||||
# magenta: '0x80638e'
|
||||
# cyan: '0x497e7a'
|
||||
# white: '0x9a9a9a'
|
||||
|
||||
# Indexed Colors
|
||||
#
|
||||
# The indexed colors include all colors from 16 to 256.
|
||||
# When these are not set, they're filled with sensible defaults.
|
||||
#
|
||||
# Example:
|
||||
# `- { index: 16, color: '0xff00ff' }`
|
||||
#
|
||||
indexed_colors: []
|
||||
|
||||
scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
history: 10000
|
||||
|
||||
# Number of lines the viewport will move for every line scrolled when
|
||||
# scrollback is enabled (history > 0).
|
||||
multiplier: 3
|
||||
|
||||
font:
|
||||
size: 11.0
|
||||
|
||||
hints:
|
||||
enabled:
|
||||
# Disable opening links when clicked
|
||||
- regex:
|
||||
"(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||
[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||
command: xdg-open
|
||||
post_processing: true
|
||||
mouse:
|
||||
enabled: false
|
||||
mods: None
|
@ -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"
|
@ -0,0 +1,37 @@
|
||||
[user]
|
||||
email = ThomasA.Alexander@hmhn.org
|
||||
name = Tom Alexander
|
||||
signingkey = D3A179C9A53C0EDE
|
||||
[push]
|
||||
default = simple
|
||||
[alias]
|
||||
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||
bh = log --oneline --branches=* --remotes=* --graph --decorate
|
||||
amend = commit --amend --no-edit
|
||||
[core]
|
||||
excludesfile = ~/.gitignore_global
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[pull]
|
||||
rebase = true
|
||||
[log]
|
||||
date = local
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
# Use meld for `git difftool` and `git mergetool`
|
||||
[diff]
|
||||
tool = meld
|
||||
[difftool]
|
||||
prompt = false
|
||||
[difftool "meld"]
|
||||
cmd = meld "$LOCAL" "$REMOTE"
|
||||
[merge]
|
||||
tool = meld
|
||||
[mergetool "meld"]
|
||||
# Make the middle pane start with partially-merged contents:
|
||||
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
|
||||
# Make the middle pane start without any merge progress:
|
||||
# cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
||||
[includeIf "gitdir:/bridge/"]
|
||||
path = /bridge/git/machine_setup/ansible/roles/base/files/gitconfig_home
|
@ -1,8 +1,6 @@
|
||||
clear_tmp_enable="YES"
|
||||
syslogd_flags="-ss"
|
||||
sendmail_enable="NONE"
|
||||
hostname="odo"
|
||||
sshd_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,2 +0,0 @@
|
||||
# freebsd_version: "releng/13.2"
|
||||
freebsd_version: "9c80d66ec1b4c5b9ac7aaf5b0fdbb1628d49c181"
|
@ -1,6 +0,0 @@
|
||||
include GENERIC-NODEBUG
|
||||
|
||||
# Disable Intel SD/MMC controller for reading eMMC
|
||||
nodevice sdhci
|
||||
|
||||
ident CUSTOM
|
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# If something is very wrong in pacman, this removes the keyring and the entire custom repo, then sets up pacman's keyring again. Running the ansible playbook is necessary to get the custom repo added.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
doas rm -rf /var/cache/pacman/custom/ /etc/pacman.d/conf.d/aurutils.conf
|
||||
doas rm -rf /etc/pacman.d/gnupg
|
||||
doas pacman-key --init
|
||||
doas pacman-key --populate archlinux
|
||||
doas pacman -S archlinux-keyring
|
@ -1,26 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# List installed packages that install a kernel module.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${PORTSDIR:="/usr/ports"}
|
||||
|
||||
function main {
|
||||
if [ "$#" -ne 0 ]; then
|
||||
(>&2 echo "This script takes no positional parameters.")
|
||||
exit 1
|
||||
fi
|
||||
local module
|
||||
doas find / -type f -name '*.ko' | sort | while read module; do
|
||||
local provides=$(pkg provides "$module")
|
||||
if [ -n "$provides" ]; then
|
||||
package_name=$(grep 'Name : ' <<<"$provides" | sed 's/Name : //g')
|
||||
# module_file=$(grep 'Filename: ' <<<"$provides" | sed 's/Filename: //g')
|
||||
echo "$package_name"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,36 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Find which port options appear the most in ports.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${PORTSDIR:="/usr/ports"}
|
||||
|
||||
function main {
|
||||
if [ "$#" -ne 0 ]; then
|
||||
(>&2 echo "This script takes no positional parameters.")
|
||||
exit 1
|
||||
fi
|
||||
local folder
|
||||
find_port_folders | while read folder; do
|
||||
set +e
|
||||
dump_port_options "$folder"
|
||||
set -e
|
||||
done | sort | uniq -c | sort -nr
|
||||
}
|
||||
|
||||
function find_port_folders {
|
||||
local mf
|
||||
find "$PORTSDIR" -type f -name Makefile -mindepth 3 -maxdepth 3 | sort | while read mf; do
|
||||
dirname "$mf"
|
||||
done
|
||||
}
|
||||
|
||||
function dump_port_options {
|
||||
local folder="$1"
|
||||
local portopts=$(make -C "$folder" -V OPTIONS_DEFINE)
|
||||
echo "$portopts" | grep -oE --line-buffered '[^ ]*'
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,41 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# List ports containing an option matching the first parameter to the script.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${PORTSDIR:="/usr/ports"}
|
||||
|
||||
function main {
|
||||
if [ "$#" -ne 1 ]; then
|
||||
(>&2 echo "Pass exactly 1 option name to this script.")
|
||||
exit 1
|
||||
fi
|
||||
local find_option_name=$1
|
||||
local folder
|
||||
find_port_folders | while read folder; do
|
||||
set +e
|
||||
dump_port_options "$folder" | grep -qE "^${find_option_name}$"
|
||||
has_opt=$?;
|
||||
set -e
|
||||
if [ $has_opt -eq 0 ]; then
|
||||
echo "$folder"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function find_port_folders {
|
||||
local mf
|
||||
find "$PORTSDIR" -type f -name Makefile -mindepth 3 -maxdepth 3 | sort | while read mf; do
|
||||
dirname "$mf"
|
||||
done
|
||||
}
|
||||
|
||||
function dump_port_options {
|
||||
local folder="$1"
|
||||
local portopts=$(make -C "$folder" -V OPTIONS_DEFINE)
|
||||
echo "$portopts" | grep -oE --line-buffered '[^ ]*'
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build and installs whatever is in /usr/src. Run step 1, reboot, then step 2.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cores=$(sysctl -n hw.ncpu)
|
||||
|
||||
if sudo etcupdate status | grep -qE '^ C '; then
|
||||
>&2 echo 'Conflicts remain in etcupdate. Run `etcupdate resolve` to fix them first.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /usr/src
|
||||
|
||||
make -j "$cores" clean
|
||||
make -j "$cores" buildworld buildkernel
|
||||
sudo make installkernel
|
||||
|
||||
echo "FreeBSD update step 1 done. Please reboot."
|
@ -1,19 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Build and installs whatever is in /usr/src. Run step 1, reboot, then step 2.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
sudo etcupdate -p
|
||||
|
||||
cd /usr/src
|
||||
sudo make installworld
|
||||
sudo etcupdate -B
|
||||
|
||||
if sudo etcupdate status | grep -qE '^ C '; then
|
||||
>&2 echo 'Conflicts in etcupdate. Run `etcupdate resolve` to fix them first.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "FreeBSD update step 2 done. Please reboot."
|
@ -1,34 +1,27 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mDMEXZwWGhYJKwYBBAHaRw8BAQdAfv7qozKkmf4D+5PDzADsMm4aAKDGLha7+Cu0
|
||||
0H+RsWG0HVRvbSBBbGV4YW5kZXIgPHRvbUBmaXp6LmJ1eno+iJAEExYIADgWIQS4
|
||||
SBWTY8KHeReVS+En3kDZuEVcGwUCXZwWGgIbAwULCQgHAgYVCAkKCwIEFgIDAQIe
|
||||
AQIXgAAKCRAn3kDZuEVcG9glAQDX3Bzaz9sQpycc40LeLxSKQsWplfJigfr8wWOg
|
||||
C15TywEAqkTtCrTNsltdZERLMre7qnv/6RSo54OW0C4pdN7UUAa0HlRvbSBBbGV4
|
||||
YW5kZXIgPHdvcmtAZml6ei5idXp6PoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A
|
||||
2bhFXBsFAl+w+R0CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQJ95A2bhF
|
||||
XBt6fgD+NOYnw9gz5K/q3H5LE/JvqzCSHezJmeGgif0CuU4m1/MA+gPDKME7syEt
|
||||
JsTpELEMrxWWpDW0tD/W1iJE7roGYPQPtB9Ub20gQWxleGFuZGVyIDx0b21AaGFy
|
||||
bW9uaWMuYWk+iJAEExYIADgWIQS4SBWTY8KHeReVS+En3kDZuEVcGwUCX7D5RAIb
|
||||
AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAn3kDZuEVcGzjDAP9pM1ScstOk
|
||||
ti+oRAsNSk8qsjIsCT9O5voDS0Q7plWlcwD/btKVFO9tPLsXhyvdB+NSwueVs7TA
|
||||
kRVjlW3hktpefg24OARdnBYaEgorBgEEAZdVAQUBAQdArbTYQgDBMG7EBFTKA6+f
|
||||
4CWgwl26Lf2b6cyCGfUw2j4DAQgHiHgEGBYIACAWIQS4SBWTY8KHeReVS+En3kDZ
|
||||
uEVcGwUCXZwWGgIbDAAKCRAn3kDZuEVcG03MAQCrkjrE+MhtvbfGaHGHlwz9QnF0
|
||||
Z519YzK8Xr8m0O+09QEA9BFCfkAzBM4D4JKeWJh/tmN9U6UexzLrRdY+W9cugAm4
|
||||
MwRdnBbKFgkrBgEEAdpHDwEBB0A/IgvgQaDhPkk72raSlUPLZaMyJfPedlfBhbgY
|
||||
uhNiSIj1BBgWCAAmAhsCFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAl+w+hYFCQe4
|
||||
fcwAgXYgBBkWCAAdFiEEgeZEOZZ1UC6xJRa606F5yaU8Dt4FAl2cFsoACgkQ06F5
|
||||
yaU8Dt6MngD+Krs3aYyHH6i85ebVESgBI8XeXhgACM4exepw+0UcoYkBAKK4DvV3
|
||||
oJD6o1ku6Rr8pUH962SQm8PO9pO2JBBAb6ADCRAn3kDZuEVcG9uAAP43vUsbe24/
|
||||
6tjEezAW0a4L2E1u4HNU8t53lolngs1kswEAy1HBdYEMR9TovX/kMeBHLcz1J2pM
|
||||
VRSV0JnJhj5eZwa4MwRdnBcBFgkrBgEEAdpHDwEBB0BrvpOZa4q6JHVuc1XUVQTq
|
||||
hDgLwD5SJBvzHSTXPYOZMoh+BBgWCAAmAhsgFiEEuEgVk2PCh3kXlUvhJ95A2bhF
|
||||
XBsFAl+w+hYFCQe4fZUACgkQJ95A2bhFXBs3NgEA3SFYTgRVstidfoEpEZV4DdSL
|
||||
kXaOwN3Eyba4UniClyMA/2CCxQt24vu19TyvUtOXWCp9Zi8SyIqoeiXQ4ZmhhnQO
|
||||
uDgEXZwXKBIKKwYBBAGXVQEFAQEHQA7S3cFTEu6iROopVyF4UBl3hQrEAbOc9CW+
|
||||
xXKFZYgSAwEIB4h+BBgWCAAmAhsMFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAl+w
|
||||
+hcFCQe4fW4ACgkQJ95A2bhFXBtUXAEAyEJCUNVSJ7qvQv5IXuwbYTX2Mh7JU3+F
|
||||
GJHO7AWBXCQA/2aLAi9kYmz9ba770XYwTeBZIv9Y6UIwIwVmFdYHC/EM
|
||||
=a/z4
|
||||
0H+RsWG0HlRvbSBBbGV4YW5kZXIgPHdvcmtAZml6ei5idXp6PoiQBBMWCAA4FiEE
|
||||
uEgVk2PCh3kXlUvhJ95A2bhFXBsFAl+w+R0CGwMFCwkIBwIGFQoJCAsCBBYCAwEC
|
||||
HgECF4AACgkQJ95A2bhFXBt6fgD+NOYnw9gz5K/q3H5LE/JvqzCSHezJmeGgif0C
|
||||
uU4m1/MA+gPDKME7syEtJsTpELEMrxWWpDW0tD/W1iJE7roGYPQPtB1Ub20gQWxl
|
||||
eGFuZGVyIDx0b21AZml6ei5idXp6PoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A
|
||||
2bhFXBsFAl2cFhoCGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQJ95A2bhF
|
||||
XBvYJQEA19wc2s/bEKcnHONC3i8UikLFqZXyYoH6/MFjoAteU8sBAKpE7Qq0zbJb
|
||||
XWRESzK3u6p7/+kUqOeDltAuKXTe1FAGuDMEXZwWyhYJKwYBBAHaRw8BAQdAPyIL
|
||||
4EGg4T5JO9q2kpVDy2WjMiXz3nZXwYW4GLoTYkiI9QQYFggAJgIbAhYhBLhIFZNj
|
||||
wod5F5VL4SfeQNm4RVwbBQJlC4ZhBQkLMdaXAIF2IAQZFggAHRYhBIHmRDmWdVAu
|
||||
sSUWutOhecmlPA7eBQJdnBbKAAoJENOhecmlPA7ejJ4A/iq7N2mMhx+ovOXm1REo
|
||||
ASPF3l4YAAjOHsXqcPtFHKGJAQCiuA71d6CQ+qNZLuka/KVB/etkkJvDzvaTtiQQ
|
||||
QG+gAwkQJ95A2bhFXBtRDgEAqymMavroD5c/4+M/EZ3/d8wxfA9E3Fb/1mt4c2Zr
|
||||
NnkBAKYOM+pz/pncFnV+kF7h7TQEEYuGw1JhJVT/duA4lwsLuDMEXZwXARYJKwYB
|
||||
BAHaRw8BAQdAa76TmWuKuiR1bnNV1FUE6oQ4C8A+UiQb8x0k1z2DmTKIfgQYFggA
|
||||
JgIbIBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkLMdZgAAoJECfeQNm4
|
||||
RVwb8TkA/RkBu9Ev8iDE5nvn8YF8FRiY56Z5d+SBPG4VvrCzXrmlAP46wUjIRpkM
|
||||
rTbb1GMbvYnkeOrBs/qiWjEtHHc3ZLMWD7g4BF2cFygSCisGAQQBl1UBBQEBB0AO
|
||||
0t3BUxLuokTqKVcheFAZd4UKxAGznPQlvsVyhWWIEgMBCAeIfgQYFggAJgIbDBYh
|
||||
BLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkLMdY5AAoJECfeQNm4RVwbXscA
|
||||
/A8zRRTCwQKxJ8iz5jmTcVFAhl2vD781Dtv8NvcWd5t8APwIwcuFVZZA3yayhIxi
|
||||
3aqYpMRxpn2t6Nswax1MIM8DBQ==
|
||||
=dzEV
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
@ -0,0 +1,27 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mDMEXZwWGhYJKwYBBAHaRw8BAQdAfv7qozKkmf4D+5PDzADsMm4aAKDGLha7+Cu0
|
||||
0H+RsWG0LVRob21hcyBBbGV4YW5kZXIgPFRob21hc0EuQWxleGFuZGVyQGhtaG4u
|
||||
b3JnPoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAmULicsCGwMFCwkI
|
||||
BwIGFQoJCAsCBBYCAwECHgECF4AACgkQJ95A2bhFXBsUtQD9GWPdWc/nSmO0Gp7p
|
||||
DzxrieliriAnO+ZCHp31mFbMtToBAPxPYN9y4kgSiXhLiFLoRK5k5FCspksTSitg
|
||||
0CbXDE4LuDgEXZwWGhIKKwYBBAGXVQEFAQEHQK202EIAwTBuxARUygOvn+AloMJd
|
||||
ui39m+nMghn1MNo+AwEIB4h4BBgWCAAgFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsF
|
||||
Al2cFhoCGwwACgkQJ95A2bhFXBtNzAEAq5I6xPjIbb23xmhxh5cM/UJxdGedfWMy
|
||||
vF6/JtDvtPUBAPQRQn5AMwTOA+CSnliYf7ZjfVOlHscy60XWPlvXLoAJuDMEXZwW
|
||||
yhYJKwYBBAHaRw8BAQdAPyIL4EGg4T5JO9q2kpVDy2WjMiXz3nZXwYW4GLoTYkiI
|
||||
9QQYFggAJgIbAhYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZhBQkLMdaXAIF2
|
||||
IAQZFggAHRYhBIHmRDmWdVAusSUWutOhecmlPA7eBQJdnBbKAAoJENOhecmlPA7e
|
||||
jJ4A/iq7N2mMhx+ovOXm1REoASPF3l4YAAjOHsXqcPtFHKGJAQCiuA71d6CQ+qNZ
|
||||
Luka/KVB/etkkJvDzvaTtiQQQG+gAwkQJ95A2bhFXBtRDgEAqymMavroD5c/4+M/
|
||||
EZ3/d8wxfA9E3Fb/1mt4c2ZrNnkBAKYOM+pz/pncFnV+kF7h7TQEEYuGw1JhJVT/
|
||||
duA4lwsLuDMEXZwXARYJKwYBBAHaRw8BAQdAa76TmWuKuiR1bnNV1FUE6oQ4C8A+
|
||||
UiQb8x0k1z2DmTKIfgQYFggAJgIbIBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJl
|
||||
C4ZwBQkLMdZgAAoJECfeQNm4RVwb8TkA/RkBu9Ev8iDE5nvn8YF8FRiY56Z5d+SB
|
||||
PG4VvrCzXrmlAP46wUjIRpkMrTbb1GMbvYnkeOrBs/qiWjEtHHc3ZLMWD7g4BF2c
|
||||
FygSCisGAQQBl1UBBQEBB0AO0t3BUxLuokTqKVcheFAZd4UKxAGznPQlvsVyhWWI
|
||||
EgMBCAeIfgQYFggAJgIbDBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkL
|
||||
MdY5AAoJECfeQNm4RVwbXscA/A8zRRTCwQKxJ8iz5jmTcVFAhl2vD781Dtv8NvcW
|
||||
d5t8APwIwcuFVZZA3yayhIxi3aqYpMRxpn2t6Nswax1MIM8DBQ==
|
||||
=0HtE
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -1,100 +0,0 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- git
|
||||
state: present
|
||||
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- "/usr/src"
|
||||
# - "/usr/ports"
|
||||
- "/usr/obj"
|
||||
|
||||
- name: chown the FreeBSD source
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
recurse: true
|
||||
loop:
|
||||
- "/usr/src"
|
||||
|
||||
- name: Clone FreeBSD Source
|
||||
git:
|
||||
repo: "https://git.FreeBSD.org/src.git"
|
||||
dest: /usr/src
|
||||
version: "{{ freebsd_version }}"
|
||||
force: true
|
||||
become: true
|
||||
become_user: "{{ build_user.name }}"
|
||||
diff: false
|
||||
|
||||
# - name: Clone Ports Tree
|
||||
# git:
|
||||
# repo: "https://git.FreeBSD.org/ports.git"
|
||||
# dest: /usr/ports
|
||||
# version: "main"
|
||||
# force: true
|
||||
# update: false
|
||||
# become: true
|
||||
# become_user: "{{ build_user.name }}"
|
||||
# diff: false
|
||||
|
||||
- name: Install Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: make.conf
|
||||
dest: /etc/make.conf
|
||||
|
||||
- name: Install Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- src: CUSTOM
|
||||
dest: /usr/src/sys/amd64/conf/CUSTOM
|
||||
|
||||
- name: Install Configuration
|
||||
template:
|
||||
src: "templates/{{ item.src }}.j2"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: src.conf
|
||||
dest: /etc/src.conf
|
||||
|
||||
- name: Install scripts
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0700
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- src: freebsd_update_step1
|
||||
dest: /usr/local/bin/freebsd_update_step1
|
||||
- src: freebsd_update_step2
|
||||
dest: /usr/local/bin/freebsd_update_step2
|
||||
- src: find_popular_ports_options.bash
|
||||
dest: /usr/local/bin/find_popular_ports_options
|
||||
- src: find_ports_containing_option.bash
|
||||
dest: /usr/local/bin/find_ports_containing_option
|
||||
- src: find_packages_that_installed_kernel_modules.bash
|
||||
dest: /usr/local/bin/find_packages_that_installed_kernel_modules
|
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Tell hardware p-states whether to maximize CPU performance (100) or
|
||||
# energy efficiency (0).
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
perc=$1
|
||||
|
||||
if [ "$perc" -gt 80 ]; then
|
||||
echo performance | tee /sys/firmware/acpi/platform_profile
|
||||
elif [ "$perc" -ge 20 ]; then
|
||||
echo balanced | tee /sys/firmware/acpi/platform_profile
|
||||
else
|
||||
echo low-power | tee /sys/firmware/acpi/platform_profile
|
||||
fi
|
||||
|
||||
if [ "$perc" -ge 80 ]; then
|
||||
echo "performance" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||
elif [ "$perc" -ge 60 ]; then
|
||||
echo "balance_performance" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||
elif [ "$perc" -ge 40 ]; then
|
||||
echo "default" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||
elif [ "$perc" -ge 20 ]; then
|
||||
echo "balance_power" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||
else
|
||||
echo "power" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||
fi
|
@ -0,0 +1,2 @@
|
||||
# Favor energy efficiency for platform profile (EC / system, not CPU)
|
||||
w- /sys/firmware/acpi/platform_profile - - - - low-power
|
@ -0,0 +1,40 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- powertop
|
||||
state: present
|
||||
|
||||
- name: Favor energy efficiency for hardware p-states
|
||||
when: hwpstate is defined and hwpstate and cores is defined
|
||||
template:
|
||||
src: "templates/{{ item.src }}.j2"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: energy_performance_preference.conf
|
||||
dest: /etc/tmpfiles.d/energy_performance_preference.conf
|
||||
|
||||
- name: Install tmpfiles.d configuration
|
||||
when: hwpstate is defined and hwpstate and cores is defined
|
||||
copy:
|
||||
src: "files/{{ item }}_tmpfiles.conf"
|
||||
dest: "/etc/tmpfiles.d/{{ item }}.conf"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- platform_profile
|
||||
|
||||
- name: Install scripts
|
||||
when: hwpstate is defined and hwpstate
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: cpu_set_perf_perc_linux_amd
|
||||
dest: /usr/local/bin/cpu_set_perf_perc
|
@ -1,4 +1,4 @@
|
||||
# Favor energy efficiency for Speed Shift
|
||||
# Favor energy efficiency for hardware p-states
|
||||
{% for core in range(0, cores, 1) %}
|
||||
w- /sys/devices/system/cpu/cpufreq/policy{{core}}/energy_performance_preference - - - - power
|
||||
{% endfor %}
|
||||
|
@ -0,0 +1,19 @@
|
||||
# [localrules=10]
|
||||
# add path 'input/*' mode 0660 group video
|
||||
# add path 'usb/*' mode 0660 group usb
|
||||
|
||||
[tajailwg=13]
|
||||
add include $devfsrules_hide_all
|
||||
add include $devfsrules_unhide_basic
|
||||
add include $devfsrules_unhide_login
|
||||
add path 'bpf*' unhide
|
||||
add path pf unhide
|
||||
add path pflog unhide
|
||||
add path pfsynv unhide
|
||||
add path 'tun*' unhide
|
||||
|
||||
[tajaildhcp=14]
|
||||
add include $devfsrules_hide_all
|
||||
add include $devfsrules_unhide_basic
|
||||
add include $devfsrules_unhide_login
|
||||
add path 'bpf*' unhide
|
@ -0,0 +1,2 @@
|
||||
# Set screen brightness. Ever since enabling adaptive brightness management, my brightness ends up sinking lower on re-boots (I suspect it is saving the actual brightness rather than the set brightness). This forces the brightness back to the level I prefer.
|
||||
w- /sys/class/backlight/amdgpu_bl0/brightness - - - - 85
|
@ -1,130 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
: ${DATA_DIRECTORY:="/usr/local/share/freebsdupdate"}
|
||||
: ${STAGE_FILE:="${DATA_DIRECTORY}/stage"}
|
||||
: ${RELEASE_DIRECTORY:="${DATA_DIRECTORY}/release"}
|
||||
: ${LOG_DIRECTORY:="${DATA_DIRECTORY}/logs"}
|
||||
: ${PORTS_TREE:="/usr/ports"}
|
||||
: ${PORTS_REPO:="https://git.FreeBSD.org/ports.git"}
|
||||
|
||||
############## Setup #########################
|
||||
|
||||
function die {
|
||||
local status_code="$1"
|
||||
shift
|
||||
(>&2 echo "${@}")
|
||||
exit "$status_code"
|
||||
}
|
||||
|
||||
function log {
|
||||
(>&2 echo "${@}")
|
||||
}
|
||||
|
||||
############## Program #########################
|
||||
|
||||
function main {
|
||||
assert_directories
|
||||
|
||||
local stage=""
|
||||
if [ -e "$STAGE_FILE" ]; then
|
||||
local stage=$(cat "$STAGE_FILE")
|
||||
fi
|
||||
if [ "$stage" = "selfbuild" ]; then
|
||||
log_cmd stage_selfbuild
|
||||
elif [ "$stage" = "selfinstallworld" ]; then
|
||||
log_cmd stage_selfinstallworld
|
||||
elif [ "$stage" = "selfconflictcheck" ]; then
|
||||
log_cmd stage_selfconflictcheck
|
||||
elif [ "$stage" = "releasebuild" ]; then
|
||||
log_cmd stage_releasebuild
|
||||
elif [ "$stage" = "done" ]; then
|
||||
log_cmd stage_done
|
||||
else
|
||||
die 1 "Unhandled stage: \"$stage\"."
|
||||
fi
|
||||
}
|
||||
|
||||
function log_cmd {
|
||||
"${@}" |& tee "$LOG_DIRECTORY/$(date +%Y%m%d-%s).log"
|
||||
}
|
||||
|
||||
function self_conflict_check {
|
||||
if etcupdate status | grep -qE '^ C '; then
|
||||
die 1 'Conflicts remain in etcupdate. Run `etcupdate resolve` to fix them first.'
|
||||
fi
|
||||
}
|
||||
|
||||
function assert_directories {
|
||||
for d in "$DATA_DIRECTORY" "$RELEASE_DIRECTORY" "$LOG_DIRECTORY"; do
|
||||
if [ ! -e "$d" ]; then
|
||||
mkdir -p "$d"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function update_ports_tree {
|
||||
if [ ! -e "$PORTS_TREE" ]; then
|
||||
mkdir -p $PORTS_TREE
|
||||
git -C $PORTS_TREE init --initial-branch=main
|
||||
git -C $PORTS_TREE remote add origin $PORTS_REPO
|
||||
fi
|
||||
git -C $PORTS_TREE fetch origin main # 'refs/heads/main'
|
||||
git -C $PORTS_TREE checkout FETCH_HEAD
|
||||
}
|
||||
|
||||
function set_stage {
|
||||
echo "${@}" > "$STAGE_FILE"
|
||||
}
|
||||
|
||||
function stage_selfbuild {
|
||||
self_conflict_check
|
||||
assert_directories
|
||||
update_ports_tree
|
||||
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src clean
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src buildworld buildkernel
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src installkernel
|
||||
|
||||
set_stage "selfinstallworld"
|
||||
/sbin/shutdown -r now
|
||||
}
|
||||
|
||||
function stage_selfinstallworld {
|
||||
etcupdate -p
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src installworld
|
||||
etcupdate -B
|
||||
|
||||
set_stage "selfconflictcheck"
|
||||
stage_selfconflictcheck
|
||||
}
|
||||
|
||||
function stage_selfconflictcheck {
|
||||
self_conflict_check
|
||||
set_stage "releasebuild"
|
||||
/sbin/shutdown -r now
|
||||
}
|
||||
|
||||
function stage_releasebuild {
|
||||
local today=$(date +%Y%m%d)
|
||||
local target_directory="${RELEASE_DIRECTORY}/${today}"
|
||||
if [ -e "$target_directory" ]; then
|
||||
die 1 "The release directory $target_directory already exists. Exiting."
|
||||
fi
|
||||
SRCCONF=/dev/null __MAKE_CONF=/dev/null make -C /usr/src clean
|
||||
make -C /usr/src buildworld buildkernel
|
||||
make -C /usr/src/release obj
|
||||
make -C /usr/src/release release
|
||||
mkdir -p "$target_directory"
|
||||
make -C /usr/src/release install DESTDIR="$target_directory"
|
||||
set_stage "done"
|
||||
}
|
||||
|
||||
function stage_done {
|
||||
log "Everything is done."
|
||||
}
|
||||
|
||||
main "${@}"
|
@ -1,120 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
|
||||
## Redefine environment variables here to override prototypes
|
||||
## defined in release.sh.
|
||||
#load_chroot_env() { }
|
||||
#load_target_env() { }
|
||||
#buildenv_setup() { }
|
||||
|
||||
## Set the directory within which the release will be built.
|
||||
CHROOTDIR="/scratch"
|
||||
|
||||
## Do not explicitly require the devel/git port to be installed.
|
||||
#NOGIT=1
|
||||
## Set the version control system host.
|
||||
GITROOT="https://git.freebsd.org/"
|
||||
GITSRC="src.git"
|
||||
GITPORTS="ports.git"
|
||||
|
||||
## Set the src/, ports/, and doc/ branches or tags.
|
||||
#SRCBRANCH="stable/13"
|
||||
SRCBRANCH="main"
|
||||
PORTBRANCH="main"
|
||||
|
||||
## Sample configuration for using git from ports.
|
||||
#GITCMD="/usr/local/bin/git clone -q --branch main"
|
||||
|
||||
## Set to override the default target architecture.
|
||||
#TARGET="amd64"
|
||||
#TARGET_ARCH="amd64"
|
||||
#KERNEL="GENERIC"
|
||||
KERNEL="GENERIC-NODEBUG"
|
||||
## Multiple kernels may be set.
|
||||
#KERNEL="GENERIC XENHVM"
|
||||
|
||||
## Set to specify a custom make.conf and/or src.conf
|
||||
#MAKE_CONF="/etc/local/make.conf"
|
||||
MAKE_CONF="/etc/make.conf"
|
||||
#SRC_CONF="/etc/local/src.conf"
|
||||
SRC_CONF="/etc/src.conf"
|
||||
|
||||
## Set to use make(1) flags.
|
||||
#MAKE_FLAGS="-s"
|
||||
|
||||
## Set to use world- and kernel-specific make(1) flags.
|
||||
#WORLD_FLAGS="-j $(sysctl -n hw.ncpu)"
|
||||
#KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))"
|
||||
|
||||
## Set miscellaneous 'make release' settings.
|
||||
#NOPORTS=
|
||||
#NOSRC=
|
||||
#WITH_DVD=
|
||||
#WITH_COMPRESSED_IMAGES=
|
||||
|
||||
## Set to '1' to disable multi-threaded xz(1) compression.
|
||||
#XZ_THREADS=0
|
||||
|
||||
## Set when building embedded images.
|
||||
#EMBEDDEDBUILD=
|
||||
|
||||
## Set to a list of ports required to build embedded system-on-chip
|
||||
## images, such as sysutils/u-boot-rpi.
|
||||
#EMBEDDEDPORTS=
|
||||
|
||||
## Set to the hardware platform of the target userland. This value
|
||||
## is passed to make(1) to set the TARGET (value of uname -m) to cross
|
||||
## build.
|
||||
#EMBEDDED_TARGET=
|
||||
|
||||
## Set to the machine processor architecture of the target userland.
|
||||
## This value is passed to make(1) to set the TARGET_ARCH (value of uname -p)
|
||||
## to cross build.
|
||||
#EMBEDDED_TARGET_ARCH=
|
||||
|
||||
## Set to skip the chroot environment buildworld/installworld/distribution
|
||||
## step if it is expected the build environment will exist via alternate
|
||||
## means.
|
||||
#CHROOTBUILD_SKIP=
|
||||
|
||||
## Set to a non-empty value skip checkout or update of /usr/src in
|
||||
## the chroot. This is intended for use when /usr/src already exists.
|
||||
#SRC_UPDATE_SKIP=
|
||||
|
||||
## Set to a non-empty value skip checkout or update of /usr/ports in
|
||||
## the chroot. This is intended for use when /usr/ports already exists.
|
||||
#PORTS_UPDATE_SKIP=
|
||||
|
||||
## Set to pass additional flags to make(1) for the build chroot setup, such
|
||||
## as TARGET/TARGET_ARCH.
|
||||
#CHROOT_MAKEENV=
|
||||
|
||||
## Set to a non-empty value to build virtual machine images as part of the
|
||||
## release build.
|
||||
#WITH_VMIMAGES=
|
||||
|
||||
## Set to a non-empty value to compress virtual machine images with xz(1)
|
||||
## as part of the release build.
|
||||
#WITH_COMPRESSED_VMIMAGES=
|
||||
|
||||
## If WITH_VMIMAGES is set to a non-empty value, this is the name of the
|
||||
## file to use for the installed userland/kernel.
|
||||
#VMBASE="vm"
|
||||
|
||||
## If WITH_VMIMAGES is set to a non-empty value, this is the size of the
|
||||
## virtual machine disk filesystem. Valid size values are described in
|
||||
## the makefs(8) manual page.
|
||||
#VMSIZE="20g"
|
||||
|
||||
## If WITH_VMIMAGES is set to a non-empty value, this is a list of disk
|
||||
## image formats to create. Valid values are listed in the mkimg(1)
|
||||
## manual page, as well as 'mkimg --formats' output.
|
||||
#VMFORMATS="vhdf vmdk qcow2 raw"
|
||||
|
||||
## Set to a non-empty value to build virtual machine images for various
|
||||
## cloud providers as part of the release build.
|
||||
#WITH_CLOUDWARE=
|
||||
|
||||
## If WITH_CLOUDWARE is set to a non-empty value, this is a list of providers
|
||||
## to create disk images.
|
||||
#CLOUDWARE="EC2 GCE VAGRANT-VIRTUALBOX VAGRANT-VMWARE"
|
@ -1,5 +0,0 @@
|
||||
- import_tasks: tasks/freebsd.yaml
|
||||
when: 'os_flavor == "freebsd" and build_user is defined'
|
||||
|
||||
- import_tasks: tasks/linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
@ -1,50 +0,0 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- git
|
||||
- tmux # For convenience
|
||||
- htop # For convenience
|
||||
- bash
|
||||
state: present
|
||||
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- /opt/freebsd_update_server
|
||||
|
||||
- name: Clone freebsd-update-build
|
||||
git:
|
||||
repo: "https://github.com/freebsd/freebsd-update-build.git"
|
||||
dest: /opt/freebsd_update_server/freebsd-update-build
|
||||
version: "28bb3ae7de9c1332fe8a366fb154a5b9faf37f49"
|
||||
force: true
|
||||
become: true
|
||||
become_user: "{{ build_user.name }}"
|
||||
diff: false
|
||||
|
||||
- name: Install Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0600
|
||||
owner: "{{ build_user.name }}"
|
||||
group: "{{ build_user.group }}"
|
||||
loop:
|
||||
- src: release.conf
|
||||
dest: /opt/freebsd_update_server/release.conf
|
||||
|
||||
- name: Install scripts
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: build_release.bash
|
||||
dest: /usr/local/bin/build_release
|
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Generate a link to google cloud logging by passing in a logging query.
|
||||
import sys
|
||||
import urllib.parse
|
||||
|
||||
def main():
|
||||
query = "\n".join([line.strip() for line in sys.stdin.readlines()])
|
||||
query = urllib.parse.quote(query)
|
||||
query = query + "?project=project-id-here"
|
||||
print(query)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
@ -0,0 +1,27 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mDMEXZwWGhYJKwYBBAHaRw8BAQdAfv7qozKkmf4D+5PDzADsMm4aAKDGLha7+Cu0
|
||||
0H+RsWG0LVRob21hcyBBbGV4YW5kZXIgPFRob21hc0EuQWxleGFuZGVyQGhtaG4u
|
||||
b3JnPoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAmULicsCGwMFCwkI
|
||||
BwIGFQoJCAsCBBYCAwECHgECF4AACgkQJ95A2bhFXBsUtQD9GWPdWc/nSmO0Gp7p
|
||||
DzxrieliriAnO+ZCHp31mFbMtToBAPxPYN9y4kgSiXhLiFLoRK5k5FCspksTSitg
|
||||
0CbXDE4LuDgEXZwWGhIKKwYBBAGXVQEFAQEHQK202EIAwTBuxARUygOvn+AloMJd
|
||||
ui39m+nMghn1MNo+AwEIB4h4BBgWCAAgFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsF
|
||||
Al2cFhoCGwwACgkQJ95A2bhFXBtNzAEAq5I6xPjIbb23xmhxh5cM/UJxdGedfWMy
|
||||
vF6/JtDvtPUBAPQRQn5AMwTOA+CSnliYf7ZjfVOlHscy60XWPlvXLoAJuDMEXZwW
|
||||
yhYJKwYBBAHaRw8BAQdAPyIL4EGg4T5JO9q2kpVDy2WjMiXz3nZXwYW4GLoTYkiI
|
||||
9QQYFggAJgIbAhYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZhBQkLMdaXAIF2
|
||||
IAQZFggAHRYhBIHmRDmWdVAusSUWutOhecmlPA7eBQJdnBbKAAoJENOhecmlPA7e
|
||||
jJ4A/iq7N2mMhx+ovOXm1REoASPF3l4YAAjOHsXqcPtFHKGJAQCiuA71d6CQ+qNZ
|
||||
Luka/KVB/etkkJvDzvaTtiQQQG+gAwkQJ95A2bhFXBtRDgEAqymMavroD5c/4+M/
|
||||
EZ3/d8wxfA9E3Fb/1mt4c2ZrNnkBAKYOM+pz/pncFnV+kF7h7TQEEYuGw1JhJVT/
|
||||
duA4lwsLuDMEXZwXARYJKwYBBAHaRw8BAQdAa76TmWuKuiR1bnNV1FUE6oQ4C8A+
|
||||
UiQb8x0k1z2DmTKIfgQYFggAJgIbIBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJl
|
||||
C4ZwBQkLMdZgAAoJECfeQNm4RVwb8TkA/RkBu9Ev8iDE5nvn8YF8FRiY56Z5d+SB
|
||||
PG4VvrCzXrmlAP46wUjIRpkMrTbb1GMbvYnkeOrBs/qiWjEtHHc3ZLMWD7g4BF2c
|
||||
FygSCisGAQQBl1UBBQEBB0AO0t3BUxLuokTqKVcheFAZd4UKxAGznPQlvsVyhWWI
|
||||
EgMBCAeIfgQYFggAJgIbDBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkL
|
||||
MdY5AAoJECfeQNm4RVwbXscA/A8zRRTCwQKxJ8iz5jmTcVFAhl2vD781Dtv8NvcW
|
||||
d5t8APwIwcuFVZZA3yayhIxi3aqYpMRxpn2t6Nswax1MIM8DBQ==
|
||||
=0HtE
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -0,0 +1 @@
|
||||
hw.amdgpu.abmlevel=3
|
@ -0,0 +1 @@
|
||||
kld_list="/boot/modules/amdgpu.ko"
|
@ -0,0 +1,31 @@
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- drm-kmod
|
||||
- vulkan-loader
|
||||
- libva-utils # for vainfo
|
||||
- vdpauinfo # for vdpauinfo
|
||||
- libvdpau-va-gl # vdpau support
|
||||
- radeontop
|
||||
- vulkan-tools # For vulkaninfo
|
||||
state: present
|
||||
|
||||
- name: Install loader.conf
|
||||
copy:
|
||||
src: "files/{{ item }}_loader.conf"
|
||||
dest: "/boot/loader.conf.d/{{ item }}.conf"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- amd_adaptive_backlight_management
|
||||
|
||||
- name: Install service configuration
|
||||
copy:
|
||||
src: "files/amd_{{ item }}_rc.conf"
|
||||
dest: "/etc/rc.conf.d/{{ item }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- kld
|
@ -0,0 +1,20 @@
|
||||
# TODO: Should I enable APM?
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- linux-firmware # Arch wiki claims this is needed to boot
|
||||
- mesa
|
||||
- lib32-mesa
|
||||
- vulkan-radeon
|
||||
- lib32-vulkan-radeon
|
||||
- libva-mesa-driver # Accelerated video decoding
|
||||
- lib32-libva-mesa-driver # Accelerated video decoding
|
||||
- mesa-vdpau # Accelerated video decoding
|
||||
- lib32-mesa-vdpau # Accelerated video decoding
|
||||
- vulkan-icd-loader
|
||||
- lib32-vulkan-icd-loader
|
||||
- libva-utils # for vainfo
|
||||
- vdpauinfo # for vdpauinfo
|
||||
- vulkan-tools # For vulkaninfo
|
||||
- radeontop
|
||||
state: present
|
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Decrypt and mount the disks after a fresh reboot.
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
zfs load-key -r zmass/encrypted
|
||||
zfs mount -a
|
||||
service bemount start
|
@ -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,10 @@
|
||||
- name: Install scripts
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: decrypt_disks.bash
|
||||
dest: /usr/local/bin/decrypt_disks
|
@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
kubectl get pipelinerun --all-namespaces -o go-template='{{range .items}}{{.metadata.namespace}}/{{.metadata.name}}{{"\n"}}{{end}}' | while read p; do namespace=$(cut -d '/' -f 1 <<<"$p"); name=$(cut -d '/' -f 2 <<<"$p"); kubectl delete pipelinerun -n "$namespace" "$name"; done
|
@ -1,27 +1,8 @@
|
||||
- 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:
|
||||
- kubeswitch
|
||||
- flux-scm
|
||||
- kubectl-minio
|
||||
|
||||
- name: Update cache
|
||||
when: buildaur.changed
|
||||
pacman:
|
||||
name: []
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- yamllint
|
||||
- stern
|
||||
- kubeswitch
|
||||
- flux-scm
|
||||
- kubectl-minio
|
||||
# - kubeswitch
|
||||
- fluxcd
|
||||
state: present
|
||||
|
@ -0,0 +1,642 @@
|
||||
{
|
||||
"model": "system76/launch_2",
|
||||
"version": 1,
|
||||
"map": {
|
||||
"K00": [
|
||||
"ESC",
|
||||
"RESET",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K01": [
|
||||
"F1",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K02": [
|
||||
"F2",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K03": [
|
||||
"F3",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K04": [
|
||||
"F4",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K05": [
|
||||
"F5",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K06": [
|
||||
"F6",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K07": [
|
||||
"F7",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K08": [
|
||||
"F8",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K09": [
|
||||
"F9",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K0A": [
|
||||
"F10",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K0B": [
|
||||
"F11",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K0C": [
|
||||
"F12",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K0D": [
|
||||
"DEL",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K0E": [
|
||||
"HOME",
|
||||
"PLAY_PAUSE",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K10": [
|
||||
"TICK",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K11": [
|
||||
"1",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K12": [
|
||||
"2",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K13": [
|
||||
"3",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K14": [
|
||||
"4",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K15": [
|
||||
"5",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K16": [
|
||||
"6",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K17": [
|
||||
"7",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K18": [
|
||||
"8",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K19": [
|
||||
"9",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K1A": [
|
||||
"0",
|
||||
"KBD_TOGGLE",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K1B": [
|
||||
"MINUS",
|
||||
"KBD_DOWN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K1C": [
|
||||
"EQUALS",
|
||||
"KBD_UP",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K1D": [
|
||||
"BKSP",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K1E": [
|
||||
"PGUP",
|
||||
"VOLUME_UP",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K20": [
|
||||
"TAB",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K21": [
|
||||
"Q",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K22": [
|
||||
"W",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K23": [
|
||||
"E",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K24": [
|
||||
"R",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K25": [
|
||||
"T",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K26": [
|
||||
"Y",
|
||||
"HOME",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K27": [
|
||||
"U",
|
||||
"PGDN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K28": [
|
||||
"I",
|
||||
"PGUP",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K29": [
|
||||
"O",
|
||||
"END",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K2A": [
|
||||
"P",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K2B": [
|
||||
"BRACE_OPEN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K2C": [
|
||||
"BRACE_CLOSE",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K2D": [
|
||||
"BACKSLASH",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K2E": [
|
||||
"PGDN",
|
||||
"VOLUME_DOWN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K30": [
|
||||
"CAPS",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K31": [
|
||||
"A",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K32": [
|
||||
"S",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K33": [
|
||||
"D",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K34": [
|
||||
"F",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K35": [
|
||||
"G",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K36": [
|
||||
"H",
|
||||
"LEFT",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K37": [
|
||||
"J",
|
||||
"DOWN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K38": [
|
||||
"K",
|
||||
"UP",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K39": [
|
||||
"L",
|
||||
"RIGHT",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K3A": [
|
||||
"SEMICOLON",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K3B": [
|
||||
"QUOTE",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K3C": [
|
||||
"ENTER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K3D": [
|
||||
"END",
|
||||
"MUTE",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K40": [
|
||||
"LEFT_SHIFT",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K41": [
|
||||
"Z",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K42": [
|
||||
"X",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K43": [
|
||||
"C",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K44": [
|
||||
"V",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K45": [
|
||||
"B",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K46": [
|
||||
"N",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K47": [
|
||||
"M",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K48": [
|
||||
"COMMA",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K49": [
|
||||
"PERIOD",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K4A": [
|
||||
"SLASH",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K4B": [
|
||||
"RIGHT_SHIFT",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K4C": [
|
||||
"UP",
|
||||
"PGUP",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K50": [
|
||||
"LEFT_CTRL",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K51": [
|
||||
"LEFT_SUPER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K52": [
|
||||
"LEFT_ALT",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K53": [
|
||||
"FN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K54": [
|
||||
"SPACE",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K55": [
|
||||
"SPACE",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K56": [
|
||||
"RIGHT_CTRL",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K57": [
|
||||
"RIGHT_ALT",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K58": [
|
||||
"PRINT_SCREEN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K59": [
|
||||
"LEFT",
|
||||
"HOME",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K5A": [
|
||||
"DOWN",
|
||||
"PGDN",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
],
|
||||
"K5B": [
|
||||
"RIGHT",
|
||||
"END",
|
||||
"ROLL_OVER",
|
||||
"ROLL_OVER"
|
||||
]
|
||||
},
|
||||
"key_leds": {
|
||||
"K00": null,
|
||||
"K01": null,
|
||||
"K02": null,
|
||||
"K03": null,
|
||||
"K04": null,
|
||||
"K05": null,
|
||||
"K06": null,
|
||||
"K07": null,
|
||||
"K08": null,
|
||||
"K09": null,
|
||||
"K0A": null,
|
||||
"K0B": null,
|
||||
"K0C": null,
|
||||
"K0D": null,
|
||||
"K0E": null,
|
||||
"K10": null,
|
||||
"K11": null,
|
||||
"K12": null,
|
||||
"K13": null,
|
||||
"K14": null,
|
||||
"K15": null,
|
||||
"K16": null,
|
||||
"K17": null,
|
||||
"K18": null,
|
||||
"K19": null,
|
||||
"K1A": null,
|
||||
"K1B": null,
|
||||
"K1C": null,
|
||||
"K1D": null,
|
||||
"K1E": null,
|
||||
"K20": null,
|
||||
"K21": null,
|
||||
"K22": null,
|
||||
"K23": null,
|
||||
"K24": null,
|
||||
"K25": null,
|
||||
"K26": null,
|
||||
"K27": null,
|
||||
"K28": null,
|
||||
"K29": null,
|
||||
"K2A": null,
|
||||
"K2B": null,
|
||||
"K2C": null,
|
||||
"K2D": null,
|
||||
"K2E": null,
|
||||
"K30": null,
|
||||
"K31": null,
|
||||
"K32": null,
|
||||
"K33": null,
|
||||
"K34": null,
|
||||
"K35": null,
|
||||
"K36": null,
|
||||
"K37": null,
|
||||
"K38": null,
|
||||
"K39": null,
|
||||
"K3A": null,
|
||||
"K3B": null,
|
||||
"K3C": null,
|
||||
"K3D": null,
|
||||
"K40": null,
|
||||
"K41": null,
|
||||
"K42": null,
|
||||
"K43": null,
|
||||
"K44": null,
|
||||
"K45": null,
|
||||
"K46": null,
|
||||
"K47": null,
|
||||
"K48": null,
|
||||
"K49": null,
|
||||
"K4A": null,
|
||||
"K4B": null,
|
||||
"K4C": null,
|
||||
"K50": null,
|
||||
"K51": null,
|
||||
"K52": null,
|
||||
"K53": null,
|
||||
"K54": null,
|
||||
"K55": null,
|
||||
"K56": null,
|
||||
"K57": null,
|
||||
"K58": null,
|
||||
"K59": null,
|
||||
"K5A": null,
|
||||
"K5B": null
|
||||
},
|
||||
"layers": [
|
||||
{
|
||||
"mode": [
|
||||
7,
|
||||
127
|
||||
],
|
||||
"brightness": 135,
|
||||
"color": [
|
||||
142,
|
||||
255
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": [
|
||||
13,
|
||||
127
|
||||
],
|
||||
"brightness": 135,
|
||||
"color": [
|
||||
142,
|
||||
255
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": [
|
||||
13,
|
||||
127
|
||||
],
|
||||
"brightness": 135,
|
||||
"color": [
|
||||
142,
|
||||
255
|
||||
]
|
||||
},
|
||||
{
|
||||
"mode": [
|
||||
13,
|
||||
127
|
||||
],
|
||||
"brightness": 135,
|
||||
"color": [
|
||||
142,
|
||||
255
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
- name: Install scripts
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: cast_file_vaapi
|
||||
dest: /usr/local/bin/cast_file
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue