Add a role for flatpak.
This commit is contained in:
@@ -36,6 +36,7 @@ in
|
||||
./roles/ecc
|
||||
./roles/emacs
|
||||
./roles/emulate_isa
|
||||
./roles/flatpak
|
||||
./roles/esim
|
||||
./roles/exfat
|
||||
./roles/firefox
|
||||
|
||||
@@ -98,6 +98,7 @@
|
||||
me.exfat.enable = true;
|
||||
me.firefox.enable = true;
|
||||
me.firewall.enable = true;
|
||||
me.flatpak.enable = true;
|
||||
me.flux.enable = true;
|
||||
me.font.enable = true;
|
||||
me.gcloud.enable = true;
|
||||
|
||||
62
nix/configuration/roles/flatpak/default.nix
Normal file
62
nix/configuration/roles/flatpak/default.nix
Normal 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";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user