dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
modules/apps/flatpak.nix (2043B)
1## Flatpak Configuration ##
2{inputs, ...}: {
3 flake.modules = {
4 nixos.flatpak = {
5 config,
6 lib,
7 pkgs,
8 ...
9 }: let
10 isGnome = config.services.desktopManager.gnome.enable or false;
11 in {
12 imports = [inputs.flatpak.nixosModules.nix-flatpak];
13
14 xdg.portal.enable = true;
15 environment.persist.directories = ["/var/lib/flatpak"];
16 system.activationScripts.updateDesktopDatabase.text = "${pkgs.desktop-file-utils}/bin/update-desktop-database /var/lib/flatpak/exports/share/applications";
17
18 services.flatpak = {
19 enable = true;
20 uninstallUnmanaged = true;
21
22 remotes =
23 [
24 {
25 name = "flathub";
26 location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
27 }
28 {
29 name = "flathub-beta";
30 location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo";
31 }
32 ]
33 ++ lib.optionals isGnome [
34 {
35 name = "gnome-nightly";
36 location = "https://nightly.gnome.org/gnome-nightly.flatpakrepo";
37 }
38 ];
39
40 packages = [
41 {
42 appId = "com.github.tchx84.Flatseal";
43 origin = "flathub";
44 }
45 ];
46
47 overrides.global = {
48 Context = {
49 filesystems = [
50 "~/.config/dconf:ro"
51 "/run/current-system/sw/share/themes:ro"
52 ];
53 sockets = [
54 "wayland"
55 "!x11"
56 "fallback-x11"
57 ];
58 };
59 Environment = {
60 "DCONF_USER_CONFIG_DIR" = ".config/dconf";
61 inherit (config.environment.variables) "GTK_THEME";
62 };
63 };
64
65 update = {
66 onActivation = false;
67 auto.enable = false;
68 };
69 };
70 };
71
72 homeManager.flatpak = _: {
73 home.persist.directories = [
74 ".cache/flatpak"
75 ".local/share/flatpak"
76 ".var/app"
77 ];
78 };
79 };
80}