#!/bin/bash
-# Copyright (C) 2019 Ian Kelling
-# SPDX-License-Identifier: AGPL-3.0-or-later
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 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.
+
+# shellcheck disable=SC2317
# to debug
#set -x
# This works in addition to HISTCONTROL to do more flexible things
# it could also do the same things as HISTCONTROL and thus replace it,
# but meh. dunno why, but just " *" does glob expansion, so use [ ] to avoid it.
-HISTIGNORE='pass *:[ ]*:otp *:oathtool *:histrm *:k *:ks *:ksu *'
+HISTIGNORE='pass *:otp *:oathtool *:histrm *'
+
+# note: duplicated in /a/bin/ds/filesystem/etc/profile.d/environment.sh
+umask 022
+
+if [[ $EUID == 1000 && $TERM == linux && ! $DISPLAY && $(tty) = /dev/tty1 && -x /usr/bin/startx ]]; then
+ if tmp=$(systemctl status |& head) && \
+ grep -qi '^ *state: running' <<<"$tmp" && grep -qi '^ *failed: 0' <<<"$tmp" && grep -qi '^ *jobs: 0' <<<"$tmp"; then
+ startx
+ else
+ echo "systemctl status |& head:"
+ printf "%s\n" "$tmp"
+ echo: systemctl list-jobs:
+ systemctl list-jobs
+ fi
+fi
-#### begin section that works with sl() function to return from
-# noninteractive ssh shells, or tty. tty because often i
-# use it when something is going and io is slow and my bashrc
-# is too slow.
+#### if (in
+# noninteractive ssh shells or tty). tty because often i use it when
+# something is going and io is slow and my bashrc is too slow.
if [[ $LC_USEBASHRC != t && ( $SSH_CONNECTION || $TERM == linux ) ]]; then
# Here we did not opt-in to running our .bashrc file so we just
# return, but we still setup a function to source it without returning
# so if we want it we don't have to restart our ssh connection.
brc() {
export LC_USEBASHRC=t
+ # shellcheck disable=SC1090 # obviously, no need to follow a sourcing of this file
source ~/.bashrc
}
return 0
###### Begin sourcing of files #####
# The distinction between login and non-login shells is super lame
- # and pretty random. get rid of that distinction. The var check is
- # just a random variable i set there and no where else.
- if ! shopt -q login_shell && [[ ! $PITHOSFLY_SAVE_DIR ]]; then
+ # and pretty random. get rid of that distinction.
+ if ! shopt -q login_shell; then
if [[ -r /etc/profile ]]; then
source /etc/profile
fi
source $_tmp
fi
fi
+ if [[ $IANK_BASHRC_RUN ]]; then
+ $IANK_BASHRC_RUN ||:
+ fi
###### End sourcing of files #####
fi
#### end section that works with sl() function to return from
# kitty puts this here on startup, i need to build with some option to
# avoid it, whatever.
-# BEGIN_KITTY_SHELL_INTEGRATION
-if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
-# END_KITTY_SHELL_INTEGRATION
+## BEGIN_KITTY_SHELL_INTEGRATION
+# if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
+## END_KITTY_SHELL_INTEGRATION
+
+# Automatically added by the Guix install script.
+if [ -n "$GUIX_ENVIRONMENT" ]; then
+ if [[ $PS1 =~ (.*)"\\$" ]]; then
+ PS1="${BASH_REMATCH[1]} [env]\\\$ "
+ fi
+fi