Compare commits
5 Commits
8bf7b7d489
...
pixelbook
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06de3fb0ac | ||
|
|
eaa05e13d0 | ||
|
|
98f6ca10ff | ||
|
|
675652044f | ||
|
|
c901defbf3 |
35
ansible/environments/laptop/host_vars/pixellinux
Normal file
35
ansible/environments/laptop/host_vars/pixellinux
Normal file
@@ -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]
|
[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
|
||||||
|
|||||||
@@ -121,6 +121,12 @@
|
|||||||
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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
4
ansible/roles/pixelbook/files/61-eve-keyboard.hwdb
Normal file
4
ansible/roles/pixelbook/files/61-eve-keyboard.hwdb
Normal file
@@ -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
|
||||||
BIN
ansible/roles/pixelbook/files/9d71-GOOGLE-EVEMAX-0-tplg.bin
Normal file
BIN
ansible/roles/pixelbook/files/9d71-GOOGLE-EVEMAX-0-tplg.bin
Normal file
Binary file not shown.
129
ansible/roles/pixelbook/files/HiFi.conf
Normal file
129
ansible/roles/pixelbook/files/HiFi.conf
Normal file
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
ansible/roles/pixelbook/files/dsmparam.bin
Normal file
BIN
ansible/roles/pixelbook/files/dsmparam.bin
Normal file
Binary file not shown.
Binary file not shown.
BIN
ansible/roles/pixelbook/files/dsp_lib_dsm_core_spt_release.bin
Normal file
BIN
ansible/roles/pixelbook/files/dsp_lib_dsm_core_spt_release.bin
Normal file
Binary file not shown.
6
ansible/roles/pixelbook/files/kbl-r5514-5663-.conf
Normal file
6
ansible/roles/pixelbook/files/kbl-r5514-5663-.conf
Normal file
@@ -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
|
||||||
55
ansible/roles/pixelbook/tasks/common.yaml
Normal file
55
ansible/roles/pixelbook/tasks/common.yaml
Normal file
@@ -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
|
||||||
5
ansible/roles/pixelbook/tasks/freebsd.yaml
Normal file
5
ansible/roles/pixelbook/tasks/freebsd.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# - name: Install packages
|
||||||
|
# package:
|
||||||
|
# name:
|
||||||
|
# - foo
|
||||||
|
# state: present
|
||||||
57
ansible/roles/pixelbook/tasks/linux.yaml
Normal file
57
ansible/roles/pixelbook/tasks/linux.yaml
Normal file
@@ -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
|
||||||
2
ansible/roles/pixelbook/tasks/main.yaml
Normal file
2
ansible/roles/pixelbook/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- import_tasks: tasks/common.yaml
|
||||||
|
# when: foo is defined
|
||||||
29
ansible/roles/pixelbook/tasks/peruser.yaml
Normal file
29
ansible/roles/pixelbook/tasks/peruser.yaml
Normal file
@@ -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"'
|
||||||
0
ansible/roles/pixelbook/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/pixelbook/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/pixelbook/tasks/peruser_linux.yaml
Normal file
0
ansible/roles/pixelbook/tasks/peruser_linux.yaml
Normal file
BIN
ansible/roles/wireguard/files/wireguard_configs/pixel/wgf.conf
Normal file
BIN
ansible/roles/wireguard/files/wireguard_configs/pixel/wgf.conf
Normal file
Binary file not shown.
BIN
ansible/roles/wireguard/files/wireguard_configs/pixel/wgh.conf
Normal file
BIN
ansible/roles/wireguard/files/wireguard_configs/pixel/wgh.conf
Normal file
Binary file not shown.
@@ -22,6 +22,8 @@ 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
|
||||||
|
|||||||
Reference in New Issue
Block a user