From 5770fcf23d1d5a1f96bfb805b9026c585fbfc232 Mon Sep 17 00:00:00 2001 From: muon Date: Sat, 17 Jan 2026 11:01:49 +0000 Subject: [PATCH] Add flatpak --- flake.lock | 17 +++++++++++++++++ flake.nix | 2 ++ hosts/muon/configuration.nix | 3 +++ modules/nixos/default.nix | 1 + modules/nixos/flatpak/default.nix | 26 ++++++++++++++++++++++++++ modules/nixos/flatpak/stremio.nix | 20 ++++++++++++++++++++ 6 files changed, 69 insertions(+) create mode 100644 modules/nixos/flatpak/default.nix create mode 100644 modules/nixos/flatpak/stremio.nix diff --git a/flake.lock b/flake.lock index ef9e1e6..ccdb042 100644 --- a/flake.lock +++ b/flake.lock @@ -335,6 +335,22 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -511,6 +527,7 @@ "home-manager": "home-manager", "impermanence": "impermanence", "nix-alien": "nix-alien", + "nix-flatpak": "nix-flatpak", "nix-minecraft": "nix-minecraft", "nixpkgs": "nixpkgs_3", "nvf": "nvf", diff --git a/flake.nix b/flake.nix index 70de66c..a0e7502 100644 --- a/flake.nix +++ b/flake.nix @@ -27,6 +27,8 @@ # nix-minecraft.url = "github:Infinidoge/nix-minecraft"; valheim-server.url = "github:kmjayadeep/valheim-server-flake"; valheim-server.inputs.nixpkgs.follows = "nixpkgs"; + + nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest"; }; outputs = inputs @ { diff --git a/hosts/muon/configuration.nix b/hosts/muon/configuration.nix index 869393c..b9e1e4a 100644 --- a/hosts/muon/configuration.nix +++ b/hosts/muon/configuration.nix @@ -79,6 +79,9 @@ in { mods.unfree.nvidia.enable = true; mods.unfree.minecraft.enable = true; + mods.flatpak.enable = true; + mods.flatpak.stremio.enable = true; + # Hardware preferences ## Mouse diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index cbccb97..ff3dabc 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -11,6 +11,7 @@ ./server ./sops ./security + ./flatpak ./impermanence.nix diff --git a/modules/nixos/flatpak/default.nix b/modules/nixos/flatpak/default.nix new file mode 100644 index 0000000..2cabac2 --- /dev/null +++ b/modules/nixos/flatpak/default.nix @@ -0,0 +1,26 @@ +{ + pkgs, + config, + inputs, + lib, + ... +}: let + cfg = config.mods.flatpak; +in + with lib; { + options.mods.flatpak.enable = + mkEnableOption "enables flatpak programs"; + + imports = [ + inputs.nix-flatpak.nixosModules.nix-flatpak + ./stremio.nix + ]; + + config = mkIf cfg.enable { + services.flatpak.enable = true; + xdg.portal.enable = true; + xdg.portal.extraPortals = [ + pkgs.xdg-desktop-portal + ]; + }; + } diff --git a/modules/nixos/flatpak/stremio.nix b/modules/nixos/flatpak/stremio.nix new file mode 100644 index 0000000..9ffc48c --- /dev/null +++ b/modules/nixos/flatpak/stremio.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + cfg = config.mods.flatpak.stremio; +in + with lib; { + options.mods.flatpak.stremio.enable = + mkEnableOption "enables stremio flatpak"; + + config = mkIf cfg.enable { + services.flatpak.packages = [ + { + appId = "com.stremio.Stremio"; + origin = "flathub"; + } + ]; + }; + }