Files
nixos/Droidnix/generated/modules/traveldroid/desktop/xdg.nix
T
2026-05-04 20:21:53 +02:00

76 lines
2.2 KiB
Nix

# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }:
let
username = config.defaultUser or "henrov";
homeDir = "/home/${username}";
basePortal = pkgs.xdg-desktop-portal-gtk;
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland;
in
{
#################################
# XDG Desktop Portals (system)
#################################
xdg.portal.enable = true;
xdg.portal.xdgOpenUsePortal = true;
xdg.portal.extraPortals = [
basePortal
hyprlandPortal
];
xdg.portal.config = {
common = {
default = [ "hyprland" "gtk" ];
};
hyprland = {
default = [ "hyprland" "gtk" ];
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
"org.freedesktop.impl.portal.Settings" = [ "gtk" ];
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
"org.freedesktop.impl.portal.Screenshot" = [ "hyprland" ];
};
};
#################################
# System packages
#################################
environment.systemPackages = [
basePortal
hyprlandPortal
xdg-utils
];
#################################
# Home Manager user config
#################################
home-manager.users.${username} = {
#################################
# XDG user directories
#################################
xdg.userDirs = {
enable = true;
createDirectories = true;
desktop = null;
download = "${homeDir}/Downloads";
documents = "${homeDir}/Documents";
pictures = "${homeDir}/Pictures";
music = null;
publicShare = null;
templates = "${homeDir}/Experiments";
videos = "${homeDir}/Videos";
extraConfig = {
XDG_PROJECTS_DIR = "${homeDir}/Projects";
XDG_WORK_DIR = "${homeDir}/Work";
};
};
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "zen";
"x-scheme-handler/https" = "zen";
"text/html" = "zen";
# TXT files → Zed Editor
"text/plain" = "dev.zed.Zed.desktop";
"application/octet-stream" = "dev.zed.Zed.desktop";
};
};
}