Add zen and librewolf configuration

This commit is contained in:
DashieTM 2025-03-12 11:11:10 +01:00
parent dc83628ac9
commit 1886700857
10 changed files with 219 additions and 62 deletions

View file

@ -4,8 +4,7 @@
config,
pkgs,
...
}:
{
}: {
options.mods.media = {
useBasePackages = lib.mkOption {
default = true;
@ -14,24 +13,24 @@
description = "Default media packages (If disabled, only the additional packages will be installed)";
};
additionalPackages = lib.mkOption {
default = [ ];
example = [ pkgs.flatpak ];
default = [];
example = [pkgs.flatpak];
type = with lib.types; listOf package;
description = ''
Additional media packages.
'';
};
specialPrograms = lib.mkOption {
default = { };
example = { };
default = {};
example = {};
type = with lib.types; attrsOf anything;
description = ''
special program configuration to be added which require programs.something notation.
'';
};
specialServices = lib.mkOption {
default = { };
example = { };
default = {};
example = {};
type = with lib.types; attrsOf anything;
description = ''
special services configuration to be added which require an services.something notation.
@ -40,51 +39,47 @@
};
config = lib.optionalAttrs (options ? home.packages) {
home.packages =
if config.mods.media.useBasePackages then
if config.mods.media.useBasePackages
then
with pkgs;
[
# base audio
pipewire
wireplumber
# audio control
playerctl
# images
imv
# videos
mpv
# pdf
zathura
evince
libreoffice-fresh
onlyoffice-bin
pdftk
pdfpc
polylux2pdfpc
# spotify
# video editing
kdePackages.kdenlive
# image creation
inkscape
gimp
krita
yt-dlp
]
++ config.mods.media.additionalPackages
else
config.mods.media.additionalPackages;
[
# base audio
pipewire
wireplumber
# audio control
playerctl
# images
imv
# videos
mpv
# pdf
zathura
evince
libreoffice-fresh
onlyoffice-bin
pdftk
pdfpc
polylux2pdfpc
# spotify
# video editing
kdePackages.kdenlive
# image creation
inkscape
gimp
krita
yt-dlp
]
++ config.mods.media.additionalPackages
else config.mods.media.additionalPackages;
programs =
if config.mods.media.useBasePackages then
if config.mods.media.useBasePackages
then
{
obs-studio.enable = true;
obs-studio.plugins = with pkgs; [ obs-studio-plugins.obs-vaapi ];
obs-studio.plugins = with pkgs; [obs-studio-plugins.obs-vaapi];
}
// config.mods.media.specialPrograms
else
config.mods.media.specialPrograms;
services =
if config.mods.media.useBasePackages then
config.mods.media.specialServices
else
config.mods.media.specialServices;
else config.mods.media.specialPrograms;
services = config.mods.media.specialServices;
};
}