85 lines
2.4 KiB
Nix
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"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|