X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=.bashrc;h=da70b0726f1ae5221626d84a31562693ce9d3f63;hp=e4a6fdadb92c9c0e4049565278b99c7136f528ed;hb=HEAD;hpb=fde3746c622eb042ce1fd051cdfea2f9a247cd53 diff --git a/.bashrc b/.bashrc index e4a6fda..81853d0 100644 --- a/.bashrc +++ b/.bashrc @@ -1,6 +1,25 @@ #!/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. + # to debug #set -x @@ -29,20 +48,23 @@ HISTCONTROL=ignoredups # 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 *' +HISTIGNORE='pass *:otp *:oathtool *:histrm *' +# note: duplicated in /a/bin/ds/filesystem/etc/profile.d/environment.sh +umask 022 -#### 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 @@ -51,9 +73,8 @@ else ###### 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 @@ -86,6 +107,9 @@ else 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 @@ -98,6 +122,13 @@ return 0 # 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