diff options
| author | Egor Tensin <egor@tensin.name> | 2025-12-16 12:37:53 +0100 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2025-12-16 12:37:59 +0100 |
| commit | a50a4e1a6e467383a33cdc04e81c4c6709b27017 (patch) | |
| tree | a653073510f7594cfb7fc760bc17c2f306bb1540 | |
| parent | os.sh: remove unused distros (diff) | |
| download | linux-home-a50a4e1a6e467383a33cdc04e81c4c6709b27017.tar.gz linux-home-a50a4e1a6e467383a33cdc04e81c4c6709b27017.zip | |
os.sh: remove
I don't think these routines work anymore + I haven't used them in a
while.
| -rw-r--r-- | %HOME%/.bash_utils/os.sh | 156 | ||||
| -rw-r--r-- | %HOME%/.bashrc | 8 |
2 files changed, 4 insertions, 160 deletions
diff --git a/%HOME%/.bash_utils/os.sh b/%HOME%/.bash_utils/os.sh deleted file mode 100644 index 140f559..0000000 --- a/%HOME%/.bash_utils/os.sh +++ /dev/null @@ -1,156 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2016 Egor Tensin <egor@tensin.name> -# This file is part of the "linux-home" project. -# For details, see https://github.com/egor-tensin/linux-home. -# Distributed under the MIT License. - -_os='' - -_MACOS='macOS' -_UBUNTU='Ubuntu' -_DEBIAN='Debian GNU/Linux' -_ARCH='Arch Linux' -_ARCH_ARM='Arch Linux ARM' - -os_detect() { - case "$OSTYPE" in - darwin*) - _os="$_MACOS" - return 0 - ;; - linux-gnu*) - if [ -r /etc/os-release ] && _os="$( . /etc/os-release && echo "$NAME" )"; then - case "$_os" in - "$_UBUNTU"|"$_DEBIAN"|"$_ARCH"|"$_ARCH_ARM") - return 0 - ;; - *) - _os='' - return 1 - ;; - esac - fi - ;; - *) - return 1 - ;; - esac -} - -os_detect - -os_detected() { test -n "$_os" ; } - -os_is_macos() { test "$_os" == "$_MACOS" ; } - -os_is_ubuntu() { test "$_os" == "$_UBUNTU" ; } -os_is_debian() { test "$_os" == "$_DEBIAN" ; } -os_is_arch() { test "$_os" == "$_ARCH" -o "$_os" == "$_ARCH_ARM" ; } - -os_is_ubuntu_like() { os_is_ubuntu || os_is_debian ; } -os_is_linux() { os_is_ubuntu_like || os_is_arch ; } - -# Ubuntu-likes - -setup_pkg_list_ubuntu() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - local -r initial_status='/var/log/installer/initial-status.gz' - - gzip --decompress --stdout -- "$initial_status" \ - | sed --quiet -- 's/^Package: //p' \ - | sort \ - | uniq -) - -user_pkg_list_ubuntu() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - local manual - manual="$( apt-mark showmanual | sort | uniq )" - - local setup - setup="$( setup_pkg_list_ubuntu )" - - comm -23 <( echo "$manual" ) <( echo "$setup" ) -) - -pkg_list_ubuntu() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - dpkg --get-selections \ - | grep --invert-match -- 'deinstall$' \ - | cut -f 1 \ - | cut -d ':' -f 1 -) - -# Arch Linux - -setup_pkg_list_arch() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - # Assuming you only selected groups 'base and 'base-devel' during - # installation. - local -ra groups=(base base-devel) - - pacman -Q --groups -q -- ${groups[@]+"${groups[@]}"} | sort -) - -user_pkg_list_arch() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - local manual - manual="$( pacman -Q --explicit -q | sort )" - - local setup - setup="$( setup_pkg_list_arch )" - - comm -23 <( echo "$manual" ) <( echo "$setup" ) -) - -manual_pkg_list_arch() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - expac '%n %p' | grep 'Unknown Packager' -) - -pkg_list_arch() { - pacman -Qq -} - -# Generic routines - -pkg_list() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - if os_is_ubuntu_like; then - pkg_list_ubuntu - elif os_is_arch; then - pkg_list_arch - else - echo "${FUNCNAME[0]}: unsupported OS" >&2 - return 1 - fi -) - -user_pkg_list() ( - set -o errexit -o nounset -o pipefail - shopt -s inherit_errexit 2> /dev/null || true - - if os_is_ubuntu_like; then - user_pkg_list_ubuntu - elif os_is_arch; then - user_pkg_list_arch - else - echo "${FUNCNAME[0]}: unsupported OS" >&2 - return 1 - fi -) diff --git a/%HOME%/.bashrc b/%HOME%/.bashrc index 8b5d7c2..8db79ad 100644 --- a/%HOME%/.bashrc +++ b/%HOME%/.bashrc @@ -33,7 +33,6 @@ export HISTSIZE=20000 [ -r "$HOME/.bash_utils/cxx.sh" ] && source "$HOME/.bash_utils/cxx.sh" [ -r "$HOME/.bash_utils/distr.sh" ] && source "$HOME/.bash_utils/distr.sh" [ -r "$HOME/.bash_utils/git.sh" ] && source "$HOME/.bash_utils/git.sh" -[ -r "$HOME/.bash_utils/os.sh" ] && source "$HOME/.bash_utils/os.sh" [ -r "$HOME/.bash_utils/path.sh" ] && source "$HOME/.bash_utils/path.sh" [ -r "$HOME/.bashrc_local" ] && source "$HOME/.bashrc_local" @@ -95,10 +94,11 @@ alias sed='sed --follow-symlinks' # Use in a pipeline: # command | copy -if os_is_linux; then - alias copy='xclip -sel clip' -elif os_is_macos; then +if command -v pbcopy &> /dev/null; then + # MacOS alias copy='pbcopy' +elif command -v xclip &> /dev/null; then + alias copy='xclip -sel clip' fi # Make sure ssh-copy-id copies public keys along with their comments. |
