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" rc_conf: "odofreebsd_rc.conf"
loader_conf: "odofreebsd_loader.conf" loader_conf: "odofreebsd_loader.conf"
install_graphics: true install_graphics: true
graphics_driver: "intel" graphics_driver: "amd"
cputype: "intel" cputype: "amd"
cpu_opt: skylake cpu_opt: tigerlake
hwpstate: true hwpstate: true
cores: 4 cores: 16
build_user: build_user:
name: talexander name: talexander
group: talexander group: talexander

View File

@@ -21,7 +21,7 @@ zfs_snapshot_datasets:
- path: zroot/linux/archmain/be - path: zroot/linux/archmain/be
- path: zroot/data/bridge/family_disks - path: zroot/data/bridge/family_disks
install_graphics: true install_graphics: true
graphics_driver: "intel" graphics_driver: "amd"
build_user: build_user:
name: talexander name: talexander
group: talexander group: talexander
@@ -30,9 +30,9 @@ enabled_wireguard:
- wgh - wgh
- drmario - drmario
- colo - colo
cputype: "intel" cputype: "amd"
hwpstate: true hwpstate: true
cores: 4 cores: 16
sway_conf_files: sway_conf_files:
- rofimoji - rofimoji
docker_storage_driver: overlay2 # alternatively zfs 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] [gui]
odolinux ansible_connection=local ansible_host=127.0.0.1 odolinux ansible_connection=local ansible_host=127.0.0.1
odofreebsd 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" os_flavor: "freebsd"
cpu_opt: skylake cpu_opt: tigerlake
build_user: build_user:
name: root name: root
group: wheel group: wheel

View File

@@ -121,12 +121,6 @@
roles: roles:
- framework_laptop - framework_laptop
- hosts: pixellinux
vars:
ansible_become: True
roles:
- pixelbook
- hosts: odofreebsd - hosts: odofreebsd
vars: vars:
ansible_become: True 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: loop:
- src: aurutils-purge - src: aurutils-purge
dest: /usr/local/bin/aurutils-purge dest: /usr/local/bin/aurutils-purge
- src: aurutils-nuke
dest: /usr/local/bin/aurutils-nuke
- src: aurutils-sync - src: aurutils-sync
dest: /usr/local/bin/aurutils-sync dest: /usr/local/bin/aurutils-sync
- src: aurutils-update-devel-packages - 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 - powertop
state: present state: present
# - name: Install tmpfiles.d configuration - name: Install tmpfiles.d configuration
# copy: copy:
# src: "files/{{ item }}_tmpfiles.conf" src: "files/{{ item }}_tmpfiles.conf"
# dest: "/etc/tmpfiles.d/{{ item }}.conf" dest: "/etc/tmpfiles.d/{{ item }}.conf"
# mode: 0644 mode: 0644
# owner: root owner: root
# group: wheel group: wheel
# loop: loop:
# - disable_turboboost - disable_turboboost
# - name: Favor energy efficiency for Speed Shift - name: Favor energy efficiency for Speed Shift
# when: hwpstate is defined and hwpstate and cores is defined when: hwpstate is defined and hwpstate and cores is defined
# template: template:
# src: "templates/{{ item.src }}.j2" src: "templates/{{ item.src }}.j2"
# dest: "{{ item.dest }}" dest: "{{ item.dest }}"
# mode: 0755 mode: 0755
# owner: root owner: root
# group: wheel group: wheel
# loop: loop:
# - src: energy_performance_preference.conf - src: energy_performance_preference.conf
# dest: /etc/tmpfiles.d/energy_performance_preference.conf dest: /etc/tmpfiles.d/energy_performance_preference.conf
- name: Install scripts - name: Install scripts
when: hwpstate is defined and hwpstate when: hwpstate is defined and hwpstate

View File

@@ -75,4 +75,10 @@
;; Delete trailing whitespace before save ;; Delete trailing whitespace before save
(add-hook 'before-save-hook 'delete-trailing-whitespace) (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) (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 owner: root
group: wheel group: wheel
loop: loop:
- src: cast_file_intel - src: cast_file_vaapi
dest: /usr/local/bin/cast_file dest: /usr/local/bin/cast_file

View File

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

View File

@@ -39,7 +39,7 @@
mode: 0644 mode: 0644
loop: loop:
- /etc/pacman.d/conf.d/blank.conf - /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: vars:
sub_query: "results[?stat.path=='{{ item }}'].stat.exists" sub_query: "results[?stat.path=='{{ item }}'].stat.exists"
@@ -52,7 +52,7 @@
group: root group: root
loop: loop:
- freeze_firefox.conf - freeze_firefox.conf
- name: Install packages - name: Install packages
package: package:
name: name:

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 # Example from bottom of /usr/share/examples/etc/make.conf
.if ${.CURDIR:N*/lang/gcc48*} && ${.CURDIR:N*/lang/gcc10*} && ${.CURDIR:N*/devel/qt6-base*} .if ${.CURDIR:N*/lang/gcc48*} && ${.CURDIR:N*/lang/gcc10*} && ${.CURDIR:N*/devel/qt6-base*}
CPUTYPE?=skylake CPUTYPE?=tigerlake
# CPUTYPE?=x86-64-v4 # CPUTYPE?=x86-64-v4
.endif .endif

View File

@@ -1,2 +1,2 @@
# Check that rust-analyzer is valid for date on https://rust-lang.github.io/rustup-components-history/ # 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: package:
name: name:
- linux-lts-headers - linux-lts-headers
- linux-headers
state: present state: present
- name: Check trusted gpg keys - 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 "${@}" ansible-playbook -v -i environments/laptop playbook.yaml --diff --limit odolinux "${@}"
elif [ "$target" = "odofreebsd" ]; then elif [ "$target" = "odofreebsd" ]; then
ansible-playbook -v -i environments/laptop playbook.yaml --diff --limit odofreebsd "${@}" 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 elif [ "$target" = "jail_nat_dhcp" ]; then
ansible-playbook -v -i environments/jail playbook.yaml --diff --limit nat_dhcp "${@}" ansible-playbook -v -i environments/jail playbook.yaml --diff --limit nat_dhcp "${@}"
elif [ "$target" = "jail_homeserver_nat_dhcp" ]; then elif [ "$target" = "jail_homeserver_nat_dhcp" ]; then