nix-v0/src/home/default.nix
2024-10-26 21:13:31 -05:00

85 lines
2.4 KiB
Nix

{
config,
lib,
pkgs,
user,
...
}:
{
imports = [
./bash.nix
./emacs.nix
./impermanence.nix
./git.nix
./gui
./ssh.nix
];
config = {
# setup fonts for other distros, run "fc-cache -f" to refresh fonts
fonts.fontconfig.enable = true;
home = {
stateVersion = "24.11";
username = user;
homeDirectory = "/home/${user}";
activation = {
# linkDesktopApplications = {
# after = ["writeBoundary" "createXdgUserDirectories"];
# before = [];
# data = ''
# rm -rf ${config.home.homeDirectory}/.local/share/applications/home-manager
# rm -rf ${config.home.homeDirectory}/.icons/nix-icons
# mkdir -p ${config.home.homeDirectory}/.local/share/applications/home-manager
# mkdir -p ${config.home.homeDirectory}/.icons
# ln -sf ${config.home.homeDirectory}/.nix-profile/share/icons ${config.home.homeDirectory}/.icons/nix-icons
# # Check if the cached desktop files list exists
# if [ -f ${config.home.homeDirectory}/.cache/current_desktop_files.txt ]; then
# current_files=$(cat ${config.home.homeDirectory}/.cache/current_desktop_files.txt)
# else
# current_files=""
# fi
# # Symlink new desktop entries
# ${pkgs.bash}/bin/bash -c <
# for desktop_file in "${config.home.homeDirectory}/.nix-profile/share/applications/*.desktop"; do
# if ! echo "$current_files" | grep -q "$(basename $desktop_file)"; then
# echo $desktop_file
# ln -sf "$desktop_file" ${config.home.homeDirectory}/.local/share/applications/home-manager/$(basename $desktop_file)
# fi
# done
# # Update desktop database
# ${pkgs.desktop-file-utils}/bin/update-desktop-database ${config.home.homeDirectory}/.local/share/applications
# '';
# };
};
};
programs.home-manager.enable = true;
xdg = {
enable = true;
userDirs.enable = true;
mimeApps.enable = true;
configFile."mimeapps.list".force = true;
};
systemd.user.sessionVariables = config.home.sessionVariables;
custom = {
persist = {
home.directories = [
"Documents"
"Downloads"
"Pictures"
"Code"
];
};
};
};
}