Ansible playbooks to configure a freshly installed Fedora Linux 43 Workstation.
If you want to adapt it to your needs, feel free to fork it!
Note
Tested only on my Lenovo ThinkPad X1 Carbon Gen 10. Should work with a dual-boot setup alongside Windows 11 (it was working before I stopped dual-booting).
-
Set up your GitHub SSH key to enable cloning via SSH.
-
Clone the repository:
git clone git@github.com:le-chartreux/linux-pc-config.git cd linux-pc-config/ # Also change the branch if necessary.
-
Create a virtual environment (skip is you're using uv):
python -m venv .venv source .venv/bin/activate pip install .
-
Run the full configuration playbook:
ansible-playbook playbooks/site.yml --ask-become-pass --verbose # Or, with uv: uv run ansible-playbook playbooks/site.yml --ask-become-pass --verbose -
Restart your computer to apply all system-level changes.
-
Run it one more time to apply certain changes that require a second pass, such as those related to GNOME extensions.
If you get an error related to /boot/efi during the Update devices task:
- A system update might already be in progress.
- Solution: Reboot your machine to let the update finish, then re-run the playbook.
Some steps arenβt automated because they either canβt be or would be too invasive.
-
Generate an SSH key:
ssh-keygen -t ed25519 -C "your-email@example.com" -
Copy the public key to your clipboard:
wl-copy < ~/.ssh/id_ed25519.pub
-
Add the key to your GitHub account:
π GitHub SSH Keys
Set up a development environment:
git clone git@github.com:le-chartreux/linux-pc-config.git
cd ./linux-pc-config
# With uv:
uv run ansible-playbook playbooks/site.yml --ask-become-pass --verbose
# With pip:
python -m venv .venv
source .venv/bin/activate
pip install . --group dev
ansible-playbook playbooks/site.yml --ask-become-pass --verbose- Vincent Trinidad, for the beautiful wallpaper.
- devangshekhawat's Fedora-43-Post-Install-Guide, for some important post-install commands.

