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_PKG_CHECK_COMMAND=""
# Detect package manager and set package manager commands
if command -v apt-get >/dev/null 2>&1; then
# First try to get OS info from os-release
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_PKG_CHECK_COMMAND="apt-cache show"
apt_setup
elif command -v dnf >/dev/null 2>&1; then
;;
"fedora" | "rhel" | "centos")
OS_INSTALL_COMMAND="dnf install -y --allowerasing --skip-broken"
OS_PKG_CHECK_COMMAND="dnf list available"
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
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() {

View File

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

View File

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