13 Commits

Author SHA1 Message Date
Tom Alexander
94b379c717 Fix conditional to not use jinja templating. 2023-12-17 12:33:30 -05:00
Tom Alexander
661b8534a8 Add auto-revert mode. 2023-12-17 11:51:41 -05:00
Tom Alexander
f42d4c469b Update rust. 2023-12-08 15:30:37 -05:00
Tom Alexander
ebde072f2c Install radeontop on AMD graphics. 2023-12-08 13:05:32 -05:00
Tom Alexander
a7fe6ff42d Update Linux framework laptop for AMD board.
Unfortunately, FreeBSD does not seem to boot so it is not being updated in this commit.
2023-12-07 17:45:18 -05:00
Tom Alexander
9d54609a12 TEMP change to use mainline kernel instead of LTS for AMD board. 2023-12-07 16:57:56 -05:00
Tom Alexander
0146c631ae Trust additional zfs signing key. 2023-12-07 16:57:56 -05:00
Tom Alexander
86a89be678 Add pipewire jack replacement. 2023-12-07 16:57:56 -05:00
Tom Alexander
644b0f2e00 Add devfs rules for homeserver. 2023-12-07 16:57:56 -05:00
Tom Alexander
4b62c9b4de Add a script to decrypt and mount disks on the home server. 2023-12-07 16:57:56 -05:00
Tom Alexander
0732a82171 Updates for FreeBSD 14. 2023-12-07 16:57:56 -05:00
Tom Alexander
e80cdcabdb Add restaurant_health_rating. 2023-12-07 16:57:56 -05:00
Tom Alexander
05e06d1615 Remove extra subkey from linux build key. 2023-12-07 16:57:55 -05:00
38 changed files with 90 additions and 368 deletions

View File

@@ -12,11 +12,11 @@ network_rc: "odofreebsd_network.conf"
rc_conf: "odofreebsd_rc.conf"
loader_conf: "odofreebsd_loader.conf"
install_graphics: true
graphics_driver: "intel"
cputype: "intel"
cpu_opt: skylake
graphics_driver: "amd"
cputype: "amd"
cpu_opt: tigerlake
hwpstate: true
cores: 4
cores: 16
build_user:
name: talexander
group: talexander

View File

@@ -21,7 +21,7 @@ zfs_snapshot_datasets:
- path: zroot/linux/archmain/be
- path: zroot/data/bridge/family_disks
install_graphics: true
graphics_driver: "intel"
graphics_driver: "amd"
build_user:
name: talexander
group: talexander
@@ -30,9 +30,9 @@ enabled_wireguard:
- wgh
- drmario
- colo
cputype: "intel"
cputype: "amd"
hwpstate: true
cores: 4
cores: 16
sway_conf_files:
- rofimoji
docker_storage_driver: overlay2 # alternatively zfs

View File

@@ -1,35 +0,0 @@
os_flavor: "linux"
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
- homeassistant
gitconfig: "gitconfig_home"
zfs_snapshot_datasets:
- path: zroot/linux/archmain/be
install_graphics: true
graphics_driver: "intel"
build_user:
name: talexander
group: talexander
wireguard_directory: pixel
enabled_wireguard:
- wgh
cputype: "intel"
hwpstate: true
cores: 4
sway_conf_files:
- rofimoji
docker_storage_driver: overlay2 # alternatively zfs
docker_zfs_dataset: zroot/linux/archmain/docker

View File

@@ -1,4 +1,3 @@
[gui]
odolinux ansible_connection=local ansible_host=127.0.0.1
odofreebsd ansible_connection=local ansible_host=127.0.0.1
pixellinux ansible_connection=local ansible_host=127.0.0.1

View File

@@ -1,5 +1,5 @@
os_flavor: "freebsd"
cpu_opt: skylake
cpu_opt: tigerlake
build_user:
name: root
group: wheel

View File

@@ -121,12 +121,6 @@
roles:
- framework_laptop
- hosts: pixellinux
vars:
ansible_become: True
roles:
- pixelbook
- hosts: odofreebsd
vars:
ansible_become: True

