Compare commits

...

2 Commits

Author SHA1 Message Date
d6578c5d4a
start macos compatibility 2025-02-04 15:09:26 -07:00
19ff28d77c
fedora targets complete 2025-02-04 11:19:54 -07:00
3 changed files with 66 additions and 1 deletions

View File

@ -11,6 +11,8 @@ file
findutils findutils
flex flex
fzf fzf
gcc
gcc-c++
gettext gettext
go go
htop htop
@ -26,6 +28,7 @@ npm
openssh openssh
patch patch
pkg-config pkg-config
python3-devel
python3-pip python3-pip
python3-pylint python3-pylint
python3-virtualenv python3-virtualenv

View File

@ -0,0 +1,43 @@
autoconf
automake
bat
binutils
bison
cmake
cowsay
feh
figlet
coreutils
flex
fzf
gcc
g++
gettext
go
htop
openjdk
jq
libtool
lolcat
mono
ncurses
neofetch
node
npm
openssh
patch
pkg-config
python
pip3
pylint
virtualenv
ripgrep
rust
sed
sudo
tmux
vim
yamllint
yq
zip
zsh

View File

@ -18,6 +18,9 @@ OS__GET_OS() {
[ ! ${OS_NAME} ] \ [ ! ${OS_NAME} ] \
&& OS_NAME=$(cat /etc/os-release 2>/dev/null | sed -n 's/^ID=//p') && OS_NAME=$(cat /etc/os-release 2>/dev/null | sed -n 's/^ID=//p')
uname -s | grep -q Darwin \
&& OS_NAME=macos
[ ! ${OS_NAME} ] \ [ ! ${OS_NAME} ] \
&& WARNING 'failed to detect operating system' \ && WARNING 'failed to detect operating system' \
&& OS_NAME=$(echo -e "arch\ndebian\nother" | FZF 'select an operating system') \ && OS_NAME=$(echo -e "arch\ndebian\nother" | FZF 'select an operating system') \
@ -43,6 +46,12 @@ OS__INSTALL_SOURCE_DEPENDENCIES() {
( fedora ) ;; ( fedora ) ;;
( debian ) ;; ( debian ) ;;
( macos )
command -v brew &>/dev/null \
|| /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
;;
( * ) ;; ( * ) ;;
esac esac
@ -59,8 +68,9 @@ OS__INSTALL_MANAGED_DEPENDENCIES() {
STATUS 'checking os dependencies' STATUS 'checking os dependencies'
case ${OS_NAME} in case ${OS_NAME} in
( arch | debian | fedora ) ( arch | fedora | debian | macos )
;; ;;
( * ) ( * )
OS_NAME='generic' OS_NAME='generic'
WARNING "no automated installer available for '${OS_NAME}'" WARNING "no automated installer available for '${OS_NAME}'"
@ -128,6 +138,15 @@ INSTALL_MANAGED__fedora() {
; ;
} }
UPDATE_REPOSITORIES__macos() { brew update && brew upgrade; }
INSTALL_MANAGED__macos() {
STATUS "checking / installing '$1'"
yes | brew install $1 \
&& SUCCESS "'$1' installed" \
|| ERROR "failed to install ${TARGET}" \
;
}
UPDATE_REPOSITORIES__generic() { return 0; } UPDATE_REPOSITORIES__generic() { return 0; }
INSTALL_MANAGED__generic() { INSTALL_MANAGED__generic() {
command -v $1 >/dev/null 2>&1 \ command -v $1 >/dev/null 2>&1 \