Merge refactored code

NOTE: This was unintentionally squashed so some details were lost

* Major updates to build_linux to support the current archiso scripts
* Most customize_airootfs.sh code has been moved elsewhere
  * Using static files or links where possible
  * Generating other files as needed in build_linux
* Syslinux configuration has been simplified
* Dropped i3
* Dropped rxvt-unicode in favor of termite
  * Font rendering broke one too many times
* Dropped NetworkManager in favor of iwd/systemd-networkd
This commit is contained in:
2Shirt 2021-01-10 19:28:51 -07:00
parent b081d79fab
commit 118012d7e2
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
67 changed files with 743 additions and 784 deletions

15
scripts/resize-and-run Executable file
View file

@ -0,0 +1,15 @@
#!/bin/bash
#
# Magic numbers:
## Width: | 20 | term_x | 20 | 180 (conky) | 20 |
## Height: | 24 | 10 (titlebar) | term_y | 24 | 30 (Tint2) |
## X Offset: 20 - 5 (shadow?)
## Y Offset: 24 - 5 (shadow?)
source ~/.screen_data
term_width="$(echo "$width_px - 240" | bc)"
term_height="$(echo "$height_px - 88" | bc)"
wmctrl -r :ACTIVE: -e "0,15,19,$term_width,$term_height" && "$@"

4
scripts/start-max Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
#
wmctrl -r:ACTIVE: -b toggle,maximized_vert,maximized_horz && "$@"

61
scripts/tint2-sensors Executable file
View file

@ -0,0 +1,61 @@
#!/bin/env python3
#
import json
import re
import subprocess
CPU_REGEX = re.compile(r'(core|k\d+)temp', re.IGNORECASE)
NON_TEMP_REGEX = re.compile(r'^(fan|in|curr)', re.IGNORECASE)
def get_data():
cmd = ('sensors', '-j')
data = {}
raw_data = []
try:
proc = subprocess.run(
args=cmd,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
encoding='utf-8',
check=True,
)
except subprocess.CalledProcessError:
return data
for line in proc.stdout.splitlines():
if line.strip() == ',':
# Assuming malformatted line caused by missing data
continue
raw_data.append(line)
try:
data = json.loads('\n'.join(raw_data))
except json.JSONDecodeError:
# Still broken, just return the empty dict
pass
return data
def parse_data(data):
cpu_temps = []
for adapter, sources in data.items():
if not CPU_REGEX.search(adapter):
continue
sources.pop('Adapter', None)
for labels in sources.values():
for label, temp in sorted(labels.items()):
if NON_TEMP_REGEX.search(label):
continue
cpu_temps.append(temp)
cpu_temps = [f'{int(temp)}°' for temp in cpu_temps]
if not cpu_temps:
cpu_temps.append('??°')
return ' | '.join(cpu_temps)
if __name__ == '__main__':
sensor_data = get_data()
print(f' {parse_data(sensor_data)}')

View file

