diff --git a/scripts/resize-and-run b/scripts/resize-and-run new file mode 100755 index 00000000..a96ba005 --- /dev/null +++ b/scripts/resize-and-run @@ -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" && "$@" diff --git a/scripts/start-max b/scripts/start-max new file mode 100755 index 00000000..2b27765b --- /dev/null +++ b/scripts/start-max @@ -0,0 +1,4 @@ +#!/bin/bash +# + +wmctrl -r:ACTIVE: -b toggle,maximized_vert,maximized_horz && "$@" diff --git a/scripts/tint2-sensors b/scripts/tint2-sensors new file mode 100755 index 00000000..e5e31145 --- /dev/null +++ b/scripts/tint2-sensors @@ -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)}') diff --git a/setup/build_linux b/setup/build_linux index 7b064788..035b2a43 100755 --- a/setup/build_linux +++ b/setup/build_linux @@ -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 } diff --git a/setup/linux/packages/aur b/setup/linux/packages/aur index 60272aea..4134e20a 100644 --- a/setup/linux/packages/aur +++ b/setup/linux/packages/aur @@ -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 diff --git a/setup/linux/packages/base b/setup/linux/packages/base index 32939c85..87b83be1 100644 --- a/setup/linux/packages/base +++ b/setup/linux/packages/base @@ -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 diff --git a/setup/linux/packages/dependencies b/setup/linux/packages/dependencies index 5600fec3..406e1870 100644 --- a/setup/linux/packages/dependencies +++ b/setup/linux/packages/dependencies @@ -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 diff --git a/setup/linux/packages/gui b/setup/linux/packages/gui index 02ade591..53852d78 100644 --- a/setup/linux/packages/gui +++ b/setup/linux/packages/gui @@ -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 diff --git a/setup/linux/profile_base/EFI/boot/refind.conf b/setup/linux/profile_base/EFI/boot/refind.conf index 4912e6c8..e004b6e0 100644 --- a/setup/linux/profile_base/EFI/boot/refind.conf +++ b/setup/linux/profile_base/EFI/boot/refind.conf @@ -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#} diff --git a/setup/linux/profile_base/airootfs/etc/group b/setup/linux/profile_base/airootfs/etc/group new file mode 100644 index 00000000..70ee592c --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/group @@ -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: diff --git a/setup/linux/profile_base/airootfs/etc/gshadow b/setup/linux/profile_base/airootfs/etc/gshadow new file mode 100644 index 00000000..f460b9dc --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/gshadow @@ -0,0 +1,2 @@ +root:!!::root +tech:!!:: diff --git a/setup/linux/profile_base/airootfs/etc/hostname b/setup/linux/profile_base/airootfs/etc/hostname deleted file mode 100644 index d0b7e4a6..00000000 --- a/setup/linux/profile_base/airootfs/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -wklinux diff --git a/setup/linux/profile_base/airootfs/etc/locale.gen b/setup/linux/profile_base/airootfs/etc/locale.gen deleted file mode 100644 index 1165d291..00000000 --- a/setup/linux/profile_base/airootfs/etc/locale.gen +++ /dev/null @@ -1,2 +0,0 @@ -en_US.UTF-8 UTF-8 - diff --git a/setup/linux/profile_base/airootfs/etc/mkinitcpio.conf b/setup/linux/profile_base/airootfs/etc/mkinitcpio.conf new file mode 100644 index 00000000..c37b19fc --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/mkinitcpio.conf @@ -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 ' 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=() diff --git a/setup/linux/profile_base/airootfs/etc/mkinitcpio.d/linux.preset b/setup/linux/profile_base/airootfs/etc/mkinitcpio.d/linux.preset new file mode 100644 index 00000000..d35f1377 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/mkinitcpio.d/linux.preset @@ -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" diff --git a/setup/linux/profile_base/airootfs/etc/passwd b/setup/linux/profile_base/airootfs/etc/passwd new file mode 100644 index 00000000..2e41801a --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/passwd @@ -0,0 +1,2 @@ +root:x:0:0:root:/root:/usr/bin/zsh +tech:x:1000:1000::/home/tech:/usr/bin/zsh diff --git a/setup/linux/profile_base/airootfs/etc/shadow b/setup/linux/profile_base/airootfs/etc/shadow new file mode 100644 index 00000000..7edfd69b --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/shadow @@ -0,0 +1 @@ +root::14871:::::: diff --git a/setup/linux/profile_base/airootfs/etc/skel/.aliases b/setup/linux/profile_base/airootfs/etc/skel/.aliases index dff33e69..34bb9b36 100644 --- a/setup/linux/profile_base/airootfs/etc/skel/.aliases +++ b/setup/linux/profile_base/airootfs/etc/skel/.aliases @@ -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' diff --git a/setup/linux/profile_base/airootfs/etc/ssh/sshd_config b/setup/linux/profile_base/airootfs/etc/ssh/sshd_config new file mode 100644 index 00000000..ad60c508 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/ssh/sshd_config @@ -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 diff --git a/setup/linux/profile_base/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf b/setup/linux/profile_base/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf new file mode 100644 index 00000000..3104779c --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf @@ -0,0 +1,5 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +[Journal] +Storage=volatile diff --git a/setup/linux/profile_base/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf b/setup/linux/profile_base/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf new file mode 100644 index 00000000..c6b17a4e --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf @@ -0,0 +1,7 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +[Login] +HandleSuspendKey=ignore +HandleHibernateKey=ignore +HandleLidSwitch=ignore diff --git a/setup/linux/profile_base/airootfs/etc/systemd/network/20-ethernet.network b/setup/linux/profile_base/airootfs/etc/systemd/network/20-ethernet.network new file mode 100644 index 00000000..efa309c5 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/network/20-ethernet.network @@ -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 diff --git a/setup/linux/profile_base/airootfs/etc/systemd/network/20-wireless.network b/setup/linux/profile_base/airootfs/etc/systemd/network/20-wireless.network new file mode 100644 index 00000000..bf9ab9d2 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/network/20-wireless.network @@ -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 diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system.conf b/setup/linux/profile_base/airootfs/etc/systemd/system.conf new file mode 100644 index 00000000..4aca5b99 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system.conf @@ -0,0 +1,3 @@ +[Manager] +DefaultTimeoutStartSec=15s +DefaultTimeoutStopSec=15s diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service b/setup/linux/profile_base/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service new file mode 120000 index 00000000..4c158e62 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/dbus-org.freedesktop.network1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.service \ No newline at end of file diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service b/setup/linux/profile_base/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service new file mode 120000 index 00000000..4f6ae342 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/dbus-org.freedesktop.resolve1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-resolved.service \ No newline at end of file diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/setup/linux/profile_base/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 00000000..f86a91da --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -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 diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/setup/linux/profile_base/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 00000000..534c6d40 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin tech --noclear %I 38400 linux diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service b/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service deleted file mode 120000 index e874a9b3..00000000 --- a/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/NetworkManager.service \ No newline at end of file diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service b/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service new file mode 120000 index 00000000..3625abda --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/iwd.service \ No newline at end of file diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service b/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service new file mode 120000 index 00000000..4c158e62 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/systemd-networkd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.service \ No newline at end of file diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service b/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service new file mode 120000 index 00000000..4f6ae342 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/multi-user.target.wants/systemd-resolved.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-resolved.service \ No newline at end of file diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/pacman-init.service b/setup/linux/profile_base/airootfs/etc/systemd/system/pacman-init.service new file mode 100644 index 00000000..3adec4c0 --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/pacman-init.service @@ -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 diff --git a/setup/linux/profile_base/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket b/setup/linux/profile_base/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket new file mode 120000 index 00000000..51942c8e --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/system/sockets.target.wants/systemd-networkd.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-networkd.socket \ No newline at end of file diff --git a/setup/linux/profile_base/airootfs/etc/systemd/timesyncd.conf b/setup/linux/profile_base/airootfs/etc/systemd/timesyncd.conf new file mode 100644 index 00000000..cc17cd8a --- /dev/null +++ b/setup/linux/profile_base/airootfs/etc/systemd/timesyncd.conf @@ -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 diff --git a/setup/linux/profile_base/airootfs/root/customize_airootfs.sh b/setup/linux/profile_base/airootfs/root/customize_airootfs.sh new file mode 100755 index 00000000..7801ce9b --- /dev/null +++ b/setup/linux/profile_base/airootfs/root/customize_airootfs.sh @@ -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 diff --git a/setup/linux/profile_base/efiboot/loader/entries/archiso-x86_64-linux.conf b/setup/linux/profile_base/efiboot/loader/entries/archiso-x86_64-linux.conf new file mode 100644 index 00000000..8dd7a169 --- /dev/null +++ b/setup/linux/profile_base/efiboot/loader/entries/archiso-x86_64-linux.conf @@ -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% diff --git a/setup/linux/profile_base/efiboot/loader/loader.conf b/setup/linux/profile_base/efiboot/loader/loader.conf new file mode 100644 index 00000000..1ea5ce56 --- /dev/null +++ b/setup/linux/profile_base/efiboot/loader/loader.conf @@ -0,0 +1,5 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +timeout 3 +default archiso-x86_64-linux.conf diff --git a/setup/linux/profile_base/isolinux/isolinux.cfg b/setup/linux/profile_base/isolinux/isolinux.cfg deleted file mode 100644 index 736fecf0..00000000 --- a/setup/linux/profile_base/isolinux/isolinux.cfg +++ /dev/null @@ -1,6 +0,0 @@ -PATH /%INSTALL_DIR%/boot/syslinux/ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/wk.cfg - APPEND /%INSTALL_DIR%/ diff --git a/setup/linux/profile_base/pacman.conf b/setup/linux/profile_base/pacman.conf new file mode 100644 index 00000000..1d48e528 --- /dev/null +++ b/setup/linux/profile_base/pacman.conf @@ -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 diff --git a/setup/linux/profile_base/profiledef.sh b/setup/linux/profile_base/profiledef.sh new file mode 100644 index 00000000..e25deef1 --- /dev/null +++ b/setup/linux/profile_base/profiledef.sh @@ -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" +) diff --git a/setup/linux/profile_base/syslinux/wk_sys_linux.cfg b/setup/linux/profile_base/syslinux/linux.cfg similarity index 59% rename from setup/linux/profile_base/syslinux/wk_sys_linux.cfg rename to setup/linux/profile_base/syslinux/linux.cfg index b6a9370c..b31795c5 100644 --- a/setup/linux/profile_base/syslinux/wk_sys_linux.cfg +++ b/setup/linux/profile_base/syslinux/linux.cfg @@ -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 diff --git a/setup/linux/profile_base/syslinux/memtest.cfg b/setup/linux/profile_base/syslinux/memtest.cfg new file mode 100644 index 00000000..624e526b --- /dev/null +++ b/setup/linux/profile_base/syslinux/memtest.cfg @@ -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 diff --git a/setup/linux/profile_base/syslinux/syslinux.cfg b/setup/linux/profile_base/syslinux/syslinux.cfg index 2e99dd9c..e59f84da 100644 --- a/setup/linux/profile_base/syslinux/syslinux.cfg +++ b/setup/linux/profile_base/syslinux/syslinux.cfg @@ -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 diff --git a/setup/linux/profile_base/syslinux/winpe.cfg b/setup/linux/profile_base/syslinux/winpe.cfg new file mode 100644 index 00000000..3cc4d5a5 --- /dev/null +++ b/setup/linux/profile_base/syslinux/winpe.cfg @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk.cfg b/setup/linux/profile_base/syslinux/wk.cfg deleted file mode 100644 index f37655df..00000000 --- a/setup/linux/profile_base/syslinux/wk.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_hdt.cfg b/setup/linux/profile_base/syslinux/wk_hdt.cfg deleted file mode 100644 index 44b6578f..00000000 --- a/setup/linux/profile_base/syslinux/wk_hdt.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_head.cfg b/setup/linux/profile_base/syslinux/wk_head.cfg deleted file mode 100644 index 7562755a..00000000 --- a/setup/linux/profile_base/syslinux/wk_head.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_iso.cfg b/setup/linux/profile_base/syslinux/wk_iso.cfg deleted file mode 100644 index fa35a1b6..00000000 --- a/setup/linux/profile_base/syslinux/wk_iso.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_iso_linux.cfg b/setup/linux/profile_base/syslinux/wk_iso_linux.cfg deleted file mode 100644 index fef9a9e1..00000000 --- a/setup/linux/profile_base/syslinux/wk_iso_linux.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_pxe.cfg b/setup/linux/profile_base/syslinux/wk_pxe.cfg deleted file mode 100644 index 10112666..00000000 --- a/setup/linux/profile_base/syslinux/wk_pxe.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_pxe_linux.cfg b/setup/linux/profile_base/syslinux/wk_pxe_linux.cfg deleted file mode 100644 index caa6a1cc..00000000 --- a/setup/linux/profile_base/syslinux/wk_pxe_linux.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_pxe_winpe.cfg b/setup/linux/profile_base/syslinux/wk_pxe_winpe.cfg deleted file mode 100644 index 097df277..00000000 --- a/setup/linux/profile_base/syslinux/wk_pxe_winpe.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_sys.cfg b/setup/linux/profile_base/syslinux/wk_sys.cfg deleted file mode 100644 index f90e4406..00000000 --- a/setup/linux/profile_base/syslinux/wk_sys.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_sys_winpe.cfg b/setup/linux/profile_base/syslinux/wk_sys_winpe.cfg deleted file mode 100644 index 3c2034d9..00000000 --- a/setup/linux/profile_base/syslinux/wk_sys_winpe.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_base/syslinux/wk_tail.cfg b/setup/linux/profile_base/syslinux/wk_tail.cfg deleted file mode 100644 index 29af2d63..00000000 --- a/setup/linux/profile_base/syslinux/wk_tail.cfg +++ /dev/null @@ -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 diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.config/conky/base.conf b/setup/linux/profile_gui/airootfs/etc/skel/.config/conky/base.conf index 36ce95bc..895c32ba 100644 --- a/setup/linux/profile_gui/airootfs/etc/skel/.config/conky/base.conf +++ b/setup/linux/profile_gui/airootfs/etc/skel/.config/conky/base.conf @@ -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, diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.config/i3/config b/setup/linux/profile_gui/airootfs/etc/skel/.config/i3/config deleted file mode 100644 index 91e754b8..00000000 --- a/setup/linux/profile_gui/airootfs/etc/skel/.config/i3/config +++ /dev/null @@ -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 -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 doesn’t 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 window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s 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 -# 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 diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.config/i3status/config b/setup/linux/profile_gui/airootfs/etc/skel/.config/i3status/config deleted file mode 100644 index 605e517c..00000000 --- a/setup/linux/profile_gui/airootfs/etc/skel/.config/i3status/config +++ /dev/null @@ -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" -} diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/menu.xml b/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/menu.xml index 2e8fd4a2..2d560235 100644 --- a/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/menu.xml +++ b/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/menu.xml @@ -234,7 +234,7 @@ - wk-exit + oblogout diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/rc.xml b/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/rc.xml index 28d9e8bd..b78baba7 100644 --- a/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/rc.xml +++ b/setup/linux/profile_gui/airootfs/etc/skel/.config/openbox/rc.xml @@ -299,7 +299,7 @@ - urxvt -title "Hardware Diagnostics" -e hw-diags + termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags" @@ -314,7 +314,7 @@ - urxvt -title "Mount all Volumes" -e mount-all-volumes gui + termite --title "Mount all Volumes" -e "resize-and-run mount-all-volumes gui" @@ -324,17 +324,17 @@ - urxvt -title "Hardware Diagnostics" -e hw-diags --quick + termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags --quick" - urxvt + termite -e "resize-and-run /bin/zsh" - urxvt -title "Hardware Sensors" -e hw-sensors + termite --title "Hardware Sensors" -e "resize-and-run hw-sensors" @@ -349,7 +349,7 @@ - urxvt -title "Hardware Diagnostics" -e hw-diags + termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags" @@ -364,7 +364,7 @@ - urxvt -title "Mount all Volumes" -e mount-all-volumes gui + termite --title "Mount all Volumes" -e "resize-and-run mount-all-volumes gui" @@ -374,17 +374,17 @@ - urxvt -title "Hardware Diagnostics" -e hw-diags --quick + termite --title "Hardware Diagnostics" -e "resize-and-run hw-diags --quick" - urxvt + termite -e "resize-and-run /bin/zsh" - urxvt -title "Hardware Sensors" -e hw-sensors + termite --title "Hardware Sensors" -e "resize-and-run hw-sensors" diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.config/termite/config b/setup/linux/profile_gui/airootfs/etc/skel/.config/termite/config new file mode 100644 index 00000000..23757be6 --- /dev/null +++ b/setup/linux/profile_gui/airootfs/etc/skel/.config/termite/config @@ -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 diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.config/tint2/tint2rc b/setup/linux/profile_gui/airootfs/etc/skel/.config/tint2/tint2rc index a0319768..3b6248bc 100644 --- a/setup/linux/profile_gui/airootfs/etc/skel/.config/tint2/tint2rc +++ b/setup/linux/profile_gui/airootfs/etc/skel/.config/tint2/tint2rc @@ -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 diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.start_desktop_apps b/setup/linux/profile_gui/airootfs/etc/skel/.start_desktop_apps index d6d2b5ca..49151e56 100755 --- a/setup/linux/profile_gui/airootfs/etc/skel/.start_desktop_apps +++ b/setup/linux/profile_gui/airootfs/etc/skel/.start_desktop_apps @@ -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 & diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.update_conky b/setup/linux/profile_gui/airootfs/etc/skel/.update_conky index 914e00d8..0e1445df 100755 --- a/setup/linux/profile_gui/airootfs/etc/skel/.update_conky +++ b/setup/linux/profile_gui/airootfs/etc/skel/.update_conky @@ -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}" diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.update_x b/setup/linux/profile_gui/airootfs/etc/skel/.update_x index 0202750e..2f049532 100755 --- a/setup/linux/profile_gui/airootfs/etc/skel/.update_x +++ b/setup/linux/profile_gui/airootfs/etc/skel/.update_x @@ -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 - diff --git a/setup/linux/profile_gui/airootfs/etc/skel/.zlogin b/setup/linux/profile_gui/airootfs/etc/skel/.zlogin index 65a23ed1..6a7dca22 100644 --- a/setup/linux/profile_gui/airootfs/etc/skel/.zlogin +++ b/setup/linux/profile_gui/airootfs/etc/skel/.zlogin @@ -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