66 lines
1.6 KiB
Nix
66 lines
1.6 KiB
Nix
{ config, ... }:
|
|
let
|
|
repo = config.repo;
|
|
repoHelpers = repo.helpers;
|
|
in
|
|
{
|
|
flake.modules.homeManager.xdg =
|
|
{ config, pkgs, ... }:
|
|
let
|
|
browserPackage = repoHelpers.resolvePackagePath {
|
|
inherit pkgs;
|
|
path = repo.desktop.browser.packagePath;
|
|
};
|
|
fileManagerPackage = repoHelpers.resolvePackagePath {
|
|
inherit pkgs;
|
|
path = repo.desktop.fileManager.packagePath;
|
|
};
|
|
homeDir = config.home.homeDirectory;
|
|
localDir = "${homeDir}/.local";
|
|
mediaDir = "${homeDir}/media";
|
|
in
|
|
{
|
|
home.preferXdgDirectories = true;
|
|
|
|
xdg = {
|
|
enable = true;
|
|
|
|
cacheHome = "${localDir}/cache";
|
|
configHome = "${homeDir}/.config";
|
|
dataHome = "${localDir}/share";
|
|
stateHome = "${localDir}/state";
|
|
|
|
userDirs = {
|
|
enable = true;
|
|
createDirectories = true;
|
|
setSessionVariables = true;
|
|
|
|
download = "${homeDir}/downloads";
|
|
documents = "${homeDir}/documents";
|
|
projects = "${homeDir}/dev";
|
|
music = "${mediaDir}/music";
|
|
pictures = "${mediaDir}/images";
|
|
videos = "${mediaDir}/videos";
|
|
desktop = "${localDir}/desktop";
|
|
publicShare = "${localDir}/public";
|
|
templates = "${localDir}/templates";
|
|
};
|
|
|
|
mimeApps = {
|
|
enable = true;
|
|
defaultApplicationPackages =
|
|
with pkgs;
|
|
[
|
|
sioyek
|
|
imv
|
|
neovim
|
|
]
|
|
++ [
|
|
browserPackage
|
|
fileManagerPackage
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|