nix-da/home/desktop/default.nix

60 lines
1.3 KiB
Nix

{
self,
pkgs,
lib,
config,
...
}:
let
inherit (lib.my) slugify;
mkURLEntry = name: url: icon: {
name = slugify name;
value = {
inherit name icon;
terminal = false;
exec = "${pkgs.xdg-utils}/bin/xdg-open \"${url}\"";
};
};
in
{
xdg = {
desktopEntries = builtins.listToAttrs [
(mkURLEntry "Paperless" "https://paperless.ccnlc.eu" "${self}/assets/favicon-paperless.png")
(mkURLEntry "KitchenOwl" "https://kitchenowl.ccnlc.eu" "${self}/assets/favicon-kitchenowl.png")
(mkURLEntry "Discord" "https://discord.com/app" "${self}/assets/favicon-discord.png")
];
userDirs =
let
home = config.home.homeDirectory;
disable =
a:
lib.listToAttrs (
lib.map (key: {
name = key;
value = null;
}) a
);
in
(lib.mapAttrs (_: folder: "${home}/${folder}") {
download = "downloads";
videos = "videos";
pictures = "pictures";
})
// (disable [
"music"
"documents"
"templates"
"publicShare"
"desktop"
])
// {
enable = true;
createDirectories = true;
extraConfig = {
XDG_DEVEL_DIR = "${home}/devel";
};
};
};
}