Files
nixos/henrovnix_ok/start_script.nix
T
2026-03-03 17:37:01 +01:00

29 lines
878 B
Nix

{ lib, config, pkgs, ... }:
let
# Copy your script to the Nix store
userScript = pkgs.runCommand "start_script.sh" {} ''
cp ${./assets/scripts/start_script.sh} $out
chmod +x $out
'';
# Create a wrapper script that runs in the user's home directory
script = pkgs.writeShellScriptBin "startScript" ''
#!${pkgs.bash}/bin/bash
set -euo pipefail
# Get the home directory of the user who ran 'nixos-rebuild switch' (usually root, so use SUDO_USER)
USER_HOME=$(getent passwd "$SUDO_USER" | cut -d: -f6)
if [ -z "$USER_HOME" ]; then
# Fallback: use the first user in /home
USER_HOME=$(ls -d /home/* | head -n 1)
fi
cd "$USER_HOME"
${userScript}
'';
in
{
system.activationScripts.startScript = lib.mkIf (builtins.pathExists ./assets/scripts/start_script.sh) {
text = ''
${script}/bin/startScript
'';
};
}