|
| 1 | +# 🧾 eTax Zug Flatpak 🚀 |
| 2 | + |
| 3 | +**Production Ready**: This Flatpak package downloads and runs the official eTax Zug app in a sandboxed environment—no more tax-ing installations! For advanced packaging or yearly updates, see `flatpak/README-flatpak-advanced.md`. |
| 4 | + |
| 5 | +This repository packages the official eTax Zug Java desktop application as a Flatpak for easy installation and sandboxing on Linux systems. Filing your taxes has never been so… contained! 🥳 |
| 6 | + |
| 7 | +## Features 🏆 |
| 8 | + |
| 9 | +- Downloads the official installer from [the canton Zug website](https://zg.ch/de/steuern-finanzen/steuern/natuerliche-personen/steuererklaerung-ausfuellen) (no shady business—just Swiss precision!) |
| 10 | +- Runs the original installer (no funny business, except in this README) |
| 11 | +- Sandboxed and isolated from the rest of your system (your other apps won't get "taxed") |
| 12 | + |
| 13 | +## Quick Start - From Zero to Tax Hero 🏁 |
| 14 | + |
| 15 | +Install Flatpak (if not already installed) |
| 16 | + |
| 17 | +```sh |
| 18 | +sudo apt install flatpak # Debian/Ubuntu |
| 19 | +# or |
| 20 | +sudo dnf install flatpak # Fedora |
| 21 | +``` |
| 22 | + |
| 23 | +### From Flatpak Remote |
| 24 | + |
| 25 | +1. **Add the Flatpak repo:** |
| 26 | + |
| 27 | + ```sh |
| 28 | + flatpak remote-add --user --if-not-exists etaxzug https://alexanderadam.github.io/etax_flatpak/repo/ |
| 29 | + ``` |
| 30 | + |
| 31 | +2. **(Optional) Import the GPG key:** |
| 32 | + |
| 33 | + Download the key: |
| 34 | + ``` |
| 35 | + wget https://alexanderadam.github.io/etax_flatpak/repo/gpgkey |
| 36 | + flatpak remote-modify --gpg-import=repo/gpgkey etaxzug |
| 37 | + ``` |
| 38 | + |
| 39 | +3. **Install the app:** |
| 40 | + |
| 41 | + ```sh |
| 42 | + flatpak install --user etaxzug ch.zg.etax |
| 43 | + ``` |
| 44 | + |
| 45 | +4. **Run eTax Zug:** |
| 46 | + |
| 47 | + ```sh |
| 48 | + flatpak run ch.zg.etax |
| 49 | + ``` |
| 50 | + |
| 51 | +## 🔑 Repository Info |
| 52 | + |
| 53 | +- **Repo URL:** https://alexanderadam.github.io/etax_flatpak/repo/ |
| 54 | +- **GPG Key:** See above or `.flatpakrepo` file. |
| 55 | + |
| 56 | + |
| 57 | +### From Repository |
| 58 | + |
| 59 | +#### 1️⃣ Clone the repository |
| 60 | + |
| 61 | +```sh |
| 62 | +git clone https://github.com/alexanderadam/etax_flatpak.git |
| 63 | +cd etax_flatpak |
| 64 | +``` |
| 65 | + |
| 66 | +#### 2️⃣ Build the Flatpak (it’s a taxing job, but someone’s gotta do it) |
| 67 | + |
| 68 | +```sh |
| 69 | +flatpak-builder --user --install --force-clean build-dir flatpak/ch.zg.etax.yaml |
| 70 | +``` |
| 71 | + |
| 72 | +## Run eTax Zug (and relax, you’re in a sandbox 😎) |
| 73 | + |
| 74 | +```sh |
| 75 | +flatpak run ch.zg.etax |
| 76 | +``` |
| 77 | + |
| 78 | +## How it works (extra-data) 🧙♂️ |
| 79 | + |
| 80 | +- [The Flatpak manifest uses `extra-data`](https://docs.flatpak.org/en/latest/module-sources.html#extra-data) to download the official eTax Zug installer zip at install time. |
| 81 | +- A post-install script extracts the shell installer and installs the Java app and desktop file inside the Flatpak. |
| 82 | + |
| 83 | +## Updating for a new year 🗓️ |
| 84 | + |
| 85 | +New year, new taxes! To update for a new tax year, just update the Flatpak manifest URL, SHA256, and filenames to match the new official eTax Zug release. See the Flatpak manifest and launcher script for details. For development and contribution, see `CONTRIBUTING.md`. (Don’t worry, it’s less work than your tax return!) |
| 86 | + |
| 87 | +## Support & Troubleshooting 🛟 |
| 88 | + |
| 89 | +If you encounter issues, please [open an issue on GitHub](https://github.com/alexanderadam/etax_flatpak/issues). For advanced troubleshooting, see `flatpak/README-flatpak-advanced.md`. |
| 90 | + |
| 91 | +## Repository Structure |
| 92 | + |
| 93 | +- [`flatpak/`](flatpak/) — Contains all Flatpak-specific files: |
| 94 | + - [`ch.zg.etax.yaml`](flatpak/ch.zg.etax.yaml) — Main Flatpak manifest (YAML format). |
| 95 | + - [`ch.zg.etax.post-install.sh`](flatpak/ch.zg.etax.post-install.sh) — Post-install script for extracting and patching the app after download. |
| 96 | + - [`etaxzug.sh`](flatpak/etaxzug.sh) — Launcher script for the eTax Zug app inside the Flatpak sandbox. |
| 97 | + - [`README.md`](flatpak/README.md) — Flatpak usage and packaging notes. |
| 98 | + |
| 99 | +- [`build-dir/`](build-dir/) — Temporary build output directory created by `flatpak-builder`. Not tracked in git. |
| 100 | + - [`files/`](build-dir/files/) — Contains staged files for the Flatpak build. |
| 101 | + - [`export/`](build-dir/export/) — Used for exported files during build. |
| 102 | + - [`metadata`](build-dir/metadata) — Flatpak metadata for the build. |
| 103 | + |
| 104 | +- [`repo/`](repo/) — OSTree Flatpak repository. This is what gets published to GitHub Pages for user installation. |
| 105 | + - [`config`](repo/config), [`summary`](repo/summary), [`objects/`](repo/objects/), etc. — Standard OSTree repo structure. |
| 106 | + |
| 107 | +- [`.github/workflows/`](.github/workflows/) — GitHub Actions CI/CD workflows for building and publishing the Flatpak repo. |
| 108 | + - [`flatpak.yml`](.github/workflows/flatpak.yml) — Main workflow for build and deploy. |
| 109 | + |
| 110 | +- [`.flatpakrepo`](.flatpakrepo) — Metadata file for users to add the repo to Flatpak. |
| 111 | + |
| 112 | +- [`build.sh`](build.sh) — Local build and export script for maintainers. |
| 113 | + |
| 114 | +- [`README.md`](README.md) — Main documentation and user instructions. |
| 115 | +- [`CONTRIBUTING.md`](CONTRIBUTING.md) — Contribution guidelines for maintainers. |
| 116 | +- [`.gitignore`](.gitignore) — Excludes build artifacts, temp files, and other unnecessary files from git. |
| 117 | + |
| 118 | +Other files and directories may be present for specific releases, tests, or local development. See the README for user instructions and this file for advanced packaging details. |
| 119 | + |
| 120 | +## License 📜 |
| 121 | + |
| 122 | +This repo only packages [the official eTax Zug app](https://zg.ch/de/steuern-finanzen/steuern/natuerliche-personen/steuererklaerung-ausfuellen). All rights to the app remain with the canton Zug. |
0 commit comments