mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 16:41:43 +05:30
feat(freebsd): Install scripts updated to support FreeBSD
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
@@ -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
|
||||||
timedatectl set-local-rtc 1 --adjust-system-clock && echo "Set Datetime"
|
if [ "$(uname -s)" != "FreeBSD" ]; then
|
||||||
|
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
|
||||||
./install-brew-packages.sh
|
|
||||||
|
# Skip brew installation on FreeBSD
|
||||||
|
if [ "$(uname -s)" != "FreeBSD" ]; then
|
||||||
|
./install-brew-packages.sh
|
||||||
|
fi
|
||||||
|
|
||||||
manual_installs
|
manual_installs
|
||||||
post_install
|
post_install
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user