82 lines
2.5 KiB
Nix
82 lines
2.5 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
browser = ["Schizofox.desktop"];
|
|
mailer = ["thunderbird.desktop"];
|
|
zathura = ["org.pwmt.zathura.desktop.desktop"];
|
|
fileManager = ["org.kde.dolphin.desktop"];
|
|
|
|
associations = {
|
|
"text/html" = browser;
|
|
"x-scheme-handler/http" = browser;
|
|
"x-scheme-handler/https" = browser;
|
|
"x-scheme-handler/ftp" = browser;
|
|
"x-scheme-handler/about" = browser;
|
|
"x-scheme-handler/unknown" = browser;
|
|
"application/x-extension-htm" = browser;
|
|
"application/x-extension-html" = browser;
|
|
"application/x-extension-shtml" = browser;
|
|
"application/xhtml+xml" = browser;
|
|
"application/x-extension-xhtml" = browser;
|
|
"application/x-extension-xht" = browser;
|
|
|
|
"inode/directory" = fileManager;
|
|
"application/x-xz-compressed-tar" = ["org.kde.ark.desktop"];
|
|
|
|
"audio/*" = ["mpv.desktop"];
|
|
"video/*" = ["mpv.dekstop"];
|
|
"image/*" = ["imv.desktop"];
|
|
"application/json" = browser;
|
|
"application/pdf" = zathura;
|
|
"x-scheme-handler/tg" = ["telegramdesktop.desktop"];
|
|
"x-scheme-handler/spotify" = ["spotify.desktop"];
|
|
"x-scheme-handler/discord" = ["WebCord.desktop"];
|
|
"x-scheme-handler/mailto" = mailer;
|
|
};
|
|
|
|
template = import lib.xdgTemplate "home-manager";
|
|
in {
|
|
#home.sessionVariables = template.sysEnv;
|
|
xdg = {
|
|
enable = true;
|
|
cacheHome = "${config.home.homeDirectory}/.cache";
|
|
configHome = "${config.home.homeDirectory}/.config";
|
|
dataHome = "${config.home.homeDirectory}/.local/share";
|
|
stateHome = "${config.home.homeDirectory}/.local/state";
|
|
|
|
configFile = {
|
|
"npm/npmrc" = template.npmrc;
|
|
"python/pythonrc" = template.pythonrc;
|
|
};
|
|
|
|
userDirs = {
|
|
enable = pkgs.stdenv.isLinux;
|
|
createDirectories = true;
|
|
|
|
download = "${config.home.homeDirectory}/Downloads";
|
|
desktop = "${config.home.homeDirectory}/Desktop";
|
|
documents = "${config.home.homeDirectory}/Documents";
|
|
|
|
publicShare = "${config.home.homeDirectory}/.local/share/public";
|
|
templates = "${config.home.homeDirectory}/.local/share/templates";
|
|
|
|
music = "${config.home.homeDirectory}/Media/Music";
|
|
pictures = "${config.home.homeDirectory}/Media/Pictures";
|
|
videos = "${config.home.homeDirectory}/Media/Videos";
|
|
|
|
extraConfig = {
|
|
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
|
|
XDG_MAIL_DIR = "${config.home.homeDirectory}/Mail";
|
|
};
|
|
};
|
|
|
|
mimeApps = {
|
|
enable = true;
|
|
associations.added = associations;
|
|
defaultApplications = associations;
|
|
};
|
|
};
|
|
}
|