{ config, lib, pkgs, materusArg, ... }: let packages = cfg.packages; cfg = config.materus.profile; in { imports = [ ./fonts.nix ./browser.nix ./xdg.nix ./shell ./editor ./terminal ]; options.materus.profile.enableDesktop = materusArg.pkgs.lib.mkBoolOpt false "Enable settings for desktop"; options.materus.profile.enableTerminal = materusArg.pkgs.lib.mkBoolOpt true "Enable settings for terminal"; options.materus.profile.enableTerminalExtra = materusArg.pkgs.lib.mkBoolOpt false "Enable extra settings for terminal"; options.materus.profile.enableNixDevel = materusArg.pkgs.lib.mkBoolOpt false "Enable settings for nix devel"; config = { home.packages = (if cfg.enableDesktop then packages.list.desktopApps else [ ]) ++ (if cfg.enableNixDevel then packages.list.nixRelated else [ ]) ++ (if cfg.enableTerminal then packages.list.terminalApps else [ ]); #Desktop programs.feh.enable = lib.mkDefault cfg.enableDesktop; programs.mpv = lib.mkIf cfg.enableDesktop { enable = true; config = { vo = "gpu-next"; profile="gpu-hq"; ytdl-format = "bestvideo+bestaudio"; slang="pl,pol,Polish,Polski,en,eng,English"; alang="ja,jp,jpn,Japanese,pl,pol,Polski,en,eng,English"; demuxer-max-bytes="500MiB"; demuxer-max-back-bytes="150MiB"; cache="yes"; cache-pause-wait="10"; cache-pause-initial="yes"; keep-open="yes"; }; }; #Terminal programs.git = { enable = lib.mkDefault cfg.enableTerminal; package = lib.mkDefault pkgs.gitFull; delta.enable = lib.mkDefault cfg.enableTerminal; lfs.enable = lib.mkDefault cfg.enableTerminal; }; programs.gitui.enable = cfg.enableTerminalExtra; programs.nix-index = { enable = lib.mkDefault cfg.enableTerminal; enableBashIntegration = lib.mkDefault config.programs.bash.enable; enableFishIntegration = lib.mkDefault config.programs.fish.enable; enableZshIntegration = lib.mkDefault config.programs.zsh.enable; }; programs.direnv = { enable = lib.mkDefault (cfg.enableTerminalExtra || cfg.enableNixDevel); nix-direnv.enable = lib.mkDefault (cfg.enableNixDevel && (config.programs.direnv.enable == true)); enableBashIntegration = lib.mkDefault config.programs.bash.enable; #enableFishIntegration = lib.mkDefault config.programs.fish.enable; enableZshIntegration = lib.mkDefault config.programs.zsh.enable; }; programs.fzf = { enable = lib.mkDefault cfg.enableTerminalExtra; enableBashIntegration = lib.mkDefault config.programs.bash.enable; enableFishIntegration = lib.mkDefault config.programs.fish.enable; enableZshIntegration = lib.mkDefault config.programs.zsh.enable; }; programs.eza.enable = lib.mkDefault cfg.enableTerminalExtra; programs.yt-dlp.enable = lib.mkDefault cfg.enableTerminalExtra; }; }