Files
nixos-blueprint/hosts/dunamis/users/user/flatpak.nix
2025-04-22 17:37:59 +03:00

125 lines
3.5 KiB
Nix

{
lib,
inputs,
...
}: {
imports = with inputs; [
nix-flatpak.homeManagerModules.nix-flatpak
];
services.flatpak = {
enable = true;
uninstallUnmanaged = true;
update.auto = {
enable = true;
onCalendar = "weekly";
};
remotes = [
{
name = "flathub";
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
}
];
packages =
[
# browsers
"app.zen_browser.zen"
"com.vivaldi.Vivaldi"
"net.mullvad.MullvadBrowser"
"org.torproject.torbrowser-launcher"
]
++ [
# editing
"com.github.PintaProject.Pinta"
"org.gimp.GIMP"
"org.kde.kdenlive"
]
++ [
# chatting
"im.riot.Riot"
"io.github.kukuruzka165.materialgram"
"io.github.spacingbat3.webcord"
"org.mozilla.Thunderbird"
"org.signal.Signal"
# "org.telegram.desktop"
]
++ [
# media
"io.bassi.Amberol"
"io.freetubeapp.FreeTube"
"org.atheme.audacious"
]
++ [
# gaming
"com.heroicgameslauncher.hgl"
"com.valvesoftware.Steam"
"net.lutris.Lutris"
"org.prismlauncher.PrismLauncher"
"org.freedesktop.Platform.VulkanLayer.MangoHud//24.08"
"org.freedesktop.Platform.VulkanLayer.gamescope//24.08"
]
++ [
# misc
"com.bitwarden.desktop"
"com.github.tchx84.Flatseal"
"com.logseq.Logseq"
"com.obsproject.Studio"
"com.usebottles.bottles"
"de.capypara.FieldMonitor"
"de.haeckerfelix.Fragments"
"org.nicotine_plus.Nicotine"
];
overrides = let
homeNoNetwork = {
Context.share = ["!network"];
Context.filesystems = ["home"];
};
game.sockets = ["x11" "wayland"];
game.folder = folder: ["/storage/games/${folder}" "~/games/${folder}"];
in {
"global" = {
Context = {
sockets = ["wayland" "!x11" "!fallback-x11"];
filesystems = [
"!home"
"!host"
"!~/.ssh"
"/nix/store:ro"
"xdg-config/gtk-3.0:ro"
"xdg-config/gtk-4.0:ro"
"xdg-run/pipewire-0"
"~/.local/share/icons:ro"
];
};
Environment = {
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
};
};
"com.valvesoftware.Steam" = {
Context = {
inherit (game) sockets;
filesystems = game.folder "steam";
};
Environment.STEAM_FORCE_DESKTOPUI_SCALING = "1.3";
};
"net.lutris.Lutris".Context = {
inherit (game) sockets;
filesystems = game.folder "lutris";
};
"com.heroicgameslauncher.hgl".Context = {
inherit (game) sockets;
filesystems = game.folder "heroic";
};
"com.github.PintaProject.Pinta" = {inherit (homeNoNetwork) Context;};
"com.logseq.Logseq" = {inherit (homeNoNetwork) Context;};
"com.obsproject.Studio" = {inherit (homeNoNetwork) Context;};
"com.usebottles.Bottles".Context = {inherit (game) sockets;};
"io.bassi.Amberol" = {inherit (homeNoNetwork) Context;};
"io.freetubeapp.FreeTube" = {inherit (homeNoNetwork) Context;};
"org.atheme.audacious" = {inherit (homeNoNetwork) Context;};
"org.gimp.GIMP" = {inherit (homeNoNetwork) Context;};
"org.kde.kdenlive" = {inherit (homeNoNetwork) Context;};
"org.signal.Signal".Environment.SIGNAL_PASSWORD_STORE = "gnome-libsecret";
};
};
}