42 lines
970 B
Bash
Executable File
42 lines
970 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Unix-style file installer - does one thing well
|
|
set -e
|
|
|
|
install_files() {
|
|
local source_dir="${1:-.}"
|
|
local dest_dir="${2:-/etc/nixos}"
|
|
|
|
# Validate source
|
|
[[ -d "$source_dir" ]] || {
|
|
echo "Source directory '$source_dir' not found" >&2
|
|
exit 1
|
|
}
|
|
|
|
# Create destination
|
|
sudo mkdir -p "$dest_dir"
|
|
|
|
# Copy files
|
|
sudo cp -r "$source_dir"/* "$dest_dir"/
|
|
|
|
# Set proper permissions
|
|
sudo chown -R root:root "$dest_dir"
|
|
sudo chmod 755 "$dest_dir"
|
|
|
|
[[ "${OMNIXY_QUIET:-}" != "1" ]] && echo "Files installed to $dest_dir"
|
|
}
|
|
|
|
main() {
|
|
case "${1:-}" in
|
|
--help|-h)
|
|
echo "Usage: omnixy-install-files [source-dir] [dest-dir]"
|
|
echo "Copies configuration files from source to destination"
|
|
echo "Default: current directory to /etc/nixos"
|
|
exit 0
|
|
;;
|
|
*)
|
|
install_files "$1" "$2"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main "$@" |