diff --git a/hosts/voidspear/configuration.nix b/hosts/voidspear/configuration.nix index af4779f..babbd03 100644 --- a/hosts/voidspear/configuration.nix +++ b/hosts/voidspear/configuration.nix @@ -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"; - 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" - ]; - }; - }; + 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" + ]; + }) apps; }; # Enable the X11 windowing system.