Files
lavitz/modules/assets.nix
2025-12-29 20:35:53 -07:00

33 lines
927 B
Nix

{ config, pkgs, lib, ... }:
let
# The assets folder from the project root
assetsPath = ../assets;
in
{
systemd.user.services.sync-assets = {
description = "Sync assets to home directory";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
script = ''
# Remove existing Assets folder to ensure clean sync
rm -rf %h/Assets
# Create the directory
mkdir -p %h/Assets
# Copy contents from the nix store to the home directory
# -L dereferences symlinks (if any)
# --no-preserve=mode,ownership to ensure the user owns the files and can write to them
${pkgs.coreutils}/bin/cp -rL --no-preserve=mode,ownership ${assetsPath}/* %h/Assets/
# Ensure permissions are correct (u+rw)
chmod -R u+rw %h/Assets
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
}