View File

@@ -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

View File

@@ -111,6 +111,8 @@
loop:
- src: aurutils-purge
dest: /usr/local/bin/aurutils-purge
- src: aurutils-nuke
dest: /usr/local/bin/aurutils-nuke
- src: aurutils-sync
dest: /usr/local/bin/aurutils-sync
- src: aurutils-update-devel-packages

View File

@@ -0,0 +1,5 @@
- name: Install packages
package:
name:
- powertop
state: present

View File

@@ -4,27 +4,27 @@
- powertop
state: present
# - name: Install tmpfiles.d configuration
# copy:
# src: "files/{{ item }}_tmpfiles.conf"
# dest: "/etc/tmpfiles.d/{{ item }}.conf"
# mode: 0644
# owner: root
# group: wheel
# loop:
# - disable_turboboost
- name: Install tmpfiles.d configuration
copy:
src: "files/{{ item }}_tmpfiles.conf"
dest: "/etc/tmpfiles.d/{{ item }}.conf"
mode: 0644
owner: root
group: wheel
loop:
- disable_turboboost
# - name: Favor energy efficiency for Speed Shift
# when: hwpstate is defined and hwpstate and cores is defined
# template:
# src: "templates/{{ item.src }}.j2"
# dest: "{{ item.dest }}"
# mode: 0755
# owner: root
# group: wheel
# loop:
# - src: energy_performance_preference.conf
# dest: /etc/tmpfiles.d/energy_performance_preference.conf
- name: Favor energy efficiency for Speed Shift
when: hwpstate is defined and hwpstate and cores is defined
template:
src: "templates/{{ item.src }}.j2"
dest: "{{ item.dest }}"
mode: 0755
owner: root
group: wheel
loop:
- src: energy_performance_preference.conf
dest: /etc/tmpfiles.d/energy_performance_preference.conf
- name: Install scripts
when: hwpstate is defined and hwpstate

View File

