{"id":15059192,"url":"https://github.com/rolandhemmer/fedora-workstation-guide","last_synced_at":"2026-03-17T18:39:31.553Z","repository":{"id":65286082,"uuid":"538639112","full_name":"rolandhemmer/fedora-workstation-guide","owner":"rolandhemmer","description":":book: Fedora Workstation personal installation guide and post-installation scripts.","archived":false,"fork":false,"pushed_at":"2023-04-02T19:29:05.000Z","size":217,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-01T21:50:01.798Z","etag":null,"topics":["documentation","fedora","fedora-workstation","installation-guides","installation-scripts","kernel","linux","post-installation","readme","shell","shell-scripts"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rolandhemmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-19T18:18:54.000Z","updated_at":"2023-11-23T13:40:24.000Z","dependencies_parsed_at":"2023-02-12T17:01:06.349Z","dependency_job_id":null,"html_url":"https://github.com/rolandhemmer/fedora-workstation-guide","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rolandhemmer/fedora-workstation-guide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolandhemmer%2Ffedora-workstation-guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolandhemmer%2Ffedora-workstation-guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolandhemmer%2Ffedora-workstation-guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolandhemmer%2Ffedora-workstation-guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rolandhemmer","download_url":"https://codeload.github.com/rolandhemmer/fedora-workstation-guide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolandhemmer%2Ffedora-workstation-guide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30628450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["documentation","fedora","fedora-workstation","installation-guides","installation-scripts","kernel","linux","post-installation","readme","shell","shell-scripts"],"created_at":"2024-09-24T22:39:04.923Z","updated_at":"2026-03-17T18:39:31.524Z","avatar_url":"https://github.com/rolandhemmer.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"docs/fedora-logo.png\" alt=\"Fedora\" width=\"275\"/\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nInstallation guide and **personal** post-installation steps.  \nThe purpose of this document is to provide a clean, minimalist, secure, gaming-ready, Fedora setup.\n\nThese scripts, while trivially editable and configurable, are built from a **personal** point-of-view, and may not suit all use-cases or preferences.\n\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003c/div\u003e\n\n## 📖 Table of Contents\n\n- [📖 Table of Contents](#-table-of-contents)\n- [🚀 Quick Start](#-quick-start)\n  - [1.1. Requirements](#11-requirements)\n  - [1.2. Available Scripts](#12-available-scripts)\n    - [1.2.1. Base Installation](#121-base-installation)\n    - [1.2.2. Nvidia Drivers Installation](#122-nvidia-drivers-installation)\n    - [1.2.3. Desktop Environment Configuration](#123-desktop-environment-configuration)\n    - [1.2.4. Desktop Theme Configuration](#124-desktop-theme-configuration)\n- [🔃 Automation](#-automation)\n- [🎓 License](#-license)\n- [🤝 Thanks](#-thanks)\n\n## 🚀 Quick Start\n\n### 1.1. Requirements\n\n- basic Fedora installation (Workstation Edition, with GNOME)\n- Secure Boot enabled\n\nHighly recommended (but still **not** mandatory):\n\n- TPM 2.0 enabled\n- LUKS encryption enabled on all drives\n\nThese scripts are better run right after a fresh Fedora installation.  \nOn the very first reboot, after creating your account:\n\n- disable `Location Services`\n- disable `Automatic Problem Reporting`\n- enable `Third-Party Repositories`\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n\n### 1.2. Available Scripts\n\nThen, use the following scripts, in the following order.  \n⚠️ Please **reboot** when asked.\n\n#### 1.2.1. Base Installation\n\nFirst, name your new system:\n\n```bash\n# \"Pretty\" name of the system, without restrictions\n# (e.g: \"System Name 01\")\nsudo hostnamectl set-hostname --pretty $pretty_hostname\n\n# Static name of the system, containing only lowercase letters, numbers and/or dashes\n# (e.g: \"system-name-01\")\nsudo hostnamectl set-hostname --static $static_hostname\n```\n\nThen, run:\n\n```bash\n./scripts/00-setup-base.sh\n# ➡️ Reboot when asked\n\n./scripts/01-setup-hardening.sh\n# ➡️ Reboot when asked\n```\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n\n#### 1.2.2. Nvidia Drivers Installation\n\nIf you have an Nvidia GPU, run:\n\n```bash\n./scripts/02-setup-nvidia.sh\n# ➡️ Reboot when asked\n```\n\n⚠️ A password will be asked during this step. This will allow the load of the Nvidia drivers and kernel modules even with Secure Boot enabled.  \nAt reboot, choose `Enroll MOK`, `Continue`, `Yes`, and enter the selected password. Reboot when done.\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n\n#### 1.2.3. Desktop Environment Configuration\n\nFinish the basic installation with:\n\n```bash\n./scripts/03-setup-codecs.sh\n# ✅ No reboot needed\n\n./scripts/04-setup-applications.sh\n# ✅ No reboot needed\n```\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n\n#### 1.2.4. Desktop Theme Configuration\n\nTo include a minimalist, flat, and consistent GNOME theme, run:\n\n```bash\nflatpak install --assumeyes --user flathub com.mattjakeman.ExtensionManager\n```\n\nThen, open `Extension Manager`, and install the following extensions:\n\n- Alphabetical App Grid\n- AppIndicator and KStatusNotifierItem Support\n- Dash to Dock\n- User Themes\n\nThen, run:\n\n```bash\n./scripts/05-setup-theme.sh\n# ✅ No reboot needed\n```\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n\n## 🔃 Automation\n\nA script is provided to simplify all update chores (RPM, Flatpaks, firmware, etc.), and/or refresh the GNOME theme as well if needed.  \nUse the following command to install it:\n\n```bash\nsudo cp ./scripts/update.sh /usr/bin/update\nsudo chmod +x /usr/bin/update\n```\n\nOnce set up, run:\n\n```bash\nupdate --system\n# to refresh RPM packages, Flatpaks and firmware\n\nupdate --theme\n# to refresh the GNOME theme as configured in this guide\n\nupdate --all\n# to do both\n```\n\n[Setting up a CRON job](https://fedoramagazine.org/scheduling-tasks-with-cron/) calling this script is recommended, to keep your system updated without effort.\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n\n## 🎓 License\n\nThis guide is published under the MIT license.  \nSee the [LICENSE.md](LICENSE.md) file for the full license text.\n\nPer this license, the use of the software and scripts downloaded from this repository is done **at your own discretion and risk**.  \nAll logos, trademarks, and copyrights are property of their respective owners and are only mentioned for informative purposes.\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n\n## 🤝 Thanks\n\nThis humble guide is merely a compilation of what's existing out here already.  \nI did spent **A LOT** of time searching, experimenting and formatting my poor PC to test all of this.\n\nI would like to take a minute and warmly thank the following authors for their work and ideas, which greatly helped bring this guide to life.\n\n- [@Andrei Nevedomskii](https://github.com/monosoul) and his [Nvidia Kernel Module Installation Guide](https://blog.monosoul.dev/2022/05/17/automatically-sign-nvidia-kernel-module-in-fedora-36/)\n- [@Madaidans Insecurities](https://github.com/madaidans-insecurities) and its [Linux Hardening Guide](https://madaidans-insecurities.github.io/guides/linux-hardening.html)\n- [@Stephen](https://github.com/elFarto) and his [Nvidia VA-API driver](https://github.com/elFarto/nvidia-vaapi-driver)\n- [@Thomas Crider](https://github.com/GloriousEggroll) and his [Nobara Project](https://nobaraproject.org/)\n- [The Linux Foundation IT](https://github.com/lfit) and its [Linux workstation security checklist](https://github.com/lfit/itpol/blob/master/linux-workstation-security.md)\n- The RPM Fusion team and their [Nvidia Guide](https://rpmfusion.org/Howto/NVIDIA)\n- (probably more I forgot...)\n\nand of course the Fedora Team for such an amazing Linux distribution!\n\n\u003cdiv dir='rtl'\u003e\n  \u003ca href=\"#-table-of-contents\"\u003e⬆️ back to top\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolandhemmer%2Ffedora-workstation-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frolandhemmer%2Ffedora-workstation-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolandhemmer%2Ffedora-workstation-guide/lists"}