opt: use mapAttr for firejail profiles

This commit is contained in:
Xory 2025-10-27 14:17:40 +02:00
parent 461b145575
commit ea0019478c

View file

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
imports =
@ -87,43 +87,27 @@
# Firejail
programs.firejail = {
enable = true;
wrappedBinaries = {
firefox = {
executable = "${pkgs.firefox}/bin/firefox";
profile = "${pkgs.firejail}/etc/firejail/firefox.profile";
wrappedBinaries =
let
apps = {
firefox = {};
"signal-desktop-bin" = { name = "signal-desktop"; };
vesktop = {};
spotify = {};
obsidian = {};
};
in
lib.mapAttrs (pkg: conf:
let
binName = conf.name or pkg;
in
{
executable = "${pkgs.${pkg}}/bin/${binName}";
profile = "${pkgs.firejail}/etc/firejail/${binName}.profile";
extraArgs = [
"--env=GTK_THEME=Adwaita:dark"
];
};
signal-desktop-bin = {
executable = "${pkgs.signal-desktop-bin}/bin/signal-desktop";
profile = "${pkgs.firejail}/etc/firejail/signal-desktop.profile";
extraArgs = [
"--env=GTK_THEME=Adwaita:dark"
];
};
vesktop = {
executable = "${pkgs.vesktop}/bin/vesktop";
profile = "${pkgs.firejail}/etc/firejail/vesktop.profile";
extraArgs = [
"--env=GTK_THEME=Adwaita:dark"
];
};
spotify = {
executable = "${pkgs.spotify}/bin/spotify";
profile = "${pkgs.firejail}/etc/firejail/spotify.profile";
extraArgs = [
"--env=GTK_THEME=Adwaita:dark"
];
};
obsidian = {
executable = "${pkgs.vesktop}/bin/obsidian";
profile = "${pkgs.firejail}/etc/firejail/obsidian.profile";
extraArgs = [
"--env=GTK_THEME=Adwaita:dark"
];
};
};
}) apps;
};
# Enable the X11 windowing system.