--- /dev/null
+# connectivity
+ifupdown
+isc-dhcp-client
+# git
+ca-certificates
+git
+# to avoid constant warnings about no locale being found
+locales
--- /dev/null
+# connectivity
+openssh-server
+# provides /etc/inputrc and understanding of ctrl+arrow key combos
+readline-common
--- /dev/null
+#!/bin/sh
+# Walks through the package names in the argument-selected files of
+# apt-mark/ and ensures the respective packages are installed.
+set -e
+
+config_tree_prefix="${HOME}/config/all_new_2018/apt-mark/"
+
+for target in "$@"; do
+ path="${config_tree_prefix}${target}"
+ for line in $(cat "${path}"); do
+ if [ ! $(echo "${line}" | cut -c1) = "#" ]; then
+ apt-get -y install "${line}"
+ fi
+ done
+done
+++ /dev/null
-#!/bin/sh
-# This script removes all Debian packages that are not of Priority
-# "required" or not depended on by packages of priority "required"
-# or not listed in the file ./required_nonrequireds.
-# If ./required_nonrequireds does not exist, will abort, as user
-# probably does not know what they are doing then.
-set -x
-set -e
-
-dpkg-query -Wf '${Package} ${Priority}\n' | grep ' required' | sed 's/ required//' > /tmp/list_white_unsorted
-cat 'required_nonrequireds' >> /tmp/list_white_unsorted
-sort /tmp/list_white_unsorted > /tmp/list_white
-dpkg-query -Wf '${Package}\n' > /tmp/list_all_packages
-sort /tmp/list_all_packages > /tmp/foo
-mv /tmp/foo /tmp/list_all_packages
-comm -3 /tmp/list_all_packages /tmp/list_white > /tmp/list_black
-apt-mark auto `cat /tmp/list_black`
-DEBIAN_FRONTEND=noninteractive apt-get -y --purge autoremove
-rm /tmp/list_all_packages /tmp/list_white_unsorted /tmp/list_white /tmp/list_black
+++ /dev/null
-ifupdown
-isc-dhcp-client
-openssh-server
--- /dev/null
+#!/bin/sh
+# This script removes all Debian packages that are not of Priority
+# "required" or not depended on by packages of priority "required"
+# or not listed in the argument-selected files of apt-mark/.
+set -e
+
+config_tree_prefix="${HOME}/config/all_new_2018/apt-mark/"
+
+dpkg-query -Wf '${Package} ${Priority}\n' | grep ' required' | sed 's/ required//' > /tmp/list_white_unsorted
+for target in "$@"; do
+ path="${config_tree_prefix}${target}"
+ for line in $(cat "${path}"); do
+ if [ ! $(echo "${line}" | cut -c1) = "#" ]; then
+ echo "${line}" >> /tmp/list_white_unsorted
+ fi
+ done
+done
+sort /tmp/list_white_unsorted > /tmp/list_white
+dpkg-query -Wf '${Package}\n' > /tmp/list_all_packages
+sort /tmp/list_all_packages > /tmp/foo
+mv /tmp/foo /tmp/list_all_packages
+comm -3 /tmp/list_all_packages /tmp/list_white > /tmp/list_black
+apt-mark auto `cat /tmp/list_black`
+DEBIAN_FRONTEND=noninteractive apt-get -y --purge autoremove
+rm /tmp/list_all_packages /tmp/list_white_unsorted /tmp/list_white /tmp/list_black
#!/bin/sh
-# Symbolically link files to those under linkable_etc_files/$1/, e.g.
-# link /etc/foo/bar to linkable_etc_files/$1/etc/foo/bar. Create
-# directories as necessary.
+# Symbolically link files to those in argument-selected subdirectories
+# of linkable_etc_files//, e.g. link /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
-target="$1"
-if [ ! "${target}" = "all" ] && [ ! "${target}" = "server" ]; then
- echo "Need proper target."
- false
-fi
-
-config_tree_prefix="${HOME}/config/all_new_2018/linkable_etc_files/"
-cd "${config_tree_prefix}""${target}"
-for path in $(find . -type f); do
- linking=$(echo "${path}" | cut -c2-)
- linked=$(realpath "${path}")
- dir=$(dirname "${linking}")
- mkdir -p "${dir}"
- ln -fs "${linked}" "${linking}"
+for target in "$@"; do
+ cd "${config_tree_prefix}${target}"
+ for path in $(find . -type f); do
+ linking=$(echo "${path}" | cut -c2-)
+ linked=$(realpath "${path}")
+ dir=$(dirname "${linking}")
+ mkdir -p "${dir}"
+ ln -fs "${linked}" "${linking}"
+ done
done