{"id":15113819,"url":"https://github.com/valshaped/rwfus","last_synced_at":"2025-06-27T21:37:47.652Z","repository":{"id":46868538,"uuid":"515657276","full_name":"ValShaped/rwfus","owner":"ValShaped","description":"RW OverlayFS for Steam Deck!","archived":false,"fork":false,"pushed_at":"2024-06-24T22:16:48.000Z","size":968,"stargazers_count":242,"open_issues_count":3,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-09T23:15:55.152Z","etag":null,"topics":["bash-script","deck","linux","overlay","overlayfs","pacman","steam","steamdeck","steamos"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ValShaped.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-07-19T16:14:32.000Z","updated_at":"2025-04-07T10:37:35.000Z","dependencies_parsed_at":"2024-01-05T23:44:36.904Z","dependency_job_id":"0c40a0e0-99a5-4ce2-92f8-835c09553893","html_url":"https://github.com/ValShaped/rwfus","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValShaped%2Frwfus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValShaped%2Frwfus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValShaped%2Frwfus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValShaped%2Frwfus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ValShaped","download_url":"https://codeload.github.com/ValShaped/rwfus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125591,"owners_count":21051770,"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":["bash-script","deck","linux","overlay","overlayfs","pacman","steam","steamdeck","steamos"],"created_at":"2024-09-26T01:23:24.894Z","updated_at":"2025-04-09T23:16:00.034Z","avatar_url":"https://github.com/ValShaped.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Important Note: You'll probably want [Nix][nix-inst] instead.\n\nNix is a ridiculously powerful, declarative package manager that forces packages to play nice with each other. That includes the system glibc. [You can learn about nix here][nixtutor], and [you can check if your package is available here][nix-pkgs].\n\nSteamOS 3.5 and above have a built-in overlay for the `/nix` directory, and Nix is designed to work with (effectively) immutable root filesystems, like those found on the Steam Deck. It's a purpose-built solution.\n\nRwfus is not tested with all packages in the SteamOS/Arch repositories, and many of them will install to locations not covered by the overlay. If you just need to install Yakuake, but don't want to unlock your Deck, this'll do the trick. If you're looking for anything more complex, I suggest Nix.\n\n## Rwfus: Read-Write OverlayFS for your Steam Deck!\n---\n\nLike a vinyl couch cover for your filesystem, Rwfus covers your Deck's /usr/ directory (and some others) allowing you to initialize and use* pacman (the Arch Linux package manager) on the Steam Deck without losing packages when the next update comes out.\n\nDirectories covered in a default installation:\n| Directory         | Contents               |\n| ----------------- | ---------------------- |\n| /etc/pacman.d     | `pacman` configuration |\n| /usr              | Programs and libraries |\n| /var/cache/pacman | Package cache          |\n\n### * Jank warning\n\nDue to the way Valve's firmware updates work, doing `pacman -S[y[y]]u` at any time will leave your system in a partially updated state. This may cause crashes, hangs, boot-loops, or other undesired behavior, and will be annoying to fix. If you run into this issue, you can disable the Rwfus service from the recovery console with `systemctl disable rwfusd.service`\n\n### Installation:\n\n1. Download the latest release from GitHub's [Releases][releases] page\n2. `cd rwfus`\n3. `./rwfus -i`\n\nThen you're all set! Remember to periodically run `pacman -Sy` to update your repos\n\n### Usage:\n\n```\nRwfus v0.5.0\nCarry Pacman across SteamOS updates!\n\nUSAGE:\n    ./rwfus [FLAGS] [OPTIONS]\n\nFLAGS:\n    -h, --help          Show this help text, then exit\n    -v, --version       Show the version number, then exit\n\n    -i, --install*      Install or update Rwfus\n    -u, --update*       Alias for --install\n    -r, --remove*       Remove ALL FILES AND DIRECTORIES associated with Rwfus\n\n    -e, --enable*       Activate overlays\n    -d, --disable*      Deactivate overlays\n    -s, --status        Get the status of the overlay-mounter and disk image\n\n        --mount*        Mount Rwfus's disk image\n        --umount*       Unmount Rwfus's disk image\n\n    -t, --test          Use fake directory targets when performing operations\n    -g, --gen-config    Generate a sample config file, which you can use to customize your install\n\n    * flags marked with a star require root, unless the --test flag is set.\n\nOPTIONS:\n    -l, --logfile \u003cpath\u003e    Specify the location of Rwfus's log file\n                                Default: /var/log/rwfus.log\n    -c, --config \u003cpath\u003e     Specify a configuration file to use\n                                Default: /opt/rwfus/\n        --backup \u003cdest\u003e*    Backup Rwfus's disk image to (file path) \u003cdest\u003e\n        --restore \u003csrc\u003e*    Restore Rwfus's disk image from (file path) \u003csrc\u003e\n\n    * options marked with a star require root, unless the --test flag is set.\n```\n\n#### Examples:\n\n\u003e `rwfus`: Get status\n\n\u003e `rwfus --install`: Install Rwfus\n\n\u003e `rwfus --update`: Update Rwfus\n\n\u003e `rwfus --remove`: Remove Rwfus and all overlaid files\n\n\u003e `rwfus --gen-config`: Generate a sample config file in your present working directory\n\n\u003e `rwfus --config ./rwfus.conf`: Use a config file called `rwfus.conf` when setting up Rwfus\n\n# Adding `rwfus` to your `$PATH`\n\nTo access the `rwfus` manager utility from anywhere, you may want to [add it to your PATH][archpath].\n\n[releases]: https://github.com/ValShaped/rwfus/releases\n[archpath]: https://wiki.archlinux.org/title/Environment_variables#Per_user\n[nix-inst]: https://github.com/DeterminateSystems/nix-installer\n[nix-pkgs]: https://search.nixos.org/packages\n[nixtutor]: https://nix.dev/tutorials/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalshaped%2Frwfus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalshaped%2Frwfus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalshaped%2Frwfus/lists"}