nix-dotfiles/home-manager/init.nix
alsaiduq-lab 42aeaf54c8 changed
didnt really want to move them back again
2026-01-02 22:28:41 -07:00

40 lines
1.4 KiB
Nix

{
lib,
config,
pkgs,
hyprlanddots,
nvimDots,
dankMaterialShell,
...
}: {
home.activation.HyprlandDots = lib.hm.dag.entryAfter ["linkGeneration"] ''
set -euo pipefail
umask 022
repo=${lib.escapeShellArg hyprlanddots}
nvimrepo=${lib.escapeShellArg nvimDots}
dmsConfig="${dankMaterialShell}/etc/xdg/quickshell/dms"
mkdir -p "${config.xdg.configHome}"
copy_dir() {
src="$1"; dest="$2"; skip="''${3:-true}"
[ -d "$src" ] || return 0
[ "$skip" = "true" ] && [ -e "$dest" ] && return 0
mkdir -p "$dest"
if [ -x ${pkgs.rsync}/bin/rsync ]; then
${pkgs.rsync}/bin/rsync -rlD \
--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \
-- "$src"/ "$dest"/
else
cp -R -P --no-preserve=mode,ownership,timestamps -- "$src"/. "$dest"/
fi
chmod -R u+rwX "$dest"
}
copy_dir "$repo/fish" "${config.xdg.configHome}/fish"
copy_dir "$repo/hypr" "${config.xdg.configHome}/hypr"
copy_dir "$repo/cava" "${config.xdg.configHome}/cava"
copy_dir "$nvimrepo" "${config.xdg.configHome}/nvim"
copy_dir "$dmsConfig" "${config.xdg.configHome}/quickshell" "false"
if [ -f "$repo/starship.toml" ] && [ ! -e "${config.xdg.configHome}/starship.toml" ]; then
install -Dm0644 "$repo/starship.toml" "${config.xdg.configHome}/starship.toml"
fi
'';
}