Skip to content

Latest commit

Β 

History

214 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

linux-pc-config πŸ’»πŸ§πŸ”§

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).

πŸ“‘ Table of Contents

🎬 Showcase

Execution

Execution

Result

Result

🐧 Usage

  1. Set up your GitHub SSH key to enable cloning via SSH.

  2. Clone the repository:

    git clone git@github.com:le-chartreux/linux-pc-config.git
    cd linux-pc-config/
    # Also change the branch if necessary.
  3. Create a virtual environment (skip is you're using uv):

    python -m venv .venv
    source .venv/bin/activate
    pip install .
  4. 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
  5. Restart your computer to apply all system-level changes.

  6. Run it one more time to apply certain changes that require a second pass, such as those related to GNOME extensions.

πŸ› οΈ Troubleshooting

πŸ’Ώ EFI Partition Error

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.

βœ‹ Manual Steps

Some steps aren’t automated because they either can’t be or would be too invasive.

πŸ¦‘ GitHub SSH Key

  1. Generate an SSH key:

    ssh-keygen -t ed25519 -C "your-email@example.com"
  2. Copy the public key to your clipboard:

    wl-copy < ~/.ssh/id_ed25519.pub
  3. Add the key to your GitHub account:
    πŸ‘‰ GitHub SSH Keys

πŸ§ͺ For Development

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

πŸ“£ Credits

About

Ansible configuration for my Linux PC πŸ’»πŸ§πŸ”§

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors