refactor(home:mime-apps): move mime configuration to relevant application modules
This commit is contained in:
parent
65fb953361
commit
55f907cf08
7 changed files with 225 additions and 189 deletions
|
|
@ -1,36 +1,8 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
browser = ["${config.home.sessionVariables.BROWSER}.desktop"];
|
||||
zathura = ["org.pwmt.zethura.desktop.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;
|
||||
|
||||
"audio/*" = ["mpv.desktop"];
|
||||
"video/*" = ["mpv.dekstop"];
|
||||
"image/*" = ["imv.desktop"];
|
||||
"application/json" = browser;
|
||||
"application/pdf" = zathura;
|
||||
"x-scheme-handler/discord" = ["vesktop.desktop"];
|
||||
};
|
||||
in
|
||||
{
|
||||
home.packages = [ pkgs.xdg-utils ];
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
associations.added = associations;
|
||||
defaultApplications = associations;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,36 @@
|
|||
{ pkgs, lib, inputs, config, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge;
|
||||
|
||||
addons = inputs.firefox-addons.packages.${pkgs.system};
|
||||
cfg = config.ooknet.browser.firefox;
|
||||
browser = config.ooknet.desktop.browser;
|
||||
inherit (lib) mkIf;
|
||||
firefoxMime = {
|
||||
"text/html" = ["firefox.desktop"];
|
||||
"x-scheme-handler/http" = ["firefox.desktop"];
|
||||
"x-scheme-handler/https" = ["firefox.desktop"];
|
||||
"x-scheme-handler/ftp" = ["firefox.desktop"];
|
||||
"x-scheme-handler/about" = ["firefox.desktop"];
|
||||
"x-scheme-handler/unknown" = ["firefox.desktop"];
|
||||
"application/x-extension-htm" = ["firefox.desktop"];
|
||||
"application/x-extension-html" = ["firefox.desktop"];
|
||||
"application/x-extension-shtml" = ["firefox.desktop"];
|
||||
"application/xhtml+xml" = ["firefox.desktop"];
|
||||
"application/x-extension-xhtml" = ["firefox.desktop"];
|
||||
"application/x-extension-xht" = ["firefox.desktop"];
|
||||
"application/json" = ["firefox.desktop"];
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
imports = [ ./tridactyl.nix ];
|
||||
config = mkIf (cfg.enable || browser == "firefox") {
|
||||
home.sessionVariables.BROWSER = mkIf (browser == "firefox") "firefox";
|
||||
ooknet.binds.browser = mkIf (browser == "firefox") "firefox";
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.enable || browser == "firefox") {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
nativeMessagingHosts = [pkgs.tridactyl-native];
|
||||
nativeMessagingHosts = [ pkgs.tridactyl-native ];
|
||||
profiles.ooks = {
|
||||
extensions = with addons; [
|
||||
ublock-origin
|
||||
|
|
@ -29,5 +43,16 @@ in
|
|||
userContent = import ./theme/penguinFoxContent.nix;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (browser == "firefox") {
|
||||
home.sessionVariables.BROWSER = "firefox";
|
||||
ooknet.binds.browser = "firefox";
|
||||
xdg.mimeApps = {
|
||||
associations.added = firefoxMime;
|
||||
defaultApplications = firefoxMime;
|
||||
};
|
||||
})
|
||||
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,16 +2,20 @@
|
|||
|
||||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
inherit (lib) mkIf;
|
||||
inherit (lib) mkIf mkMerge;
|
||||
|
||||
cfg = config.ooknet.communication.discord;
|
||||
discord = config.ooknet.desktop.discord;
|
||||
fonts = config.ooknet.fonts;
|
||||
vesktopMime = {
|
||||
"x-scheme-handler/discord" = ["vesktop.desktop"];
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf (cfg.enable || discord == "vesktop") {
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.enable || discord == "vesktop") {
|
||||
home.packages = [ pkgs.vesktop ];
|
||||
ooknet.binds.discord = "vesktop";
|
||||
xdg.configFile."vesktop/themes/nix.css".text = /* css */ ''
|
||||
/**
|
||||
* @name nix-colors-minimal
|
||||
|
|
@ -149,5 +153,14 @@ in
|
|||
}
|
||||
}
|
||||
'';
|
||||
})
|
||||
|
||||
(mkIf (discord == "vesktop") {
|
||||
ooknet.binds.discord = "vesktop";
|
||||
xdg.mimeApps = {
|
||||
associations.added = vesktopMime;
|
||||
defaultApplications = vesktopMime;
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.media.image.imv;
|
||||
imvMime = {
|
||||
"image/*" = ["imv.desktop"];
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
|
|
@ -12,5 +15,9 @@ in
|
|||
enable = true;
|
||||
};
|
||||
};
|
||||
xdg.mimeApps = {
|
||||
associations.added = imvMime;
|
||||
defaultApplications = imvMime;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@
|
|||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.media.video.mpv;
|
||||
mpvMime = {
|
||||
"audio/*" = ["mpv.desktop"];
|
||||
"video/*" = ["mpv.desktop"];
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
|
|
@ -10,5 +14,9 @@ in
|
|||
programs.mpv = {
|
||||
enable = true;
|
||||
};
|
||||
xdg.mimeApps = {
|
||||
associations.added = mpvMime;
|
||||
defaultApplications = mpvMime;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,19 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
inherit (lib) mkIf mkMerge;
|
||||
cfg = config.ooknet.productivity.notes.obsidian;
|
||||
notes = config.ooknet.desktop.notes;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf (cfg.enable || notes == "obsidian") {
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.enable || notes == "obsidian") {
|
||||
home.packages = [ pkgs.obsidian ];
|
||||
ooknet.binds.notes = mkIf (notes == "obsidian") "obsidian";
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (notes == "obsidian") {
|
||||
ooknet.binds.notes = "obsidian";
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
inherit (lib) mkIf;
|
||||
|
||||
zathura = { "application/pdf" = ["org.pwmt.zathura.desktop"]; };
|
||||
cfg = config.ooknet.productivity.pdf.zathura;
|
||||
pdf = config.ooknet.desktop.pdf;
|
||||
fonts = config.ooknet.fonts;
|
||||
|
|
@ -38,5 +40,9 @@ in
|
|||
recolor-darkcolor = "#${palette.base06}";
|
||||
};
|
||||
};
|
||||
xdg.mimeApps = mkIf (pdf == "zathura") {
|
||||
associations.added = zathura;
|
||||
defaultApplications = zathura;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue