alsa-utils
# browser
firefox-esr
+# also useful
+less
+man-db
+manpages
--- /dev/null
+#!/bin/sh
+# Copy files in argument-selected subdirectories of $1 to subdirectories
+# of $2 (which may be an empty string), e.g. with $1 of "etc_files", $2
+# of "" and $3 of "all", copy files below etc_files/all such as
+# etc_files/all/etc/foo/bar to equivalent locations below / such as
+# /etc/foo/bar. Create directories as necessary. Multiple arguments after
+# $3 are possible.
+#
+# CAUTION: This removes original files at the affected paths.
+set -e
+
+if [ "$#" -lt 3 ]; then
+ echo 'Need arguments: source root, target root, modules.'
+ false
+fi
+source_root="$1"
+target_root="$2"
+shift 2
+
+config_tree_prefix="${HOME}/config/buster"
+etc_files_dir="${config_tree_prefix}/etc_files"
+
+for target_module in "$@"; do
+ cd "${source_root}/${target_module}"
+ for path in $(find . -type f); do
+ target_path="${target_root}"$(echo "${path}" | cut -c2-)
+ source_path=$(realpath "${path}")
+ dir=$(dirname "${target_path}")
+ mkdir -p "${dir}"
+ cp "${source_path}" "${target_path}"
+ done
+done
+++ /dev/null
-#!/bin/sh
-# Copy files to those in argument-selected subdirectories of
-# linkable_etc_files//, e.g. copy /etc/foo/bar to
-# linkable_etc_files/$1/etc/foo/bar and so on. Create directories as
-# necessary.
-#
-# CAUTION: This removes original files at the affected paths.
-set -e
-
-config_tree_prefix="${HOME}/config/buster"
-etc_files_dir="${config_tree_prefix}/etc_files"
-
-for target in "$@"; do
- cd "${etc_files_dir}/${target}"
- for path in $(find . -type f); do
- target=$(echo "${path}" | cut -c2-)
- source=$(realpath "${path}")
- dir=$(dirname "${target}")
- mkdir -p "${dir}"
- cp "${source}" "${target}"
- done
-done
setup_scripts_dir="${config_tree_prefix}/setup_scripts"
cd "${setup_scripts_dir}"
-# Adapt /etc/ to our needs by hardlinking into ./linkable_etc_files. This
-# will set basic configurations affecting following steps, such as setup
-# of APT and the locale selection, so needs to be right at the beginning.
-./copy_etc.sh all
+# Adapt /etc/ to our needs by copying from ./etc_files. This will set
+# basic configurations affecting following steps, such as setup of APT
+# and the locale selection, so needs to be right at the beginning.
+./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" all
# Set hostname and FQDN.
./set_hostname_and_fqdn.sh "${hostname}" "${fqdn}"
setup_scripts_dir="${config_tree_prefix}/setup_scripts"
cd "${setup_scripts_dir}"
./setup.sh "${hostname}" ""
-./copy_etc.sh eeepc
+./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" eeepc
./install_for_target.sh eeepc