@ -8,17 +8,17 @@ set -o nounset
set -o pipefail
# Prep
DATE="$(date +%F)"
DATETIME="$(date +%F_%H%M)"
DATE="$(date +%Y-%m-%d)"
DATETIME="$(date +%Y-%m-%d_%H%M)"
ROOT_DIR="$(realpath $(dirname "$0")/..)"
BUILD_DIR="$ROOT_DIR/setup/BUILD"
LIVE_DIR="$BUILD_DIR/live"
LOG_DIR="$BUILD_DIR/logs"
OUT_DIR="$ROOT_DIR/setup/OUT"
PROFILE_DIR="$BUILD_DIR/archiso-profile"
REPO_DIR="$BUILD_DIR/repo"
SKEL_DIR="$LIVE_DIR/airootfs/etc/skel"
SKEL_DIR="$PROFILE_DIR/airootfs/etc/skel"
TEMP_DIR="$BUILD_DIR/temp"
MIRRORLIST_SOURCE='https://www.archlinux.org/mirrorlist/?country=US&protocol=http&protocol=https&ip_version=4&use_mirror_status=on'
MIRRORLIST_SOURCE='https://archlinux.org/mirrorlist/?country=US&protocol=http&protocol=https&ip_version=4&use_mirror_status=on'
if command -v nano >/dev/null 2>&1; then
EDITOR=nano
elif command -v vim >/dev/null 2>&1; then
@ -42,7 +42,7 @@ function ask() {
}
function cleanup() {
for d in "$TEMP_DIR" "$LIVE_DIR"; do
for d in "$TEMP_DIR" "$PROFILE_DIR"; do
if [[ -d "$d" ]]; then
if ask "Remove: ${d}?"; then
rm -Rf "$d"
@ -74,27 +74,19 @@ function load_settings() {
function copy_live_env() {
echo "Copying Archlinux files..."
rsync -aI /usr/share/archiso/configs/releng/ "$LIVE_DIR/"
# Remove items
rm "$LIVE_DIR/airootfs/etc/systemd/scripts/choose-mirror"
rmdir "$LIVE_DIR/airootfs/etc/systemd/scripts" --ignore-fail-on-non-empty
rm "$LIVE_DIR/airootfs/etc/systemd/system/choose-mirror.service"
rm "$LIVE_DIR/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount"
rm "$LIVE_DIR/airootfs/etc/systemd/system/pacman-init.service"
rm "$LIVE_DIR/airootfs/etc/udev/rules.d/81-dhcpcd.rules"
rmdir "$LIVE_DIR/airootfs/etc/udev/rules.d" --ignore-fail-on-non-empty
rmdir "$LIVE_DIR/airootfs/etc/udev" --ignore-fail-on-non-empty
rm "$LIVE_DIR/isolinux"/*.cfg
rm "$LIVE_DIR/syslinux"/*.cfg "$LIVE_DIR/syslinux"/*.png
rsync -aI "$ROOT_DIR/setup/linux/profile_base/" "$PROFILE_DIR/"
# Add items
rsync -aI "$ROOT_DIR/setup/linux/include/" "$LIVE_DIR/"
if [[ "${1:-}" != "--minimal" ]]; then
rsync -aI "$ROOT_DIR/setup/linux/include_x/" "$LIVE_DIR/"
rsync -aI "$ROOT_DIR/setup/linux/profile_gui/" "$PROFILE_DIR/"
fi
mkdir -p "$LIVE_DIR/airootfs/usr/local/bin"
rsync -aI "$ROOT_DIR/scripts/" "$LIVE_DIR/airootfs/usr/local/bin/"
mkdir -p "$PROFILE_DIR/airootfs/usr/local/bin"
rsync -aI "$ROOT_DIR/scripts/" "$PROFILE_DIR/airootfs/usr/local/bin/"
# Update profiledef.sh to set proper permissions for executable files
for _file in $(find "$PROFILE_DIR/airootfs" -executable -type f | sed "s%$PROFILE_DIR/airootfs%%" | sort); do
sed -i "\$i\ [\"$_file\"]=\"0:0:0755\"" "$PROFILE_DIR/profiledef.sh"
done
}
function run_elevated() {
@ -123,71 +115,67 @@ function update_live_env() {
username="tech"
label="${KIT_NAME_SHORT}_LINUX"
# MOTD
sed -i -r "s/KIT_NAME_SHORT/$KIT_NAME_SHORT/" "$PROFILE_DIR/profiledef.sh"
sed -i -r "s/KIT_NAME_FULL/$KIT_NAME_SHORT/" "$PROFILE_DIR/profiledef.sh"
sed -i -r "s/SUPPORT_URL/$KIT_NAME_SHORT/" "$PROFILE_DIR/profiledef.sh"
# Boot config (legacy)
mkdir -p "$LIVE_DIR/arch"
cp "$ROOT_DIR/images/Pxelinux.png" "$LIVE_DIR/arch/pxelinux.png"
cp "$ROOT_DIR/images/Syslinux.png" "$LIVE_DIR/arch/syslinux.png"
sed -i -r "s/_+/$KIT_NAME_FULL/" "$LIVE_DIR/syslinux/wk_head.cfg"
mkdir -p "$PROFILE_DIR/arch"
cp "$ROOT_DIR/images/Pxelinux.png" "$PROFILE_DIR/arch/pxelinux.png"
cp "$ROOT_DIR/images/Syslinux.png" "$PROFILE_DIR/arch/syslinux.png"
sed -i -r "s/__+/$KIT_NAME_FULL/" "$PROFILE_DIR/syslinux/syslinux.cfg"
mkdir -p "$TEMP_DIR" 2>/dev/null
curl -Lo "$TEMP_DIR/wimboot.zip" "http://git.ipxe.org/releases/wimboot/wimboot-latest.zip"
7z e -aoa "$TEMP_DIR/wimboot.zip" -o"$LIVE_DIR/arch/boot" 'wimboot*/LICENSE.txt' 'wimboot*/README.txt' 'wimboot*/wimboot'
7z e -aoa "$TEMP_DIR/wimboot.zip" -o"$PROFILE_DIR/arch/boot" 'wimboot*/LICENSE.txt' 'wimboot*/README.txt' 'wimboot*/wimboot'
# Boot config (UEFI)
mkdir -p "$LIVE_DIR/EFI/boot"
cp "/usr/share/refind/refind_x64.efi" "$LIVE_DIR/EFI/boot/bootx64.efi"
cp "$ROOT_DIR/images/rEFInd.png" "$LIVE_DIR/EFI/boot/rEFInd.png"
rsync -aI "/usr/share/refind/drivers_x64/" "$LIVE_DIR/EFI/boot/drivers_x64/"
rsync -aI "/usr/share/refind/icons/" "$LIVE_DIR/EFI/boot/icons/" --exclude "/usr/share/refind/icons/svg"
sed -i "s/%ARCHISO_LABEL%/${label}/" "$LIVE_DIR/EFI/boot/refind.conf"
# Customize_airootfs.sh
sed -i -r 's/set -e -u/set -o errexit\nset -o errtrace\nset -o nounset\nset -o pipefail/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
mkdir -p "$PROFILE_DIR/EFI/boot"
cp "/usr/share/refind/refind_x64.efi" "$PROFILE_DIR/EFI/boot/bootx64.efi"
cp "$ROOT_DIR/images/rEFInd.png" "$PROFILE_DIR/EFI/boot/rEFInd.png"
rsync -aI "/usr/share/refind/drivers_x64/" "$PROFILE_DIR/EFI/boot/drivers_x64/"
rsync -aI "/usr/share/refind/icons/" "$PROFILE_DIR/EFI/boot/icons/" --exclude "/usr/share/refind/icons/svg"
sed -i "s/%ARCHISO_LABEL%/${label}/" "$PROFILE_DIR/EFI/boot/refind.conf"
# Memtest86
mkdir -p "$LIVE_DIR/EFI/memtest86/Benchmark"
mkdir -p "$PROFILE_DIR/EFI/memtest86/Benchmark"
mkdir -p "$TEMP_DIR/memtest86"
curl -Lo "$TEMP_DIR/memtest86/memtest86-usb.zip" "https://www.memtest86.com/downloads/memtest86-usb.zip"
7z e -aoa "$TEMP_DIR/memtest86/memtest86-usb.zip" -o"$TEMP_DIR/memtest86" "memtest86-usb.img"
7z e -aoa "$TEMP_DIR/memtest86/memtest86-usb.img" -o"$TEMP_DIR/memtest86" "MemTest86.img"
7z x -aoa "$TEMP_DIR/memtest86/MemTest86.img" -o"$TEMP_DIR/memtest86"
rm "$TEMP_DIR/memtest86/EFI/BOOT/BOOTIA32.efi"
mv "$TEMP_DIR/memtest86/EFI/BOOT/BOOTX64.efi" "$LIVE_DIR/EFI/memtest86/memtestx64.efi"
mv "$TEMP_DIR/memtest86/EFI/BOOT"/* "$LIVE_DIR/EFI/memtest86"/
mv "$TEMP_DIR/memtest86/help"/* "$LIVE_DIR/EFI/memtest86"/
mv "$TEMP_DIR/memtest86/license.rtf" "$LIVE_DIR/EFI/memtest86"/
mv "$TEMP_DIR/memtest86/EFI/BOOT/BOOTX64.efi" "$PROFILE_DIR/EFI/memtest86/memtestx64.efi"
mv "$TEMP_DIR/memtest86/EFI/BOOT"/* "$PROFILE_DIR/EFI/memtest86"/
mv "$TEMP_DIR/memtest86/help"/* "$PROFILE_DIR/EFI/memtest86"/
mv "$TEMP_DIR/memtest86/license.rtf" "$PROFILE_DIR/EFI/memtest86"/
# build.sh
if ! grep -iq 'wizardkit additions' "$LIVE_DIR/build.sh"; then
sed -i -r 's/^(run_once make_iso)$/# wizardkit additions\n\1/' "$LIVE_DIR/build.sh"
sed -i "/# wizardkit additions/r $ROOT_DIR/setup/linux/build_additions.txt" "$LIVE_DIR/build.sh"
fi
#if ! grep -iq 'wizardkit additions' "$PROFILE_DIR/build.sh"; then
# sed -i -r 's/^(run_once make_iso)$/# wizardkit additions\n\1/' "$PROFILE_DIR/build.sh"
# sed -i "/# wizardkit additions/r $ROOT_DIR/setup/linux/build_additions.txt" "$PROFILE_DIR/build.sh"
#fi
# Hostname
echo "$hostname" > "$LIVE_DIR/airootfs/etc/hostname"
echo "127.0.1.1 $hostname.localdomain $hostname" >> "$LIVE_DIR/airootfs/etc/hosts"
echo "$hostname" > "$PROFILE_DIR/airootfs/etc/hostname"
echo "127.0.1.1 $hostname.localdomain $hostname" >> "$PROFILE_DIR/airootfs/etc/hosts"
# Live packages
while read -r p; do
sed -i "/$p/d" "$LIVE_DIR/packages.x86_64"
done < "$ROOT_DIR/setup/linux/packages/live_remove"
cat "$ROOT_DIR/setup/linux/packages/live_add" >> "$LIVE_DIR/packages.x86_64"
if [[ "${1:-}" == "--minimal" ]]; then
cat "$ROOT_DIR/setup/linux/packages/live_add_min" >> "$LIVE_DIR/packages.x86_64"
else
cat "$ROOT_DIR/setup/linux/packages/live_add_x" >> "$LIVE_DIR/packages.x86_64"
cp "$ROOT_DIR/setup/linux/packages/base" "$PROFILE_DIR/packages.x86_64"
if [[ "${1:-}" != "--minimal" ]]; then
cat "$ROOT_DIR/setup/linux/packages/gui" >> "$PROFILE_DIR/packages.x86_64"
fi
echo "[custom]" >> "$LIVE_DIR/pacman.conf"
echo "SigLevel = Optional TrustAll" >> "$LIVE_DIR/pacman.conf"
echo "Server = file://$REPO_DIR" >> "$LIVE_DIR/pacman.conf"
echo "" >> "$LIVE_DIR/pacman.conf"
echo "[custom]" >> "$PROFILE_DIR/pacman.conf"
echo "SigLevel = Optional TrustAll" >> "$PROFILE_DIR/pacman.conf"
echo "Server = file://$REPO_DIR" >> "$PROFILE_DIR/pacman.conf"
# Mirrors
sed -i -r 's/^(.*mirrorlist.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "curl -o '/etc/pacman.d/mirrorlist' '$MIRRORLIST_SOURCE'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "sed -i 's/#Server/Server/g' /etc/pacman.d/mirrorlist" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
mkdir -p "$PROFILE_DIR/airootfs/etc/pacman.d"
curl -Lo "$PROFILE_DIR/airootfs/etc/pacman.d/mirrorlist" "$MIRRORLIST_SOURCE"
sed -i 's/#Server/Server/g' "$PROFILE_DIR/airootfs/etc/pacman.d/mirrorlist"
# MOTD
sed -i -r "s/_+/$KIT_NAME_FULL Linux Environment/" "$LIVE_DIR/airootfs/etc/motd"
sed -i -r "s/_+/$KIT_NAME_FULL Linux Environment/" "$PROFILE_DIR/airootfs/etc/motd"
# Oh My ZSH
git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git "$SKEL_DIR/.oh-my-zsh"
@ -197,64 +185,38 @@ function update_live_env() {
if [[ "${1:-}" != "--minimal" ]]; then
# Openbox theme
git clone --depth=1 https://github.com/addy-dclxvi/Openbox-Theme-Collections.git "$TEMP_DIR/ob-themes"
mkdir -p "$LIVE_DIR/airootfs/usr/share/themes"
cp -a "$TEMP_DIR/ob-themes/Triste-Orange" "$LIVE_DIR/airootfs/usr/share/themes/"
mkdir -p "$PROFILE_DIR/airootfs/usr/share/themes"
cp -a "$TEMP_DIR/ob-themes/Triste-Orange" "$PROFILE_DIR/airootfs/usr/share/themes/"
fi
# Services
sed -i -r 's/^(.*pacman-init.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
sed -i -r 's/^(.*choose-mirror.*)$/#NOPE#\1/' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# Shutdown stall fix
echo "sed -i -r 's/^.*(DefaultTimeoutStartSec)=.*$/\1=15s/' /etc/systemd/system.conf" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "sed -i -r 's/^.*(DefaultTimeoutStopSec)=.*$/\1=15s/' /etc/systemd/system.conf" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# SSH
mkdir -p "$SKEL_DIR/.ssh"
ssh-keygen -b 4096 -C "$username@$hostname" -N "" -f "$SKEL_DIR/.ssh/id_rsa"
echo 'rm /root/.ssh/id*' >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo 'rm /root/.zlogin' >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
sed -i -r '/.*PermitRootLogin.*/d' "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "sed -i -r '/.*PermitRootLogin.*/d' /etc/ssh/sshd_config" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
cp "$ROOT_DIR/setup/linux/authorized_keys" "$SKEL_DIR/.ssh/authorized_keys"
# Root user
echo "echo 'root:$ROOT_PASSWORD' | chpasswd" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# Sudo
echo "echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "root:$(echo "$ROOT_PASSWORD" | openssl passwd -6 -stdin):14871::::::" >> "$PROFILE_DIR/airootfs/etc/shadow"
# Tech user
echo "groupadd -r autologin" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "useradd -m -s /bin/zsh -G autologin,power,storage,wheel -U $username" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "echo '$username:$TECH_PASSWORD' | chpasswd" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "tech:$(echo "$TECH_PASSWORD" | openssl passwd -6 -stdin):14871::::::" >> "$PROFILE_DIR/airootfs/etc/shadow"
# Tech user autologin
mkdir -p "$LIVE_DIR/airootfs/etc/systemd/system/getty@tty1.service.d"
echo "[Service]" > "$LIVE_DIR/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf"
echo "ExecStart=" >> "$LIVE_DIR/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf"
echo "ExecStart=-/sbin/agetty --autologin $username --noclear %I 38400 linux" >> "$LIVE_DIR/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf"
# Timezone
echo "ln -sf '/usr/share/zoneinfo/$LINUX_TIME_ZONE' '/etc/localtime'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo 'sed -i "s/#FallbackNTP/NTP/" /etc/systemd/timesyncd.conf' >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# udevil fix
echo "mkdir /media" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# Timezonew
ln -sf "/usr/share/zoneinfo/$LINUX_TIME_ZONE" "$PROFILE_DIR/airootfs/etc/localtime"
if [[ "${1:-}" != "--minimal" ]]; then
# VNC password
echo "mkdir '/home/$username/.vnc'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
echo "echo '$TECH_PASSWORD' | vncpasswd -f > '/home/$username/.vnc/passwd'" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
mkdir "$SKEL_DIR/.vnc"
echo "$TECH_PASSWORD" | vncpasswd -f > "$SKEL_DIR/.vnc/passwd"
# Wallpaper
mkdir -p "$LIVE_DIR/airootfs/usr/share/wallpaper"
cp "$ROOT_DIR/images/Linux.png" "$LIVE_DIR/airootfs/usr/share/wallpaper/burned.in"
mkdir -p "$PROFILE_DIR/airootfs/usr/share/wallpaper"
cp "$ROOT_DIR/images/Linux.png" "$PROFILE_DIR/airootfs/usr/share/wallpaper/burned.in"
fi
# WiFi
cp "$ROOT_DIR/setup/linux/known_networks" "$LIVE_DIR/airootfs/root/known_networks"
echo "add-known-networks --user=$username" >> "$LIVE_DIR/airootfs/root/customize_airootfs.sh"
# TODO
#cp "$ROOT_DIR/setup/linux/known_networks" "$PROFILE_DIR/airootfs/root/known_networks"
#echo "add-known-networks --user=$username" >> "$PROFILE_DIR/airootfs/root/customize_airootfs.sh"
}
function update_repo() {
@ -268,7 +230,7 @@ function update_repo() {
# Archive current files
if [[ -d "$REPO_DIR" ]]; then
mkdir -p "$BUILD_DIR/Archive" 2>/dev/null
archive="$BUILD_DIR/Archive/$(date "+%F_%H%M%S")"
archive="$BUILD_DIR/Archive/$(date "+%Y-%m-%d_%H%M%S")"
mv -bv "$REPO_DIR" "$archive"
fi
sleep 1s
@ -282,15 +244,18 @@ function update_repo() {
curl -LsfO https://aur.archlinux.org/cgit/aur.git/snapshot/$p.tar.gz
tar xf $p.tar.gz
pushd $p >/dev/null
if [[ "$p" == "hfsprogs" ]]; then
sed -i 's!http://cavan.codon.org.uk/\~mjg59/diskdev_cmds!https://sources.voidlinux.org/hfsprogs-540.1.linux3!' "$TEMP_DIR/hfsprogs/PKGBUILD"
fi
makepkg -d
popd >/dev/null
mv -n $p/*xz "$REPO_DIR"/
mv -n $p/*zst "$REPO_DIR"/
done < "$ROOT_DIR/setup/linux/packages/aur"
popd >/dev/null
# Build custom repo database
pushd "$REPO_DIR" >/dev/null
repo-add custom.db.tar.gz *xz
repo-add custom.db.tar.gz *zst
popd >/dev/null
}
@ -326,7 +291,7 @@ function build_linux() {
# Rerun script as root to start Archiso build process
run_elevated "$(realpath "$0")" --build-iso
# Cleanup
mv -nv "$LIVE_DIR" "${LIVE_DIR}.${version}"
mv -nv "$PROFILE_DIR" "${PROFILE_DIR}.${version}"
perl-rename -v "s/(${KIT_NAME_SHORT}-Linux)-(${DATE}.*)/\1-${version}-\2/" "$OUT_DIR"/*
done
}
@ -338,12 +303,6 @@ function build_iso() {
exit 1
fi
# Set permissions
echo "Setting permissions..."
chown root:root "$LIVE_DIR" -R
chmod 700 "$LIVE_DIR/airootfs/etc/skel/.ssh"
chmod 600 "$LIVE_DIR/airootfs/etc/skel/.ssh/id_rsa"
# Removing cached (and possibly outdated) custom repo packages
for package in $(cat "$ROOT_DIR/setup/linux/packages/aur"); do
for p in /var/cache/pacman/pkg/*${package}*; do
@ -356,14 +315,19 @@ function build_iso() {
# Build ISO
prefix="${KIT_NAME_SHORT}-Linux"
label="${KIT_NAME_SHORT}_LINUX"
"$LIVE_DIR/build.sh" -N "$prefix" -V "$DATE" -L "$label" -w "$TEMP_DIR/Linux" -o "$OUT_DIR" -v | tee -a "$LOG_DIR/$DATETIME.log"
#mkarchiso -w "$BUILD_DIR/work" -o "$OUT_DIR" -v "$PROFILE_DIR" | tee -a "$LOG_DIR/$DATETIME.log"
mkarchiso -w /tmp/archiso-tmp -o "$OUT_DIR" -v "$PROFILE_DIR" | tee -a "$LOG_DIR/$DATETIME.log"
# Cleanup
echo "Removing temp files..."
rm "$TEMP_DIR/Linux" -Rf | tee -a "$LOG_DIR/$DATETIME.log"
#sudo umount -R "$BUILD_DIR/work" || true
#sudo rm -rf "$BUILD_DIR/work"
sudo umount -R /tmp/archiso-tmp || true
sudo rm -rf /tmp/archiso-tmp
echo "Reverting permissions..."
chown $REAL_USER:$REAL_USER "$LIVE_DIR" -R
chown $REAL_USER:$REAL_USER "$PROFILE_DIR" -R
chown $REAL_USER:$REAL_USER "$OUT_DIR" -R
}

View file

@ -1,11 +1,10 @@
aic94xx-firmware
bash-pipes
hfsprogs
i3lock-fancy-git
iwgtk
ldmtool
macbook12-spi-driver-dkms
mprime
openbox-patched
pipes.sh
smartmontools-svn
testdisk-wip
ttf-font-awesome-4

View file

@ -1,7 +1,8 @@
aic94xx-firmware
alsa-utils
amd-ucode
antiword
bash-pipes
base
bc
bluez
bluez-utils
@ -16,10 +17,12 @@ diffutils
dmidecode
dos2unix
e2fsprogs
edk2-shell
hexedit
hfsprogs
htop
inetutils
intel-ucode
iwd
jfsutils
ldmtool
@ -27,6 +30,7 @@ ldns
less
lha
libewf
linux
linux-firmware
lm_sensors
lvm2
@ -35,12 +39,15 @@ man-db
man-pages
mdadm
mediainfo
memtest86+
mkinitcpio
mkinitcpio-archiso
mprime
nano
ncdu
networkmanager
p7zip
perl
pipes.sh
progsreiserfs
python
python-docopt
@ -50,12 +57,16 @@ python-requests
reiserfsprogs
rfkill
rng-tools
rsync
rxvt-unicode-terminfo
smartmontools-svn
speedtest-cli
sudo
sysfsutils
syslinux
systemd-sysvcompat
terminus-font
termite-terminfo
testdisk-wip
texinfo
tmux

View file

@ -5,8 +5,10 @@ curl
dos2unix
git
gtk-doc
gtk3
hwloc
imlib2
iwd
json-glib
lhasa
libbsd
@ -28,3 +30,4 @@ rsync
startup-notification
subversion
syslinux
tigervnc

View file

@ -13,15 +13,12 @@ gparted
gpicview-gtk3
gsmartcontrol
hardinfo
i3-gaps
i3lock-fancy-git
i3status
iwgtk
leafpad
libinput
mesa-demos
mkvtoolnix-cli
mpv
network-manager-applet
noto-fonts
noto-fonts-cjk
openbox-patched
@ -31,16 +28,18 @@ qemu-guest-agent
rofi
rxvt-unicode
spice-vdagent
termite
thunar
tigervnc
tint2
tk
ttf-font-awesome-4
ttf-hack
ttf-inconsolata
veracrypt
virtualbox-guest-modules-arch
virtualbox-guest-utils
volumeicon
wmctrl
xarchiver
xf86-input-libinput
xf86-video-amdgpu

View file

@ -22,20 +22,20 @@ menuentry "MemTest86" {
menuentry "Linux" {
icon /EFI/boot/icons/wk_arch.png
loader /arch/boot/x86_64/vmlinuz
loader /arch/boot/x86_64/vmlinuz-linux
initrd /arch/boot/intel_ucode.img
initrd /arch/boot/amd_ucode.img
initrd /arch/boot/x86_64/archiso.img
initrd /arch/boot/x86_64/initramfs-linux.img
options "archisobasedir=arch archisolabel=%ARCHISO_LABEL% copytoram loglevel=3"
submenuentry "Linux (CLI)" {
add_options "nox"
}
#UFD-MINIMAL#submenuentry "Linux (Minimal)" {
#UFD-MINIMAL# loader /arch_minimal/vmlinuz
#UFD-MINIMAL# loader /arch_minimal/vmlinuz-linux
#UFD-MINIMAL# initrd
#UFD-MINIMAL# initrd /arch/boot/intel_ucode.img
#UFD-MINIMAL# initrd /arch/boot/amd_ucode.img
#UFD-MINIMAL# initrd /arch_minimal/archiso.img
#UFD-MINIMAL# initrd /arch_minimal/initramfs-linux.img
#UFD-MINIMAL# options
#UFD-MINIMAL# options "archisobasedir=arch_minimal archisolabel=%ARCHISO_LABEL% copytoram loglevel=3"
#UFD-MINIMAL#}
@ -49,10 +49,10 @@ menuentry "Linux" {
#UFD-DGPU#menuentry "Mac dGPU Disable Tool" {
#UFD-DGPU# icon /EFI/boot/icons/dgpu.png
#UFD-DGPU# loader /dgpu/vmlinuz
#UFD-DGPU# loader /dgpu/vmlinuz-linux
#UFD-DGPU# initrd /arch/boot/intel_ucode.img
#UFD-DGPU# initrd /arch/boot/amd_ucode.img
#UFD-DGPU# initrd /dgpu/archiso.img
#UFD-DGPU# initrd /dgpu/initramfs-linux.img
#UFD-DGPU# options "archisobasedir=dgpu archisolabel=%ARCHISO_LABEL% nomodeset"
#UFD-DGPU#}

View file

@ -0,0 +1,8 @@
root:x:0:root
adm:x:4:tech
wheel:x:10:tech
uucp:x:14:tech
power:x:98:tech
autologin:x:975:tech
storage:x:988:tech
tech:x:1000:

View file

@ -0,0 +1,2 @@
root:!!::root
tech:!!::

View file

@ -1 +0,0 @@
wklinux

View file

@ -1,2 +0,0 @@
en_US.UTF-8 UTF-8

View file

@ -0,0 +1,70 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=()
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev modconf memdisk archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block filesystems keyboard)
# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
#COMPRESSION="zstd"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

View file

@ -0,0 +1,11 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
# mkinitcpio preset file for the 'linux' package on archiso
PRESETS=('archiso')
ALL_kver='/boot/vmlinuz-linux'
ALL_config='/etc/mkinitcpio.conf'
archiso_image="/boot/initramfs-linux.img"

View file

@ -0,0 +1,2 @@
root:x:0:0:root:/root:/usr/bin/zsh
tech:x:1000:1000::/home/tech:/usr/bin/zsh

View file

@ -0,0 +1 @@
root::14871::::::

View file

@ -11,7 +11,7 @@ alias du='du -sch --apparent-size'
alias fix-perms='find -type d -exec chmod 755 "{}" \; && find -type f -exec chmod 644 "{}" \;'
alias hexedit='hexedit --color'
alias hw-info='sudo hw-info | less -S'
alias ip='ip -br -color'
alias ip='ip -brief -color'
alias less='less -S'
alias ls='ls --color=auto'
alias mkdir='mkdir -p'

View file

@ -0,0 +1,116 @@
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
PermitEmptyPasswords no
# Change to no to disable s/key passwords
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no # pam does that
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# override default of no subsystems
Subsystem sftp /usr/lib/ssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server

View file

@ -0,0 +1,5 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
[Journal]
Storage=volatile

View file

@ -0,0 +1,7 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
[Login]
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitch=ignore

View file

@ -0,0 +1,13 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
[Match]
Name=en*
Name=eth*
[Network]
DHCP=yes
IPv6PrivacyExtensions=yes
[DHCP]
RouteMetric=512

View file

@ -0,0 +1,13 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
[Match]
Name=wlp*
Name=wlan*
[Network]
DHCP=yes
IPv6PrivacyExtensions=yes
[DHCP]
RouteMetric=1024

View file

@ -0,0 +1,3 @@
[Manager]
DefaultTimeoutStartSec=15s
DefaultTimeoutStopSec=15s

View file

@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-resolved.service

View file

@ -0,0 +1,11 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
[Unit]
Description=Temporary /etc/pacman.d/gnupg directory
[Mount]
What=tmpfs
Where=/etc/pacman.d/gnupg
Type=tmpfs
Options=mode=0755

View file

@ -0,0 +1,3 @@
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin tech --noclear %I 38400 linux

View file

@ -1 +0,0 @@
/usr/lib/systemd/system/NetworkManager.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/system/iwd.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-resolved.service

View file

@ -0,0 +1,18 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
[Unit]
Description=Initializes Pacman keyring
Wants=haveged.service
After=haveged.service
Requires=etc-pacman.d-gnupg.mount
After=etc-pacman.d-gnupg.mount
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/pacman-key --init
ExecStart=/usr/bin/pacman-key --populate archlinux
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-networkd.socket

View file

@ -0,0 +1,2 @@
[Time]
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org

View file

@ -0,0 +1,19 @@
#!/bin/env bash
#
# Warning: customize_airootfs.sh is deprecated! Support for it will be removed in a future archiso version.
set -o errexit
set -o errtrace
set -o nounset
set -o pipefail
sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen
locale-gen
# Sudo
echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
# SSH
#rm /root/.ssh/id*
#rm /root/.zlogin

View file

@ -0,0 +1,7 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
title Arch Linux (x86_64, UEFI)
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%

View file

@ -0,0 +1,5 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
timeout 3
default archiso-x86_64-linux.conf

View file

@ -1,6 +0,0 @@
PATH /%INSTALL_DIR%/boot/syslinux/
DEFAULT loadconfig
LABEL loadconfig
CONFIG /%INSTALL_DIR%/boot/syslinux/wk.cfg
APPEND /%INSTALL_DIR%/

View file

@ -0,0 +1,14 @@
[options]
HoldPkg = pacman glibc
Architecture = auto
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist

View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# shellcheck disable=SC2034
iso_name="KIT_NAME_SHORT-Linux"
iso_label="KIT_NAME_SHORT_LINUX"
iso_publisher="SUPPORT_URL"
iso_application="KIT_NAME_FULL Linux Environment"
iso_version="$(date +%Y-%m-%d)"
install_dir="arch"
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito')
arch="x86_64"
pacman_conf="pacman.conf"
file_permissions=(
["/etc/shadow"]="0:0:0400"
["/etc/gshadow"]="0:0:0400"
["/etc/skel/.ssh"]="0:0:0700"
["/etc/skel/.ssh/id_rsa"]="0:0:0600"
)

View file

@ -4,8 +4,9 @@ A live Linux environment
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux
#INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram loglevel=3
LABEL wk_linux_cli
@ -14,8 +15,8 @@ A live Linux environment (CLI)
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux (CLI)
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram nox
SYSAPPEND 3
@ -25,8 +26,8 @@ SYSAPPEND 3
#UFD-MINIMAL# * HW diagnostics, file-based backups, data recovery, etc
#UFD-MINIMAL#ENDTEXT
#UFD-MINIMAL#MENU LABEL Linux (Minimal)
#UFD-MINIMAL#LINUX ../arch_minimal/vmlinuz
#UFD-MINIMAL#INITRD boot/intel_ucode.img,boot/amd_ucode.img,../arch_minimal/archiso.img
#UFD-MINIMAL#LINUX ../arch_minimal/vmlinuz-linux
#UFD-MINIMAL#INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,../arch_minimal/initramfs-linux.img
#UFD-MINIMAL#APPEND archisobasedir=arch_minimal archisolabel=%ARCHISO_LABEL% copytoram loglevel=3
#UFD-MINIMAL#SYSAPPEND 3

View file

@ -0,0 +1,8 @@
# http://www.memtest.org/
LABEL memtest
MENU LABEL Memtest86+
TEXT HELP
Perform RAM diagnostics
* This utility is not recommended for testing DDR4 RAM
ENDTEXT
LINUX /%INSTALL_DIR%/boot/memtest

View file

@ -1,5 +1,53 @@
DEFAULT loadconfig
SERIAL 0 38400
UI vesamenu.c32
MENU TITLE _______
MENU BACKGROUND syslinux.png
LABEL loadconfig
CONFIG wk.cfg
APPEND ../../
MENU WIDTH 80
MENU MARGIN 10
MENU ROWS 15
MENU VSHIFT 2
MENU TABMSGROW 22
MENU CMDLINEROW 22
MENU HELPMSGROW 24
MENU HELPMSGENDROW -1
MENU TABMSG
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU COLOR screen 30;44 #a0000000 #a0000000 none
MENU COLOR border 30;44 #a0000000 #a0000000 none
MENU COLOR title 1;36;44 #9033ccff #a0000000 none
MENU COLOR sel 7;37;40 #e0ffffff #a0000000 std
MENU COLOR disabled 37;44 #50ffffff #a0000000 none
MENU COLOR unsel 37;44 #50ffffff #a0000000 none
MENU COLOR help 37;40 #c0ffffff #a0000000 none
MENU COLOR tabmsg 30;44 #a0000000 #a0000000 none
MENU COLOR cmdmark 1;36;44 #9033ccff #a0000000 none
MENU COLOR cmdline 37;40 #c0ffffff #a0000000 none
MENU COLOR timeout_msg 37;40 #80ffffff #a0000000 none
MENU COLOR timeout 1;37;40 #c0ffffff #a0000000 none
MENU COLOR msg07 37;40 #90ffffff #a0000000 none
MENU COLOR tabmsg 31;40 #30ffffff #a0000000 none
# Start entries
MENU SEPARATOR
MENU CLEAR
DEFAULT memtest
TIMEOUT 0
INCLUDE memtest.cfg
INCLUDE linux.cfg
#UFD-WINPE#INCLUDE winpe.cfg
MENU SEPARATOR
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL poweroff
MENU LABEL Power Off
COM32 poweroff.c32

View file

@ -0,0 +1,8 @@
LABEL wk_winpe
TEXT HELP
A live Windows environment
* Create partition backups, Install Windows, etc
ENDTEXT
MENU LABEL Windows PE
COM32 linux.c32
APPEND /%INSTALL_DIR%/boot/wimboot gui initrdfile=/sources/bootmgr,/sources/BCD,/sources/boot.sdi,/sources/boot.wim

View file

@ -1,14 +0,0 @@
DEFAULT select
LABEL select
COM32 boot/syslinux/whichsys.c32
APPEND -pxe- pxe -sys- sys -iso- iso
LABEL iso
CONFIG boot/syslinux/wk_iso.cfg
LABEL pxe
CONFIG boot/syslinux/wk_pxe.cfg
LABEL sys
CONFIG boot/syslinux/wk_sys.cfg

View file

@ -1,5 +0,0 @@
# http://hdt-project.org/
LABEL hdt
MENU LABEL Hardware Information (HDT)
COM32 boot/syslinux/hdt.c32
APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz

View file

@ -1,43 +0,0 @@
SERIAL 0 38400
UI boot/syslinux/vesamenu.c32
MENU TITLE _______
MENU BACKGROUND syslinux.png
MENU WIDTH 80
MENU MARGIN 10
MENU ROWS 15
MENU VSHIFT 2
MENU TABMSGROW 22
MENU CMDLINEROW 22
MENU HELPMSGROW 24
MENU HELPMSGENDROW -1
MENU TABMSG
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU COLOR screen 30;44 #a0000000 #a0000000 none
MENU COLOR border 30;44 #a0000000 #a0000000 none
MENU COLOR title 1;36;44 #9033ccff #a0000000 none
MENU COLOR sel 7;37;40 #e0ffffff #a0000000 std
MENU COLOR disabled 37;44 #50ffffff #a0000000 none
MENU COLOR unsel 37;44 #50ffffff #a0000000 none
MENU COLOR help 37;40 #c0ffffff #a0000000 none
MENU COLOR tabmsg 30;44 #a0000000 #a0000000 none
menu color cmdmark 1;36;44 #9033ccff #a0000000 none
menu color cmdline 37;40 #c0ffffff #a0000000 none
MENU COLOR timeout_msg 37;40 #80ffffff #a0000000 none
MENU COLOR timeout 1;37;40 #c0ffffff #a0000000 none
MENU COLOR msg07 37;40 #90ffffff #a0000000 none
MENU COLOR tabmsg 31;40 #30ffffff #a0000000 none
# Start entries
MENU SEPARATOR
# http://www.memtest.org/
LABEL memtest
MENU LABEL Memtest86+
TEXT HELP
Perform RAM diagnostics
* This utility is not recommended for testing DDR4 RAM
ENDTEXT
LINUX boot/memtest

View file

@ -1,6 +0,0 @@
INCLUDE boot/syslinux/wk_head.cfg
INCLUDE boot/syslinux/wk_iso_linux.cfg
#DISABLED_UPSTREAM_BUG#INCLUDE boot/syslinux/wk_hdt.cfg
INCLUDE boot/syslinux/wk_tail.cfg

View file

@ -1,31 +0,0 @@
LABEL wk_iso_linux
TEXT HELP
A live Linux environment
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% loglevel=3
LABEL wk_iso_linux_i3
TEXT HELP
A live Linux environment (i3)
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux (i3)
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% loglevel=3 i3
SYSAPPEND 3
LABEL wk_iso_linux_cli
TEXT HELP
A live Linux environment (CLI)
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux (CLI)
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% loglevel=4 nomodeset nox
SYSAPPEND 3

View file

@ -1,8 +0,0 @@
INCLUDE boot/syslinux/wk_head.cfg
MENU BACKGROUND pxelinux.png
INCLUDE boot/syslinux/wk_pxe_linux.cfg
#UFD-WINPE#INCLUDE boot/syslinux/wk_pxe_winpe.cfg
#DISABLED_UPSTREAM_BUG#INCLUDE boot/syslinux/wk_hdt.cfg
INCLUDE boot/syslinux/wk_tail.cfg

View file

@ -1,32 +0,0 @@
LABEL wk_http_linux
TEXT HELP
A live Linux environment
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux (PXE)
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ loglevel=3
SYSAPPEND 3
LABEL wk_http_linux_i3
TEXT HELP
A live Linux environment (i3)
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux (PXE) (i3)
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ loglevel=3 i3
SYSAPPEND 3
LABEL wk_http_linux_cli
TEXT HELP
A live Linux environment (CLI)
* HW diagnostics, file-based backups, data recovery, etc
ENDTEXT
MENU LABEL Linux (PXE) (CLI)
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ loglevel=4 nomodeset nox
SYSAPPEND 3

View file

@ -1,8 +0,0 @@
LABEL wk_http_winpe
TEXT HELP
A live Windows environment
* Create partition backups, Install Windows, etc
ENDTEXT
MENU LABEL Windows PE (PXE)
COM32 boot/syslinux/linux.c32
APPEND boot/wimboot gui initrdfile=winpe/x86_64/bootmgr,winpe/x86_64/BCD,winpe/x86_64/boot.sdi,winpe/x86_64/boot.wim

View file

@ -1,7 +0,0 @@
INCLUDE boot/syslinux/wk_head.cfg
INCLUDE boot/syslinux/wk_sys_linux.cfg
#UFD-WINPE#INCLUDE boot/syslinux/wk_sys_winpe.cfg
#DISABLED_UPSTREAM_BUG#INCLUDE boot/syslinux/wk_hdt.cfg
INCLUDE boot/syslinux/wk_tail.cfg

View file

@ -1,8 +0,0 @@
LABEL wk_winpe
TEXT HELP
A live Windows environment
* Create partition backups, Install Windows, etc
ENDTEXT
MENU LABEL Windows PE
COM32 boot/syslinux/linux.c32
APPEND boot/wimboot gui initrdfile=../sources/bootmgr,../sources/BCD,../sources/boot.sdi,../sources/boot.wim

View file

@ -1,9 +0,0 @@
MENU SEPARATOR
LABEL reboot
MENU LABEL Reboot
COM32 boot/syslinux/reboot.c32
LABEL poweroff
MENU LABEL Power Off
COM32 boot/syslinux/poweroff.c32

View file

@ -48,7 +48,7 @@ conky.config = {
draw_outline = false,
draw_shades = false,
extra_newline = false,
font = 'Inconsolata:bold:size=9',
font = 'Droid Sans:bold:size=9',
uppercase = false,
use_xft = true,

View file

@ -1,335 +0,0 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $alt Mod1
set $ctrl Control
set $mod Mod4
# Configure border style <normal|1pixel|pixel xx|none|pixel>
new_window pixel 1
new_float normal
# Hide borders
hide_edge_borders none
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 5%+ #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 5%- #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle # mute sound
# alt+tab navi
bindsym $alt+Tab workspace next
bindsym $alt+Shift+Tab workspace prev
# change borders
bindsym $mod+u border none
bindsym $mod+y border pixel 1
bindsym $mod+n border normal
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
#font Inconsolata:monospace 8
font pango:Noto Sans Mono 10, FontAwesome 10
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
bindsym $mod+q kill
bindsym $alt+F4 kill
# start dmenu (a program launcher)
#bindsym $mod+Shift+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
#bindsym $mod+Shift+d exec --no-startup-id i3-dmenu-desktop
bindsym $mod+r exec "rofi -combi-modi window,drun,run -show combi -modi combi"
bindsym $ctrl+$alt+r exec "rofi -combi-modi window,drun,run -show combi -modi combi"
# misc app shortcuts
bindsym $ctrl+$alt+d exec "urxvt -title 'Hardware Diagnostics' -e hw-diags"
bindsym $ctrl+$alt+f exec "thunar ~"
bindsym $ctrl+$alt+i exec "hardinfo"
bindsym $ctrl+$alt+m exec "urxvt -title 'Mount All Volumes' -e mount-all-volumes gui"
bindsym $ctrl+$alt+s exec "urxvt -title 'Hardware Diagnostics' -e hw-diags --quick"
bindsym $ctrl+$alt+t exec "urxvt"
bindsym $ctrl+$alt+v exec "urxvt -title 'Hardware Sensors' -e hw-sensors"
bindsym $ctrl+$alt+w exec "firefox"
bindsym $mod+d exec "urxvt -title 'Hardware Diagnostics' -e hw-diags"
bindsym $mod+f exec "thunar ~"
bindsym $mod+i exec "hardinfo"
bindsym $mod+m exec "urxvt -title 'Mount All Volumes' -e mount-all-volumes gui"
bindsym $mod+s exec "urxvt -title 'Hardware Diagnostics' -e hw-diags --quick"
bindsym $mod+t exec "urxvt"
bindsym $mod+v exec "urxvt -title 'Hardware Sensors' -e hw-sensors"
bindsym $mod+w exec "firefox"
focus_follows_mouse no
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth yes
bindsym $mod+b workspace back_and_forth
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
# split orientation
bindsym $mod+Shift+h split h
bindsym $mod+Shift+v split v
# enter fullscreen mode for the focused container
bindsym $mod+Shift+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+Shift+s layout stacking
bindsym $mod+Shift+w layout tabbed
bindsym $mod+Shift+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
#bindsym $mod+a focus parent
# move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
# focus the child container
#bindsym $mod+d focus child
# Workspace names
set $ws1 "一"
set $ws2 "二"
set $ws3 "三"
set $ws4 "四"
set $ws5 "五"
set $ws6 "六"
set $ws7 "七"
set $ws8 "八"
set $ws9 "九"
set $ws10 "十"
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9
bindsym $mod+Ctrl+0 move container to workspace $ws10
# move focused container to workspace and follow
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10
# Open specific applications in floating mode
for_window [class="Galculator"] floating enable border normal 5
for_window [class="Nitrogen"] floating enable sticky enable border normal 5
for_window [class="Thunar"] floating enable border normal 5
for_window [class="mpv"] floating enable border normal 5
for_window [title="Event Tester"] floating enable border normal 5
for_window [title="Firefox"] floating enable border normal 5
for_window [title="Hardware Diagnostics"] floating enable
for_window [title="Hardware Sensors"] floating enable
for_window [title="Mount All Volumes"] floating enable border normal 5
for_window [title="Network Connections"] floating enable border normal 5
for_window [title="Screen Layout Editor"] floating enable border normal 5
for_window [title="Slack"] floating enable border normal 5
for_window [title="System Information"] floating enable border normal 5
for_window [title="Volume Control"] floating enable border normal 5
for_window [title="Zenmap"] floating enable border normal 5
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
# reload the configuration file
#bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
#bindsym $mod+Shift+r restart
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Shift+r mode "resize"
# "System" menu
bindsym $ctrl+$alt+x mode "$mode_system"
bindsym $mod+x mode "$mode_system"
set $mode_system (l)ock, (e)xit, (r)eboot, (s)hutdown, (c)onfig, (i)3
mode "$mode_system" {
bindsym l exec --no-startup-id i3lock, mode "default"
bindsym e exit, mode "default"
bindsym r exec reboot, mode "default"
bindsym s exec poweroff, mode "default"
bindsym c reload, mode "default"
bindsym i restart, mode "default"
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"
bindsym Escape mode "default"
}
#############################
### settings for i3-gaps: ###
#############################
# Set inner/outer gaps
gaps inner 10
gaps outer 4
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
# gaps inner|outer current|all set|plus|minus <px>
# gaps inner all set 10
# gaps outer all plus 5
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
smart_borders on
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
position bottom
separator_symbol " "
status_command i3status
height 26
}
exec urxvt -title "Initializing..." -e /home/tech/.update_x

View file

@ -1,76 +0,0 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
}
#order += "disk /"
order += "wireless _first_"
order += "ethernet _first_"
order += "cpu_usage"
order += "battery all"
#order += "volume master"
order += "tztime local"
#order += "tztime utc"
cpu_usage {
format = " %usage"
max_threshold = 90
#format_above_threshold = " %usage"
degraded_threshold = 75
#format_above_degraded_threshold = " %usage"
}
wireless _first_ {
format_up = " (%quality at %essid) %ip"
format_down = " Down"
}
ethernet _first_ {
# if you use %speed, i3status requires root privileges
format_up = " %ip"
format_down = " Down"
}
battery all {
integer_battery_capacity = true
format = "%status %percentage"
format_down = ""
status_chr = ""
status_bat = ""
status_unk = ""
status_full = ""
path = "/sys/class/power_supply/BAT%d/uevent"
low_threshold = 25
threshold_type = percentage
}
volume master {
format = " %volume"
format_muted = " muted"
device = "default"
}
tztime local {
format = "%F %H:%M"
}
tztime utc {
format = "%H:%M"
timezone = "UTC"
}
load {
format = "%1min"
}
disk "/" {
format = "%avail"
}

View file

@ -234,7 +234,7 @@
</menu>
<separator/>
<item label="Exit"> <action name="Execute">
<execute>wk-exit</execute>
<execute>oblogout</execute>
</action> </item>
</menu>
</openbox_menu>

View file

@ -299,7 +299,7 @@
</keybind>
<keybind key="C-A-d">
<action name="Execute">
<command>urxvt -title "Hardware Diagnostics" -e hw-diags</command>
<command>termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags"</command>
</action>
</keybind>
<keybind key="C-A-f">
@ -314,7 +314,7 @@
</keybind>
<keybind key="C-A-m">
<action name="Execute">
<command>urxvt -title "Mount all Volumes" -e mount-all-volumes gui</command>
<command>termite --title "Mount all Volumes" -e "resize-and-run mount-all-volumes gui"</command>
</action>
</keybind>
<keybind key="C-A-r">
@ -324,17 +324,17 @@
</keybind>
<keybind key="C-A-s">
<action name="Execute">
<command>urxvt -title "Hardware Diagnostics" -e hw-diags --quick</command>
<command>termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags --quick"</command>
</action>
</keybind>
<keybind key="C-A-t">
<action name="Execute">
<command>urxvt</command>
<command>termite -e "resize-and-run /bin/zsh"</command>
</action>
</keybind>
<keybind key="C-A-v">
<action name="Execute">
<command>urxvt -title "Hardware Sensors" -e hw-sensors</command>
<command>termite --title "Hardware Sensors" -e "resize-and-run hw-sensors"</command>
</action>
</keybind>
<keybind key="C-A-w">
@ -349,7 +349,7 @@
</keybind>
<keybind key="W-d">
<action name="Execute">
<command>urxvt -title "Hardware Diagnostics" -e hw-diags</command>
<command>termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags"</command>
</action>
</keybind>
<keybind key="W-f">
@ -364,7 +364,7 @@
</keybind>
<keybind key="W-m">
<action name="Execute">
<command>urxvt -title "Mount all Volumes" -e mount-all-volumes gui</command>
<command>termite --title "Mount all Volumes" -e "resize-and-run mount-all-volumes gui"</command>
</action>
</keybind>
<keybind key="W-r">
@ -374,17 +374,17 @@
</keybind>
<keybind key="W-s">
<action name="Execute">
<command>urxvt -title "Hardware Diagnostics" -e hw-diags --quick</command>
<command>termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags --quick"</command>
</action>
</keybind>
<keybind key="W-t">
<action name="Execute">
<command>urxvt</command>
<command>termite -e "resize-and-run /bin/zsh"</command>
</action>
</keybind>
<keybind key="W-v">
<action name="Execute">
<command>urxvt -title "Hardware Sensors" -e hw-sensors</command>
<command>termite --title "Hardware Sensors" -e "resize-and-run hw-sensors"</command>
</action>
</keybind>
<keybind key="W-w">

View file

@ -0,0 +1,90 @@
[options]
#allow_bold = true
#audible_bell = false
#bold_is_bright = true
#cell_height_scale = 1.0
#cell_width_scale = 1.0
clickable_url = true
#dynamic_title = true
font = Hack 9
#font = IPAGothic 10
#fullscreen = true
#icon_name = terminal
#mouse_autohide = false
#scroll_on_output = false
#scroll_on_keystroke = true
# Length of the scrollback buffer, 0 disabled the scrollback buffer
# and setting it to a negative value means "infinite scrollback"
scrollback_lines = 10000
#search_wrap = true
#urgent_on_bell = true
#hyperlinks = false
# $BROWSER is used by default if set, with xdg-open as a fallback
#browser = xdg-open
# "system", "on" or "off"
cursor_blink = off
# "block", "underline" or "ibeam"
#cursor_shape = block
# Hide links that are no longer valid in url select overlay mode
#filter_unmatched_urls = true
# Emit escape sequences for extra modified keys
#modify_other_keys = false
# set size hints for the window
#size_hints = false
# "off", "left" or "right"
#scrollbar = off
[colors]
# If both of these are unset, cursor falls back to the foreground color,
# and cursor_foreground falls back to the background color.
cursor = #d0d0d0
cursor_foreground = #000000
foreground = #d0d0d0
#foreground_bold = #ffffff
background = #000000
# 20% background transparency (requires a compositor)
background = rgba(0, 0, 0, 0.85)
# If unset, will reverse foreground and background
highlight = #2f2f2f
# Colors from color0 to color254 can be set
color0 = #000000
color1 = #ff0000
color2 = #33ff00
color3 = #ffd000
color4 = #0066ff
color5 = #cc00ff
color6 = #00ffff
color7 = #d0d0d0
color8 = #808080
color9 = #ff9900
color10 = #404040
color11 = #606060
color12 = #c0c0c0
color13 = #e0e0e0
color14 = #3300ff
color15 = #ffffff
[hints]
font = SourceCodePro 10
foreground = #d0d0d0
background = #000000
#active_foreground = #e68080
#active_background = #3f3f3f
#padding = 2
#border = #3f3f3f
#border_width = 0.5
#roundness = 2.0
# vim: ft=dosini cms=#%s

View file

@ -107,7 +107,7 @@ border_color_pressed = #d64937 100
#-------------------------------------
# Panel
panel_items = TSC
panel_items = TESC
panel_size = 100% 30
panel_margin = 0 0
panel_padding = 0 0 0
@ -145,7 +145,7 @@ taskbar_always_show_all_desktop_tasks = 1
taskbar_name_padding = 5 2
taskbar_name_background_id = 1
taskbar_name_active_background_id = 9
taskbar_name_font = Inconsolata 10
taskbar_name_font = Hack 10
taskbar_name_font_color = #a9a9a9 100
taskbar_name_active_font_color = #ffffff 100
taskbar_distribute_size = 1
@ -160,7 +160,7 @@ task_centered = 1
urgent_nb_of_blink = 20
task_maximum_size = 200 30
task_padding = 2 2 2
task_font = Inconsolata 10
task_font = Hack 10
task_tooltip = 1
task_font_color = #a8adb5 100
task_active_font_color = #ffffff 100
@ -206,7 +206,7 @@ launcher_tooltip = 1
#time1_format = %a, %d %B @ %H:%M
time1_format = %F %H:%M
time2_format =
time1_font = Inconsolata 10
time1_font = Hack 10
time1_timezone =
time2_timezone =
clock_font_color = #ffffff 100
@ -225,8 +225,8 @@ clock_dwheel_command =
battery_tooltip = 1
battery_low_status = 20
battery_low_cmd = notify-send "battery low"
bat1_font = Inconsolata 12
bat2_font = Inconsolata 12
bat1_font = Hack 12
bat2_font = Hack 12
battery_font_color = #b5b5b5 100
battery_padding = 2 0
battery_background_id = 0
@ -246,5 +246,11 @@ tooltip_hide_timeout = 0
tooltip_padding = 2 2
tooltip_background_id = 7
tooltip_font_color = #d8d8d8 100
tooltip_font = Inconsolata 12
tooltip_font = Hack 12
#-------------------------------------
# Sensors
execp = new
execp_command = tint2-sensors
execp_interval = 1
execp_font_color = #ffffff

View file

@ -3,21 +3,15 @@
## Start desktop apps based on WM
# Start common apps
picom --backend xrender --xrender-sync --xrender-sync-fence &
#picom --backend xrender --xrender-sync --xrender-sync-fence &
picom --daemon || picom --daemon --no-vsync
sleep 1s
x0vncserver -display :0 -passwordfile $HOME/.vnc/passwd -AlwaysShared &
conky &
nm-applet &
volumeicon &
# Start WM specific apps
if ! [[ "${I3SOCK:-}" == "" ]]; then
# i3
i3-msg restart
else
# openbox
openbox --restart
tint2 &
cbatticon --hide-notification &
fi
openbox --restart
tint2 &
cbatticon --hide-notification &

View file

@ -24,11 +24,6 @@ for i in "${IF_LIST[@]}"; do
done
sed -i -r "s/#Network//" "${CONFIG_NEW}"
# Fix under i3
if ! [[ "${I3SOCK:-}" == "" ]]; then
sed -i -r 's/(own_window_type)(.*)(desktop)/\1\2override/' "${CONFIG_NEW}"
fi
# Replace config if there were changes
if ! diff -q "${CONFIG_NEW}" "${CONFIG_REAL}" >/dev/null 2>&1; then
rm "${CONFIG_REAL}"

View file

@ -26,6 +26,10 @@ diag_in="$(echo "sqrt(${width_in}^2 + ${height_in}^2)" | bc)"
dpi="$(echo "${diag_px} / ${diag_in}" | bc 2>/dev/null || True)"
dpi="${dpi:-0}"
# Save data
echo "width_px=$width_px" > "$HOME/.screen_data"
echo "height_px=$height_px" >> "$HOME/.screen_data"
# Calculate URxvt default window size
width_urxvt="$(echo "${width_px} * 112/1280" | bc)"
height_urxvt="$(echo "${height_px} * 33/720" | bc)"
@ -50,18 +54,15 @@ if [[ "${dpi}" -ge 192 ]]; then
export GDK_SCALE=2
export GDK_DPI_SCALE=0.5
# i3
sed -i -r 's/(height\s+) 26/\1 52/' "${HOME}/.config/i3/config"
# Rofi
sed -i -r 's/Noto Sans 12/Noto Sans 24/' "${HOME}/.config/rofi/config"
# Tint2
sed -i 's/panel_size = 100% 30/panel_size = 100% 60/' \
"${HOME}/.config/tint2/tint2rc"
sed -i 's/Inconsolata 10/Inconsolata 20/g' \
sed -i 's/Hack 10/Hack 20/g' \
"${HOME}/.config/tint2/tint2rc"
sed -i 's/Inconsolata 12/Inconsolata 24/g' \
sed -i 's/Hack 12/Hack 24/g' \
"${HOME}/.config/tint2/tint2rc"
sed -i 's/systray_icon_size = 24/systray_icon_size = 48/' \
"${HOME}/.config/tint2/tint2rc"
@ -96,8 +97,3 @@ echo -n "Setting wallpaper... "
feh --bg-fill "$HOME/.wallpaper"
echo "Done"
# Start desktop apps for i3
if fgrep -q "i3" /proc/cmdline; then
i3-msg exec $HOME/.start_desktop_apps
fi

View file

@ -3,11 +3,6 @@ if [ "$(fgconsole 2>/dev/null)" -eq "1" ]; then
# Connect to network and update hostname
"${HOME}/.update_network"
# Update settings if using i3
if fgrep -q "i3" /proc/cmdline; then
sed -i -r 's/openbox-session/i3/' ~/.xinitrc
fi
# Start X or HW-diags
if ! fgrep -q "nox" /proc/cmdline; then
# Show freeze warning