https://github.com/typovrak/nixos-flatpak
πͺ Declarative NixOS module to install and configure Flatpak, enable Flathub and auto-install OBS studio
https://github.com/typovrak/nixos-flatpak
automation declarative flathub flatpak nix nixos obs windows
Last synced: 3 months ago
JSON representation
πͺ Declarative NixOS module to install and configure Flatpak, enable Flathub and auto-install OBS studio
- Host: GitHub
- URL: https://github.com/typovrak/nixos-flatpak
- Owner: typovrak
- License: mit
- Created: 2025-04-07T23:43:18.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-05-21T16:22:37.000Z (5 months ago)
- Last Synced: 2025-05-21T17:30:40.134Z (5 months ago)
- Topics: automation, declarative, flathub, flatpak, nix, nixos, obs, windows
- Language: Nix
- Homepage: https://typovrak.tv/nixos
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
[](https://nixos.org/)
[](LICENSE.md)
[](https://typovrak.tv/coffee)
[](https://typovrak.tv/nixos)
[](https://typovrak.tv/discord)# πͺ NixOS Flatpak
> Declarative NixOS module to install and configure Flatpak, enable Flathub and auto-install OBS studio.
## π§© Part of the Typovrak NixOS ecosystem
This module is part of ```Typovrak NixOS```, a fully modular and declarative operating system configuration built entirely with :
- π§± **30+ standalone modules :** Each managing a specific tool, feature or aesthetic like ```zsh```, ```i3```, ```lighdm```, ```polybar```, ```gtk``` and more.
- π¨ **Catppuccin Mocha :** The default theme across terminal, GUI, and login interfaces.
- π‘οΈ **100% FOSS compliant :** No proprietary software included unless explicitly chosen.
- π§βπ» **Built for developers :** Optimized for speed, keyboard-centric workflows and expressive CLI tooling.*Explore the full system : π [github.com/typovrak/nixos](https://github.com/typovrak/nixos)*
> [!CAUTION]
> This module is opinionated, it may **override**, **replace**, or **remove** files and settings **without** prompt. To avoid unexpected changes, **back up** your existing files or **fork** this module to take full control. **Follow this documentation** to avoid any of this problem.## π¦ Features
- π§ **Flatpak setup :** Installs ```flatpak```, adds Flathub remote if missing and enables ```services.flatpak```.
- π **Auto-install OBS :** On activation, installs ```com.obsproject.Studio``` from Flathub.
- π **Idempotent activation :** Safe to run on each ```nixos-rebuild```, will not reinstall if already present.
- π οΈ **Portal integration :** Enables ```xdg-desktop-portal-gtk``` for Flatpak GUI support.
- βοΈ **Environment path :** Prepends Flatpak and necessary tools to ```$PATH``` during activation.
- πΎ **Backup**: No backup needed for this module.## π Repository structure
```bash
β― tree -a -I ".git*"
.
βββ configuration.nix # module configuration
βββ LICENSE.md # MIT license
βββ README.md # this documentation1 directory, 3 files
```## βοΈ Prerequisites
### 1. NixOS version
Requires NixOS 24.11 or newer.### 2. User validation
the target user must be defined in ```config.username```. See [typovrak main nixos configuration](https://github.com/typovrak/nixos) for more details.### 3. Backup
No backup needed for this module.## β¬οΈ Installation
### π Method 1 : Out-of-the-box
Fetch the module directly in your [main nixos configuration](https://github.com/typovrak/nixos) at ```/etc/nixos/configuration.nix``` using fetchGit
```nix
# /etc/nixos/configuration.nixlet
nixos-flatpak = fetchGit {
url = "https://github.com/typovrak/nixos-flatpak.git";
ref = "main";
rev = "05cb398922050615b223a96419bbba31b9ab386a"; # update to the desired commit
};
in
{
imports = [
/etc/nixos/hardware-configuration.nix # system hardware settings
/etc/nixos/variables.nix # defines config.username and other variables, see https://github.com/typovrak/nixos for more details
(import "${nixos-flatpak}/configuration.nix")
];
}
```Once imported, rebuild your system to apply changes
```bash
sudo nixos-rebuild switch
```### π΄ Method 2 : Fork
Want to **personalize** this module ?
Fork it and add this custom module in your [main nixos configuration](https://github.com/typovrak/nixos) at ```/etc/nixos/configuration.nix``` using fetchGit
```nix
let
nixos-flatpak = fetchGit {
url = "https://github.com//nixos-flatpak.git";
ref = "main";
rev = ""; # see below
};
in {
imports = [
/etc/nixos/hardware-configuration.nix # system hardware settings
/etc/nixos/variables.nix # defines config.username and other variables, see https://github.com/typovrak/nixos for more details
(import "${nixos-flatpak}/configuration.nix")
];
}
```Get the latest commit hash by executing
```bash
git clone https://github.com//nixos-flatpak.git &&
cd nixos-flatpak &&
git log -1 --pretty=format:"%H"
```## π¬ Usage
Start OBS studio with the i3 dmenu or with this command
```bash
flatpak run com.obsproject.Studio
```List all flatpaks apps installed in your system
```bash
flatpak list
```## π Learn more
- π¦ [Flatpak official site](https://flatpak.org) : Introduction, benefits and supported platforms.
- π οΈ [Flathub](https://flathub.org/apps) : The main app store for Flatpak packages.
- π₯ [OBS Studio on Flathub](https://flathub.org/apps/com.obsproject.Studio) : App page for OBS with installation and permissions, already included in this module.## π Discover my NixOS system portal
Dive into [typovrak.tv/nixos](https://typovrak.tv/nixos) Catppuccin mocha green themed **gateway** to my GitHub and NixOS setup.
Browse **every module**, example and config in a sleek with an interactive interface that feels just like your desktop.
## β€οΈ Support
If this module saved you time, please βοΈ the repo and share feedback.
You can also support me on β [Buy me a coffee](https://typovrak.tv/coffee)## π¬ Join the Typovrak community on Discord π«π·
If you've ever ```rm -rf```ed your config by mistake or rebuilt for the 42nd time because a semicolon was missingβ¦
You're not alone, **Welcome home !**
π― [Join us on Discord Β»](https://typovrak.tv/discord)
π§ What youβll find is :
- ```π» #nixos-setup``` - get help with modules, rebuilds and configs.
- ```π #web-dev``` - talk JS, TypeScript, React, Node and more.
- ```π§ #open-source``` - share your repos, contribute to others and discuss FOSS culture.
- ```β¨οΈ #typing``` - layouts, mechanical keyboards and speed goals.
- ```π¨ #ricing``` - dotfiles, theming tips and desktop screenshots.*Everyone's welcome no matter how many times you've broken your system ~~(except for Windows users)~~ π*
---
Made with π by typovrak