Add a role for flatpak.

This commit is contained in:
Tom Alexander
2026-10-31 16:32:29 -04:00
parent 14f2084a06
commit 128a9be453
3 changed files with 64 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ in
./roles/ecc ./roles/ecc
./roles/emacs ./roles/emacs
./roles/emulate_isa ./roles/emulate_isa
./roles/flatpak
./roles/esim ./roles/esim
./roles/exfat ./roles/exfat
./roles/firefox ./roles/firefox

View File

@@ -98,6 +98,7 @@
me.exfat.enable = true; me.exfat.enable = true;
me.firefox.enable = true; me.firefox.enable = true;
me.firewall.enable = true; me.firewall.enable = true;
me.flatpak.enable = true;
me.flux.enable = true; me.flux.enable = true;
me.font.enable = true; me.font.enable = true;
me.gcloud.enable = true; me.gcloud.enable = true;

View File

@@ -0,0 +1,62 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [ ];
options.me = {
flatpak.enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether we want to install flatpak.";
};
};
config = lib.mkIf config.me.flatpak.enable {
services.flatpak.enable = true;
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
hideMounts = true;
directories = [
{
directory = "/var/lib/flatpak";
user = "root";
group = "root";
mode = "0755";
}
];
users.talexander = {
directories = [
{
# User-specific configuration.
directory = ".local/share/flatpak";
user = "talexander";
group = "talexander";
mode = "0755";
}
{
# App data
directory = ".var/app";
user = "talexander";
group = "talexander";
mode = "0755";
}
{
# Flatpak Lutris installs
directory = "Games";
user = "talexander";
group = "talexander";
mode = "0755";
}
];
};
};
};
}