X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=distro-begin;h=4638980351caca0c5fff05a87c99efe102201a67;hb=ec4efaeb603f21de169aeedff4907d2279bada3a;hp=9780ed65226a08ab3b12861b154aaa4f9fc94469;hpb=9c77c557e60d21caceeef1e78e35b35ed968fca9;p=distro-setup diff --git a/distro-begin b/distro-begin index 9780ed6..4638980 100755 --- a/distro-begin +++ b/distro-begin @@ -1,22 +1,33 @@ #!/bin/bash -# Copyright (C) 2016 Ian Kelling -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +# Setup Ian's computers +# Copyright (C) 2024 Ian Kelling + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# SPDX-License-Identifier: GPL-3.0-or-later -# for setting up a new machine +#### for setting up a new machine # usage: $0 [-r] [HOSTNAME] # HOSTNAME changes the machine's hostname +# Update target_down alerts in +# /a/bin/ds/filesystem/etc/prometheus/rules/iank.yml +# +# Update hostnames in /b/ds/check-remote-mailqs + +### end new machine setup + # tips: # run any sudo command first so your pass is cached # set the scrollback to unlimited in case something goes wrong @@ -52,7 +63,7 @@ interactive=true # set this to false to force set -x if ! $interactive; then set -x fi -source /a/bin/errhandle/err +source /a/bin/bash-bear-trap/bash-bear mkdir -p ~/.local err-cleanup() { @@ -474,6 +485,7 @@ if isarch; then fi #### update all packages +# shellcheck disable=SC2119 # obvious pup @@ -493,7 +505,7 @@ case $(debian-codename-compat) in file=/etc/modprobe.d/evbug.conf line="blacklist evbug" if [[ $(cat $file) != "$line" ]]; then - sudo dd of=$file 2>/dev/null <<<"$line" + sudo dd of=$file status=none <<<"$line" sudo depmod -a sudo update-initramfs -u fi @@ -623,7 +635,7 @@ if has_btrfs; then first_root_crypt=$(awk '$2 == "/" {print $1}' /etc/mtab) tu /etc/fstab < 2)) && echo ,compress=zstd ) 0 0 +$first_root_crypt /nocow btrfs noatime,subvol=nocow$( (( $(nproc) > 2)) && echo ,compress=zstd ) 0 0 EOF sudo mkdir -p $dir sudo chown $USER:$USER $dir @@ -637,6 +649,7 @@ case $HOSTNAME in kd) tu /etc/fstab <<'EOF' /dev/mapper/crypt_dev_ata-Samsung_SSD_870_QVO_8TB_S5VUNG0N900656V-part7 /d btrfs nofail,x-systemd.device-timeout=30s,x-systemd.mount-timeout=30s,noatime,compress=zstd,subvol=d 0 0 +/d/m /i none bind,compress=zstd 0 0 EOF if ! mountpoint /d &>/dev/null; then sudo mkdir -p /d @@ -644,6 +657,10 @@ EOF sudo mount /d fi fi + if ! mountpoint /i &>/dev/null; then + sudo mkdir -p /i + sudo mount /i + fi ;; frodo) tu /etc/fstab <<'EOF' @@ -696,8 +713,7 @@ if has_monitor; then ###### install X - # no recommends due to this bug: https://trisquel.info/en/issues/26525 - pi --no-install-recommends i3 + pi i3 ##### install xinput case $(distro-name) in