{ lib, config, pkgs, inputs, ... }: let inherit (lib) optionals; in { imports = [ ./apps ./browsers ./desktops ./gtk ./neovim ./ssh ./tmux ./zsh ./development.nix ./git.nix ./gpg.nix ./starship.nix ]; home.username = config.user; home.homeDirectory = config.homePath; home.stateVersion = config.stateVersion; news.display = "silent"; fonts.fontconfig.enable = true; home.packages = (with pkgs; [ home-manager pfetch-rs yt-dlp ]) ++ [ inputs.talc.packages.${pkgs.system}.talc ] ++ (with pkgs; optionals config.desktops.enable [ # social discord element-desktop gajim thunderbird-latest # programs brightnessctl easyeffects filezilla gimp3 imv mpv pavucontrol vlc zathura # media ffmpeg imagemagick ]) # mirrored from system ++ config.extraPackages; xdg.configFile = { "aacs/keydb.cfg" = { source = ../files/keys/bluray.cfg; }; }; xdg.dataFile = { fonts = { source = ../files/fonts; recursive = true; }; }; xdg.mimeApps = { enable = true; defaultApplications = { # web "text/html" = "firefox.desktop"; "x-scheme-handler/http" = "firefox.desktop"; "x-scheme-handler/https" = "firefox.desktop"; "x-scheme-handler/about" = "firefox.desktop"; "x-scheme-handler/unknown" = "firefox.desktop"; # images "image/png" = "imv.desktop"; "image/jpeg" = "imv.desktop"; "image/webp" = "imv.desktop"; "image/tga" = "imv.desktop"; "image/bmp" = "imv.desktop"; "image/gif" = "imv.desktop"; # audio video "video/mp4" = "mpv.desktop"; "video/x-msvideo" = "mpv.desktop"; "video/mkv" = "mpv.desktop"; "video/webm" = "mpv.desktop"; "audio/mp3" = "mpv.desktop"; "audio/wav" = "mpv.desktop"; # other "application/pdf" = "org.pwmt.zathura.desktop"; "x-scheme-handler/mspa" = "unofficial-homestuck-collection.desktop"; "x-scheme-handler/discord" = "discord.desktop"; "x-scheme-handler/roblox-player" = "org.vinegarhq.Sober.desktop"; }; }; xdg.userDirs = { enable = true; createDirectories = false; desktop = "${config.homePath}/desktop"; documents = "${config.homePath}/documents"; download = "${config.homePath}/downloads"; music = "${config.homePath}/music"; pictures = "${config.homePath}/pictures"; publicShare = "${config.homePath}"; templates = "${config.homePath}"; videos = "${config.homePath}/videos"; }; programs.home-manager.enable = true; }