Ansible Playbook for Framework laptop basic setup
This is a project inspired by Jeff Geerling's mac-dev-playbook. I want to be able to setup my Framework laptop for my Ubuntu working environment with code. Since probably all the Framework notebook owner's going to face similar issues while installing the required packages for Linux environment, so I think it makes sense to open source it.
For now I only run this ansible playbook against my own notebook. It may not work for your distro or hardware, please use it at your own risk. Here's my environment:
- Distro: Ubuntu Budgie 21.10
- Wifi: Intel® Wi-Fi 6E AX210 No vPro®
Update: I switch to Pop! OS (yet another Ubuntu based distro) instead, the playbook appears to be working as well.
Currently we have two tasks
- tasks/wifi.yaml - for Intel® Wi-Fi 6E AX210 driver installation
- tasks/fprint.yaml - for fprintd installation
Install ansible via pip
sudo apt install git python3-pip
pip3 install ansible --user
Ensure you have ~/.local/bin
in your PATH
environemtn variable, then checkout the code
git clone https://github.com/fangpenlin/framework-playbook.git
cd framework-playbook
ansible-playbook main.yaml -K
Tags can be added, for example, say if you only want to install fingerprint reader, you can run
ansible-playbook main.yaml -K -t fprint
or if you only want to install Wifi firmware
ansible-playbook main.yaml -K -t wifi
I followed the Ubuntu setup guide here for the Wifi firmware. But later realized that my Ubuntu comes with a newer WiFi driver supports Intel® Wi-Fi 6 AX210 already, so you may not need to install the WiFi firmware.
If your laptop has SSH server setup already, you can apply it remtoely as well like this:
ansible-playbook main.yaml -K -i <laptop ip>,
Please notice that you need to add the comma after your laptop ip
After ansible-playerbook is done, you can run
sudo fprintd-enroll $USER
to enroll your fingerprint. I don't know why the Settings > User panel is not showing the fingerprint option even after this and reboot. If you know why and how to fix it, please let me know.