@@ -75,4 +75,10 @@
;; Delete trailing whitespace before save
(add-hook 'before-save-hook 'delete-trailing-whitespace)
;; If the underlying file changes, reload it automatically. This is useful for moving around in git without confusing language servers.
(setopt auto-revert-avoid-polling t)
(setopt auto-revert-interval 5)
(setopt auto-revert-check-vc-info t)
(global-auto-revert-mode)
(provide 'base)

View File

@@ -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

View File

@@ -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

View File

@@ -6,5 +6,5 @@
owner: root
group: wheel
loop:
- src: cast_file_intel
- src: cast_file_vaapi
dest: /usr/local/bin/cast_file

View File

@@ -1,4 +1,3 @@
#wlans_ath0="wlan0"
wlans_iwm0="wlan0"
wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"
ifconfig_wlan0_ipv6="inet6 accept_rtadv"

View File

@@ -39,7 +39,7 @@
mode: 0644
loop:
- /etc/pacman.d/conf.d/blank.conf
when: "{{ file_exists | community.general.json_query(sub_query) | first | default(False) }} == False"
when: "file_exists | community.general.json_query(sub_query) | first | default(False) == False"
vars:
sub_query: "results[?stat.path=='{{ item }}'].stat.exists"

View File

@@ -1,4 +0,0 @@
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGoogle:pnEve:pvr*
KEYBOARD_KEY_5d=delete
KEYBOARD_KEY_d8=leftmeta
KEYBOARD_KEY_db=capslock

View File

@@ -1,129 +0,0 @@
SectionVerb {
EnableSequence [
cdev "hw:kblr55145663max"
cset "name='codec1_out mo hs_pb_in mi Switch' on"
cset "name='Left DAI Sel Mux' Left"
cset "name='Right DAI Sel Mux' Right"
cset "name='Left Speaker Volume' 3"
cset "name='Right Speaker Volume' 3"
cset "name='Left Digital Volume' 60"
cset "name='Right Digital Volume' 60"
cset "name='Left Spk Switch' on"
cset "name='Right Spk Switch' on"
cset "name='Left Boost Output Voltage' 0"
cset "name='Right Boost Output Voltage' 0"
cset "name='Left Current Limit' 7"
cset "name='Right Current Limit' 7"
cset "name='Headphone Playback Volume' 16"
cset "name='Headset Mic Switch' off"
cset "name='DMIC Switch' on"
cset "name='STO1 ADC MIXL ADC1 Switch' on"
cset "name='Pin5-Port0 Mux' 2"
cset "name='Pin5-Port1 Mux' 2"
cset "name='Pin5-Port2 Mux' 2"
cset "name='Pin6-Port0 Mux' 1"
cset "name='Pin6-Port1 Mux' 1"
cset "name='Pin6-Port2 Mux' 1"
cset "name='Pin7-Port0 Mux' 3"
cset "name='Pin7-Port1 Mux' 3"
cset "name='Pin7-Port2 Mux' 3"
cset "name='ADC Capture Volume' 35"
cset "name='ADC1 Capture Volume' 55"
cset "name='ADC2 Capture Volume' 55"
cset "name='DAC L Mux' STO DAC MIXL"
cset "name='DAC R Mux' STO DAC MIXR"
cset "name='STO1 DAC MIXL DAC L Switch' on"
cset "name='STO1 DAC MIXR DAC R Switch' on"
cset-tlv "name='spk_pb_in dsm 0 dsm_params params' /opt/google/dsm/dsmparam.bin"
]
}
SectionDevice."Speaker" {
Comment "Speaker"
Value {
PlaybackPCM "hw:kblr55145663max,0"
DspName "speaker_eq"
}
}
SectionDevice."Headphones" {
Comment "Headphones"
Value {
PlaybackPCM "hw:kblr55145663max,2"
MixerName "DAC"
JackDev "kbl-r5514-5663-max Headset Jack"
}
EnableSequence [
cset "name='Headphone Jack Switch' on"
]
DisableSequence [
cset "name='Headphone Jack Switch' off"
]
}
SectionDevice."Internal Mic" {
Comment "Internal Microphone"
Value {
CapturePCM "hw:kblr55145663max,4"
CaptureChannelMap "2 3 0 1 -1 -1 -1 -1 -1 -1 -1"
MixerName "ADC2"
DefaultNodeGain "2700"
CaptureChannels "4"
}
EnableSequence [
cset "name='Sto1 ADC MIXL DMIC Switch' on"
cset "name='Sto1 ADC MIXR DMIC Switch' on"
cset "name='Sto2 ADC MIXL DMIC Switch' on"
cset "name='Sto2 ADC MIXR DMIC Switch' on"
]
DisableSequence [
cset "name='Sto1 ADC MIXL DMIC Switch' off"
cset "name='Sto1 ADC MIXR DMIC Switch' off"
cset "name='Sto2 ADC MIXL DMIC Switch' off"
cset "name='Sto2 ADC MIXR DMIC Switch' off"
]
}
SectionDevice."Mic" {
Comment "Headset Microphone"
Value {
CapturePCM "hw:kblr55145663max,1"
JackDev "kbl-r5514-5663-max Headset Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
SectionDevice."HDMI1" {
Comment "HDMI 1"
Value {
PlaybackPCM "hw:kblr55145663max,6"
JackDev "kbl-r5514-5663-max HDMI/DP,pcm=6 Jack"
}
}
SectionDevice."HDMI2" {
Comment "HDMI 2"
Value {
PlaybackPCM "hw:kblr55145663max,7"
JackDev "kbl-r5514-5663-max HDMI/DP,pcm=7 Jack"
}
}

View File

@@ -1,6 +0,0 @@
Syntax 3
SectionUseCase."HiFi" {
File "HiFi.conf"
Comment "Default"
}

View File

@@ -1,2 +0,0 @@
# Enable the pixelbook keyboard backlight. This seems to persist without needing the tmpfiles.d entry but it is here for clean installs of the machine.
w- /sys/class/leds/chromeos::kbd_backlight/brightness - - - - 100

View File

@@ -1,55 +0,0 @@
# - 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

View File

@@ -1,5 +0,0 @@
# - name: Install packages
# package:
# name:
# - foo
# state: present

View File

@@ -1,57 +0,0 @@
# Audio firmware from instructions at https://wiki.gentoo.org/wiki/Google_Pixelbook_(2017)#Audio
- name: Create directories
file:
name: "{{ item }}"
state: directory
mode: 0755
owner: root
group: wheel
loop:
- /opt/google/dsm
- /usr/share/alsa/ucm2/Intel/kbl-r5514-5663-
- /usr/share/alsa/ucm2/conf.d/kbl-r5514-5663-
- name: Install tmpfiles.d configuration
copy:
src: "files/{{ item }}_tmpfiles.conf"
dest: "/etc/tmpfiles.d/{{ item }}.conf"
mode: 0644
owner: root
group: wheel
loop:
- pixelbook_keyboard_backlight
- name: Install Configuration
copy:
src: "files/{{ item.src }}"
dest: "{{ item.dest }}"
mode: 0600
owner: root
group: wheel
loop:
- src: 61-eve-keyboard.hwdb
dest: /etc/udev/hwdb.d/61-eve-keyboard.hwdb
- src: 9d71-GOOGLE-EVEMAX-0-tplg.bin
dest: /lib/firmware/9d71-GOOGLE-EVEMAX-0-tplg.bin
- src: dsp_lib_dsm_core_spt_release.bin
dest: /lib/firmware/dsp_lib_dsm_core_spt_release.bin
- src: dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin
dest: /lib/firmware/intel/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin
- src: dsmparam.bin
dest: /opt/google/dsm/dsmparam.bin
- src: HiFi.conf
dest: /usr/share/alsa/ucm2/Intel/kbl-r5514-5663-/HiFi.conf
- src: kbl-r5514-5663-.conf
dest: /usr/share/alsa/ucm2/Intel/kbl-r5514-5663-/kbl-r5514-5663-.conf
- name: Create symlinks
file:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: root
group: wheel
state: link
loop:
- src: /usr/share/alsa/ucm2/Intel/kbl-r5514-5663-/kbl-r5514-5663-.conf
dest: /usr/share/alsa/ucm2/conf.d/kbl-r5514-5663-/kbl-r5514-5663-.conf

View File

@@ -1,2 +0,0 @@
- import_tasks: tasks/common.yaml
# when: foo is defined

View File

@@ -1,29 +0,0 @@
- 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"'

View File

@@ -4,7 +4,7 @@
#
# Example from bottom of /usr/share/examples/etc/make.conf
.if ${.CURDIR:N*/lang/gcc48*} && ${.CURDIR:N*/lang/gcc10*} && ${.CURDIR:N*/devel/qt6-base*}
CPUTYPE?=skylake
CPUTYPE?=tigerlake
# CPUTYPE?=x86-64-v4
.endif

View File

@@ -1,2 +1,2 @@
# Check that rust-analyzer is valid for date on https://rust-lang.github.io/rustup-components-history/
rust_date: "2023-10-16"
rust_date: "2023-12-04"

View File

@@ -2,6 +2,7 @@
package:
name:
- linux-lts-headers
- linux-headers
state: present
- name: Check trusted gpg keys

View File

@@ -22,8 +22,6 @@ elif [ "$target" = "odolinux" ]; then
ansible-playbook -v -i environments/laptop playbook.yaml --diff --limit odolinux "${@}"
elif [ "$target" = "odofreebsd" ]; then
ansible-playbook -v -i environments/laptop playbook.yaml --diff --limit odofreebsd "${@}"
elif [ "$target" = "pixellinux" ]; then
ansible-playbook -v -i environments/laptop playbook.yaml --diff --limit pixellinux "${@}"
elif [ "$target" = "jail_nat_dhcp" ]; then
ansible-playbook -v -i environments/jail playbook.yaml --diff --limit nat_dhcp "${@}"
elif [ "$target" = "jail_homeserver_nat_dhcp" ]; then