146 lines
4.2 KiB
Nix
146 lines
4.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
osConfig,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib)
|
|
mkIf
|
|
mkEnableOption
|
|
mkForce
|
|
elem
|
|
;
|
|
browser =
|
|
if
|
|
elem osConfig.networking.hostName [
|
|
"kima"
|
|
"bunk"
|
|
]
|
|
then
|
|
"zen.desktop"
|
|
else
|
|
"firefox.desktop";
|
|
cfg = config.home.services.xdg;
|
|
in
|
|
{
|
|
options = {
|
|
home.services.xdg.enable = mkEnableOption "Enables XDG settings";
|
|
};
|
|
config = mkIf cfg.enable {
|
|
xresources.properties = {
|
|
"Xcursor.size" = config.home.pointerCursor.size;
|
|
"Xcursor.theme" = config.home.pointerCursor.name;
|
|
|
|
"XTerm*.foreground" = "#d5c4a1";
|
|
"XTerm*.background" = "#282828";
|
|
"XTerm*.cursorColor" = "#d5c4a1";
|
|
"XTerm*.color0" = "#282828";
|
|
"XTerm*.color1" = "#fb4934";
|
|
"XTerm*.color2" = "#b8bb26";
|
|
"XTerm*.color3" = "#fabd2f";
|
|
"XTerm*.color4" = "#83a598";
|
|
"XTerm*.color5" = "#d3869b";
|
|
"XTerm*.color6" = "#8ec07c";
|
|
"XTerm*.color7" = "#d5c4a1";
|
|
"XTerm*.color8" = "#665c54";
|
|
"XTerm*.color9" = "#fe8019";
|
|
"XTerm*.color10" = "#3c3836";
|
|
"XTerm*.color11" = "#504945";
|
|
"XTerm*.color12" = "#bdae93";
|
|
"XTerm*.color13" = "#ebdbb2";
|
|
"XTerm*.color14" = "#d65d0e";
|
|
"XTerm*.color15" = "#fbf1c7";
|
|
};
|
|
|
|
xdg = {
|
|
userDirs = {
|
|
enable = true;
|
|
createDirectories = true;
|
|
desktop = "${config.home.homeDirectory}/desktop";
|
|
documents = "${config.home.homeDirectory}/documents";
|
|
download = "${config.home.homeDirectory}/downloads";
|
|
music = "${config.home.homeDirectory}/media/music";
|
|
pictures = "${config.home.homeDirectory}/media/images";
|
|
publicShare = "${config.home.homeDirectory}/documents/share";
|
|
templates = "${config.home.homeDirectory}/documents/templates";
|
|
videos = "${config.home.homeDirectory}/media/videos";
|
|
};
|
|
mimeApps = {
|
|
enable = true;
|
|
defaultApplications = mkForce {
|
|
"text/html" = browser;
|
|
"text/xml" = browser;
|
|
"x-scheme-handler/http" = browser;
|
|
"x-scheme-handler/https" = browser;
|
|
"x-scheme-handler/chrome" = browser;
|
|
"application/x-extension-htm" = browser;
|
|
"application/x-extension-html" = browser;
|
|
"application/x-extension-shtml" = browser;
|
|
"application/x-extension-xhtml" = browser;
|
|
"application/x-extension-xht" = browser;
|
|
"application/xhtml+xml" = browser;
|
|
"application/json" = browser;
|
|
"application/pdf" = "org.pwmt.zathura-pdf-mupdf.desktop";
|
|
"inode/directory" = "thunar.desktop";
|
|
|
|
"image/apng" = "feh.desktop";
|
|
"image/avif" = "feh.desktop";
|
|
"image/bmp" = "feh.desktop";
|
|
"image/gif" = "feh.desktop";
|
|
"image/jpeg" = "feh.desktop";
|
|
"image/png" = "feh.desktop";
|
|
"image/svg+xml" = "feh.desktop";
|
|
"image/tiff" = "feh.desktop";
|
|
"image/webp" = "feh.desktop";
|
|
|
|
"video/H264" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/x-msvideo" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/mp4" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/mpeg" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/ogg" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/mp2t" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/webm" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/3gpp" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
"video/3gpp2" = [
|
|
"mpv.desktop"
|
|
"vlc.desktop"
|
|
];
|
|
|
|
"application/x-7z-compressed" = "org.gnome.FileRoller.desktop";
|
|
"application/zip" = "org.gnome.FileRoller.desktop";
|
|
"application/vnd.rar" = "org.gnome.FileRoller.desktop";
|
|
"application/x-bzip" = "org.gnome.FileRoller.desktop";
|
|
"application/x-bzip2" = "org.gnome.FileRoller.desktop";
|
|
"application/x-tar" = "org.gnome.FileRoller.desktop";
|
|
"application/gzip" = "org.gnome.FileRoller.desktop";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|