{"id":18960386,"url":"https://github.com/dschier-wtd/fedora-workstation","last_synced_at":"2025-04-19T09:54:06.550Z","repository":{"id":43116765,"uuid":"444195681","full_name":"dschier-wtd/fedora-workstation","owner":"dschier-wtd","description":"Ansible setup of my development workstation","archived":false,"fork":false,"pushed_at":"2023-09-22T09:30:12.000Z","size":2767,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T07:05:30.653Z","etag":null,"topics":["ansible","desktop","fedora","gnome","linux","tools","workstation"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dschier-wtd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-03T20:49:17.000Z","updated_at":"2025-02-23T09:34:54.000Z","dependencies_parsed_at":"2023-02-09T19:45:15.797Z","dependency_job_id":null,"html_url":"https://github.com/dschier-wtd/fedora-workstation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dschier-wtd%2Ffedora-workstation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dschier-wtd%2Ffedora-workstation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dschier-wtd%2Ffedora-workstation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dschier-wtd%2Ffedora-workstation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dschier-wtd","download_url":"https://codeload.github.com/dschier-wtd/fedora-workstation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249195336,"owners_count":21228175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","desktop","fedora","gnome","linux","tools","workstation"],"created_at":"2024-11-08T14:06:19.999Z","updated_at":"2025-04-16T04:32:06.126Z","avatar_url":"https://github.com/dschier-wtd.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nreference: https://www.makeareadme.com/\nreference: https://commonmark.org/\n--\u003e\n\n[![Cirrus CI - Base Branch Build Status](https://img.shields.io/cirrus/github/dschier-wtd/fedora-workstation?logo=Cirrus-ci)](https://cirrus-ci.com/github/dschier-wtd/fedora-workstation)\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/dschier-wtd/fedora-workstation?logo=GitHub\u0026label=Release\u0026sort=semver)](https://github.com/dschier-wtd/fedora-workstation/releases)\n[![GitHub issues](https://img.shields.io/github/issues/dschier-wtd/fedora-workstation)](https://github.com/dschier-wtd/fedora-workstation/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/dschier-wtd/fedora-workstation)](https://github.com/dschier-wtd/fedora-workstation/pulls)\n[![GitHub license](https://img.shields.io/github/license/dschier-wtd/fedora-workstation)](https://github.com/dschier-wtd/fedora-workstation/blob/main/LICENSE)\n\n# Fedora Workstation\n\nAnsible setup of my workstation.\n\n## Motivation\n\nI am using Fedora Silverblue for my workstation. I have some customizations\napplied and software installed, that I rely on. To ensure that everything works\nafter a re-installation and to document my setup, I want to use Ansible.\n\n## Description\n\nThe Ansible playbook will install and configure various software. Most of the\nautomation can be configured very easily and should be self-explanatory.\nNevertheless, the following section will provide a feature overview.\n\nI also wrote an article in my\n[blog](https://blog.while-true-do.io/fedora-my-workstation-setup) about this\nsetup.\n\n### Screenshots\n\nJust some impressions.\n\n![Screenshot Fedora](./docs/assets/screenshot_fedora.png)\n\n### Features\n\nThe below software and configurations are examples for the included software. I\nam heavily relying on Flatpaks from [Flathub](https://flathub.org) and some\nbinary downloads.\n\n- Firefox\n- GNOME Calendar\n- GNOME Clocks\n- Geary\n- Endeavor (formerly GNOME ToDo)\n- Totem video player\n- GIMP\n- kubectl\n- kubectx\n- kubens\n- Skaffold\n- cirrus-cli\n- ngrok\n- micro\n- VSCode\n\nAnd many more.\n\n### Support\n\nThe repository is meant for my own set of hardware and the hardware is mostly\nworking out of the box, without additional drivers or tooling. Therefore, it\nmay work for your setup, too. Nevetherless, there is no guarentee, though.\n\nMy setup consists of:\n\n- [Fedora Silverblue](https://silverblue.fedoraproject.org/)\n- [Dell XPS 13 9315](https://en.wikipedia.org/wiki/Dell_XPS)\n- [Logitech MX Master](https://www.logitech.com/en-us/mx/master-series.html)\n- [Custom Keyboard](https://blog.while-true-do.io/diy-my-first-custom-keyboard/)\n- [Dell USB-C Monitor](https://www.dell.com/en-us/work/lp/usb-c-monitor)\n\nThis combination has decent battery life, works like a charm with hotplugging\nand I am getting firmware updates via GNOME software.\n\n## Usage\n\nThe playbook is designed to be used on a localhost via `ansible-playbook` or\n`ansible-pull`. This section describes which steps are needed to work with the\nsame tools, I do.\n\n### Requirements\n\nYou will need a Fedora Workstation installation with installed Ansible. I don't\ndo any partitioning or network configuration in the playbook, so this is up to\nyou. Nevertheless, for me it works best, when using a simple Fedora Workstation\nsetup with btrfs. One may say ... \"default\". :heart:\n\n### Install\n\nThis section describes how to install and get the playbook going.\n\n#### Ansible\n\nBefore starting to use the playbook, you need to ensure that Ansible is\ninstalled in a recent version.\n\nSince Fedora 36, you can install Ansible Core 2.12/Ansible 5.\n\n```shell\n# Install ansible via rpm-ostree\n$ sudo rpm-ostree install ansible\n```\n\n#### Playbook\n\nAfterwards, you can download the desired release from the\n[release page](https://github.com/dschier-wtd/fedora-workstation/tags) and\nstore it in a location, that suits your needs.\n\n```shell\n# Download a tag/release\n$ https://github.com/dschier-wtd/fedora-workstation/archive/refs/tags/\u003ctag_name\u003e.zip\n\n```\n\nIf you want to use git, help to develop or change to a tag/branch on the fly,\nyou can clone the repository instead.\n\n```shell\n# Clone the repository with a given tag\n$ git clone https://github.com/dschier-wtd/fedora-workstation.git\n\n# Checkout the desired tag\n$ git checkout \u003ctag_name\u003e\n```\n\n#### Roles and Collections\n\nBefore running the actual playboook, it is needed to install required roles\nand collections. This can be done in two simple commands.\n\n```shell\n# Install collections\n$ ansible-galaxy collection install -r ansible/requirements.yml\n\n# Install roles\n$ ansible-galaxy role install -r ansible/requirements.yml\n```\n\nThis will also install the upstream collection\n[whiletruedoio.desktop](https://github.com/whiletruedoio/whiletruedoio.desktop)\nwhich is maintained by me, too.\n\n#### Tuning variables\n\nYou can find a [manifest.yml](./ansible/manifest.yml) in the repository. There\nyou will find multiple options to configure your desired setup. For now, this\nis quite minimal, but you can also check out the `defaults/main.yml` of each\nrole and change the variables via the `manifest.yml`.\n\n#### The first run\n\nNow you are ready to execute the playbook. Be aware, that this will run for\nquite some time, remove packages, download packages and configure a couple of\nservices.\n\n```shell\n# Check run and show diffs\n$ ansible-playbook --check --diff -K ansible/playbooks/configure.yml\n\n# Execute the playbook\n$ ansible-playbook -K ansible/playbooks/configure.yml\n```\n\nIt is a good idea to restart your machine afterwards to ensure that everything\nis working and configured as expected.\n\n## Contribute\n\nThe dotfiles are intended to be used by me (Daniel Schier), but please feel free\nto use/fork/enhance them or opening issues to give me an idea what may be added\nin future versions.\n\n## License\n\nExcept otherwise noted, all work is [licensed](LICENSE) under a\n[BSD-3-Clause License](https://opensource.org/licenses/BSD-3-Clause).\n\n## Contact\n\nPlease feel free to reach out to me to provide feedback or get in touch.\n\n- Site: \u003chttps://while-true-do.io\u003e\n- Blog: \u003chttps://blog.while-true-do.io\u003e\n- Code: \u003chttps://github.com/dschier-wtd\u003e\n- Mail: [dschier@while-true-do.io](mailto:dschier@while-true-do.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdschier-wtd%2Ffedora-workstation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdschier-wtd%2Ffedora-workstation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdschier-wtd%2Ffedora-workstation/lists"}