Compare commits

...

7 Commits

Author SHA1 Message Date
Tom Alexander 06de3fb0ac
Disable CPU power consumption settings.
The pixelbook seems oddly slow. Disabling this to see if it helps.
6 months ago
Tom Alexander eaa05e13d0
Enable the wireguard configs. 6 months ago
Tom Alexander 98f6ca10ff
Add wireguard configs for pixelbook. 6 months ago
Tom Alexander 675652044f
Add support for audio. 6 months ago
Tom Alexander c901defbf3
Add the pixelbook. 6 months ago
Tom Alexander 8bf7b7d489
Trust additional zfs signing key. 6 months ago
Tom Alexander 6e772f1137
Add pipewire jack replacement. 6 months ago

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

@ -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
pixellinux ansible_connection=local ansible_host=127.0.0.1

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

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

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

@ -0,0 +1,129 @@
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"
}
}

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

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

@ -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:
# - foo
# state: present

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

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

@ -13,7 +13,7 @@
# name: []
# state: present
# update_cache: true
- name: Install packages
package:
name:
@ -21,4 +21,6 @@
- pipewire-pulse
- wireplumber
- pavucontrol
- pipewire-jack
- lib32-pipewire-jack
state: present

@ -17,6 +17,7 @@
command: "gpg --recv-key '{{ item }}'"
loop:
- "0AB9E991C6AF658B"
- "6AD860EED4598027"
- name: Build aur packages
register: buildaur

@ -22,6 +22,8 @@ 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

Loading…
Cancel
Save