Files
garandos/modules/home/xdg.nix

105 lines
3.5 KiB
Nix

{ pkgs, config, ... }:
let
messengerIcon = pkgs.fetchurl {
url = "https://assets.stickpng.com/images/580b57fcd9996e24bc43c526.png";
sha256 = "sha256-mQ7TAsLIWLZhun1DrJFgLkkwpqvWujhGT6Ig8Rf6vbc=";
};
mastodonIcon = pkgs.fetchurl {
url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Mastodon_logotype_%28simple%29_new_hue.svg/1200px-Mastodon_logotype_%28simple%29_new_hue.svg.png";
sha256 = "sha256-y31Pkl4iExgiM4yZ64t/elA7FYZM1daGQIvYzJdmWhw=";
};
nextcloudIcon = pkgs.fetchurl {
url = "https://cdn.freelogovectors.net/wp-content/uploads/2020/02/nextcloud-logo.png";
sha256 = "sha256-vbe3Jz6oNCUlhK81LGlDDFbo6xpUXiDio40bYqJ4lf4=";
};
chatgptIcon = pkgs.fetchurl {
url = "https://static.vecteezy.com/system/resources/previews/031/110/149/large_2x/chatgpt-logo-transparent-free-png.png";
sha256 = "sha256-ZWmhchblQkksW02eduVrkUSPAlWPGC2fjqxrAGAF5jw=";
};
claudeIcon = pkgs.fetchurl {
url = "https://registry.npmmirror.com/@lobehub/icons-static-png/1.65.0/files/dark/claude-color.png";
sha256 = "sha256-wmYmbmT2/bR4JrnZJu2stjRZm//O5TB9EPE2NQWdGkQ=";
};
glanceIcon = pkgs.fetchurl {
url = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/glance.png";
sha256 = "sha256-xyFlmPpt+DABoGX5oBqj/aQVdxtmNflat9Jb2BE7SOY=";
};
in
{
xdg = {
enable = true;
mime.enable = true;
mimeApps.enable = true;
portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
kdePackages.xdg-desktop-portal-kde
];
configPackages = [ config.wayland.windowManager.hyprland.package ];
config = {
common.default = "*";
hyprland = {
default = [
"hyprland"
"gtk"
];
"org.freedesktop.impl.portal.FileChooser" = "kde";
"org.freedesktop.impl.portal.Print" = "kde";
};
};
};
desktopEntries = {
"messenger" = {
name = "Messenger";
genericName = "Messenger";
exec = "chromium --profile-directory=Default --app=https://www.messenger.com/";
icon = "${messengerIcon}";
terminal = false;
type = "Application";
};
"mastodon" = {
name = "Mastodon";
genericName = "Mastodon";
exec = "chromium --profile-directory=Default --app=https://metalhead.club/";
icon = "${mastodonIcon}";
terminal = false;
type = "Application";
};
"garandcloud" = {
name = "GarandCloud";
genericName = "Nextcloud";
exec = "chromium --profile-directory=Default --app=https://nextcloud.garandplg.com/";
icon = "${nextcloudIcon}";
terminal = false;
type = "Application";
};
"chatgpt" = {
name = "ChatGPT";
genericName = "ChatGPT";
exec = "chromium --profile-directory=Default --app=https://chatgpt.com/";
icon = "${chatgptIcon}";
terminal = false;
type = "Application";
};
"claude" = {
name = "Claude";
genericName = "Claude";
exec = "chromium --profile-directory=Default --app=https://claude.ai/";
icon = "${claudeIcon}";
terminal = false;
type = "Application";
};
"glance" = {
name = "Glance";
genericName = "Glance";
exec = "chromium --profile-directory=Default --app=https://glance.garandplg.com/";
icon = "${glanceIcon}";
terminal = false;
type = "Application";
};
};
};
}