feat(freebsd): Install scripts updated to support FreeBSD

This commit is contained in:
Pratik Tripathy
2025-01-01 22:23:56 +05:30
parent dc94f3b0a8
commit 74a51361a8
3 changed files with 81 additions and 24 deletions

View File

@@ -6,21 +6,57 @@ setup() {
OS_INSTALL_COMMAND="" OS_INSTALL_COMMAND=""
OS_PKG_CHECK_COMMAND="" OS_PKG_CHECK_COMMAND=""
# Detect package manager and set package manager commands # First try to get OS info from os-release
if command -v apt-get >/dev/null 2>&1; then if [ -f /etc/os-release ]; then
. /etc/os-release
OS_TYPE="$ID"
else
# Fallback to uname
OS_TYPE="$(uname -s | tr '[:upper:]' '[:lower:]')"
fi
case "$OS_TYPE" in
"debian" | "ubuntu")
OS_INSTALL_COMMAND="apt-get install -y" OS_INSTALL_COMMAND="apt-get install -y"
OS_PKG_CHECK_COMMAND="apt-cache show" OS_PKG_CHECK_COMMAND="apt-cache show"
apt_setup apt_setup
elif command -v dnf >/dev/null 2>&1; then ;;
"fedora" | "rhel" | "centos")
OS_INSTALL_COMMAND="dnf install -y --allowerasing --skip-broken" OS_INSTALL_COMMAND="dnf install -y --allowerasing --skip-broken"
OS_PKG_CHECK_COMMAND="dnf list available" OS_PKG_CHECK_COMMAND="dnf list available"
dnf_setup dnf_setup
else ;;
log "Unsupported package manager. This script supports apt, yum, and dnf." "freebsd")
OS_INSTALL_COMMAND="pkg install -y --skip-unresolvable"
OS_PKG_CHECK_COMMAND="pkg search"
freebsd_setup
;;
*)
log "Unsupported operating system: $OS_TYPE"
exit 1 exit 1
fi ;;
esac
}
freebsd_setup() {
# Update package repository
sudo pkg update && sudo pkg upgrade
# Install KDE WM
sudo pkg install -y xorg kde5 sddm
# Add current user to video & wheel group
sudo pw groupmod video -m "$(whoami)"
sudo pw groupmod wheel -m "$(whoami)"
# Enable services that will be needed
sudo sysrc dbus_enable="YES"
sudo sysrc sddm_enable="YES"
sudo sysctl net.local.stream.recvspace=65535
sudo sysctl net.local.stream.sendspace=65535
echo "exec dbus-launch --exit-with-x11 ck-launch-session startplasma-x11" >~/.xinitrc
} }
dnf_setup() { dnf_setup() {

View File

@@ -26,8 +26,10 @@ post_install() {
chsh -s "$(which zsh)" && echo "Default shell changed to zsh" chsh -s "$(which zsh)" && echo "Default shell changed to zsh"
# Time fix for Windows dual boot # Time fix for Windows dual boot - skip on FreeBSD
if [ "$(uname -s)" != "FreeBSD" ]; then
timedatectl set-local-rtc 1 --adjust-system-clock && echo "Set Datetime" timedatectl set-local-rtc 1 --adjust-system-clock && echo "Set Datetime"
fi
rm -rf ~/.cache rm -rf ~/.cache
} }
@@ -50,7 +52,11 @@ main() {
pre_install pre_install
./install-os-packages.sh ./install-os-packages.sh
# Skip brew installation on FreeBSD
if [ "$(uname -s)" != "FreeBSD" ]; then
./install-brew-packages.sh ./install-brew-packages.sh
fi
manual_installs manual_installs
post_install post_install

View File

@@ -13,38 +13,38 @@ dnf-plugins-core
libva-nvidia-driver libva-nvidia-driver
xorg-x11-drv-nvidia-cuda xorg-x11-drv-nvidia-cuda
# Common # Common
aspnetcore-runtime-8.0
bash bash
bleachbit bleachbit
brave-browser brave-browser
ca-certificates ca-certificates
clang clang
cmake cmake
extra-cmake-modules
code code
containerd.io
curl curl
evolution-ews docker-buildx-plugin
evolution-mapi
docker-ce docker-ce
docker-ce-cli docker-ce-cli
containerd.io
docker-buildx-plugin
docker-compose-plugin docker-compose-plugin
dolphin dolphin
dolphin-plugins dolphin-plugins
dnscrypt-proxy dnscrypt-proxy
aspnetcore-runtime-8.0
dotnet-sdk-8.0
dotnet-runtime-8.0 dotnet-runtime-8.0
dotnet-sdk-8.0
evolution-ews
evolution-mapi
extra-cmake-modules
ffmpeg ffmpeg
firefox firefox
flameshot flameshot
flatpak flatpak
plasma-discover-backend-flatpak
gcc gcc
gdb gdb
git git
gparted
gnupg gnupg
go
gparted
grub-customizer grub-customizer
htop htop
kde-spectacle kde-spectacle
@@ -53,10 +53,13 @@ kitty-terminfo
llvm llvm
lua lua
lua5.3 lua5.3
luajit
make make
nala nala
neovim neovim
net-tools net-tools
node
npm
openssh-client openssh-client
python3 python3
python3-pip python3-pip
@@ -71,11 +74,23 @@ tmux
ufw ufw
ulauncher ulauncher
vim vim
vim-enhanced
vim-common
vim-tiny
volkan-tools
vlc vlc
vulkan-tools
wget wget
xclip xclip
zsh zsh
# FreeBSD packages
bat
fd-find
fzf
jq
libreoffice
lua54
rclone
shellcheck
sqlite3
tree-sitter
vscode
yt-dlp
zoxide