pre-merge commit
This commit is contained in:
@@ -1,95 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Get current user
|
|
||||||
USER=$(whoami)
|
|
||||||
|
|
||||||
package_list=(
|
|
||||||
"alacritty"
|
|
||||||
"diff-so-fancy"
|
|
||||||
"discord"
|
|
||||||
"fastfetch"
|
|
||||||
"firefox"
|
|
||||||
"spotify-launcher"
|
|
||||||
"ollama"
|
|
||||||
"waybar"
|
|
||||||
"flameshot"
|
|
||||||
"zsh"
|
|
||||||
"zsh-completions"
|
|
||||||
"ttf-font-awesome"
|
|
||||||
"nerd-fonts"
|
|
||||||
"btop"
|
|
||||||
"firefox"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Create a string of packages
|
|
||||||
package_string=$(IFS=' ' ; echo "${package_list[@]}")
|
|
||||||
|
|
||||||
# Install all packages from the string
|
|
||||||
echo "Attempting to install packages: $package_string"
|
|
||||||
sudo pacman -S --needed --noconfirm $package_string
|
|
||||||
|
|
||||||
## UV for Python Dev
|
|
||||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
||||||
|
|
||||||
## Rust, because we all love rust
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
||||||
|
|
||||||
# ollama for that local llm hit
|
|
||||||
$ curl -fsSL https://ollama.com/install.sh | sh
|
|
||||||
|
|
||||||
## Linutil by CTT
|
|
||||||
# curl -fsSL https://christitus.com/linux | sh
|
|
||||||
|
|
||||||
## Bazecor for the Dygma Keyboard
|
|
||||||
yay bazecor
|
|
||||||
## ckb-next for the corsair mouse
|
|
||||||
yay ckb-next
|
|
||||||
|
|
||||||
## Symlink the config files to the right places
|
|
||||||
folders_to_link=(
|
|
||||||
"alacritty"
|
|
||||||
"git"
|
|
||||||
"hypr"
|
|
||||||
"waybar"
|
|
||||||
"wofi"
|
|
||||||
"zsh"
|
|
||||||
"ckb-next"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Loop through the folder list
|
|
||||||
for folder in "${folders_to_link[@]}"; do
|
|
||||||
# Construct the full path to the .config folder
|
|
||||||
config_path="$HOME/dotfiles/$folder"
|
|
||||||
|
|
||||||
# Construct the full path to the target folder
|
|
||||||
target_path="$HOME/.config/$folder"
|
|
||||||
|
|
||||||
# Check if the target folder exists
|
|
||||||
if [ -d "$target_path" ]; then
|
|
||||||
echo "Warning: Target directory '$target_path' already exists. Skipping link creation."
|
|
||||||
else
|
|
||||||
# Create a soft link
|
|
||||||
ln -s "$config_path" "$target_path"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "Successfully created soft link: $target_path -> $config_path"
|
|
||||||
else
|
|
||||||
echo "Error: Failed to create soft link: $target_path"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -f "$HOME/.gitconfig" ]; then
|
|
||||||
echo gitconfig already linked, skipping
|
|
||||||
else
|
|
||||||
ln -s $HOME/dotfiles/git/gitconfig $HOME/.gitconfig
|
|
||||||
echo linked gitconfig
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "/etc/zsh/zshenv" ]; then
|
|
||||||
echo zshenv already exists, skipping
|
|
||||||
else
|
|
||||||
ln -s $HOME/dotfiles/zshenv /etc/zsh/zshenv
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo Make sure you change shell with chsh
|
|
||||||
|
|
||||||
@@ -1,17 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# FIRST, MOUNT NAS AT /mnt/nas/
|
||||||
|
|
||||||
REMOTE="devin@192.168.0.49"
|
REMOTE="/mnt/nas/Jake
|
||||||
|
|
||||||
echo "📥 Pulling SSH keys..."
|
echo "📥 Pulling SSH keys..."
|
||||||
rsync "$REMOTE:~/.ssh/id_rsa" ~/.ssh/ && chmod 600 ~/.ssh/id_rsa
|
rsync "$REMOTE/ssh/id_rsa" ~/.ssh/ && chmod 600 ~/.ssh/id_rsa
|
||||||
rsync "$REMOTE:~/.ssh/id_rsa.pub" ~/.ssh/ && chmod 644 ~/.ssh/id_rsa.pub
|
rsync "$REMOTE/ssh/id_rsa.pub" ~/.ssh/ && chmod 644 ~/.ssh/id_rsa.pub
|
||||||
rsync "$REMOTE:~/.ssh/config" ~/.ssh/ && chmod 644 ~/.ssh/config
|
rsync "$REMOTE/ssh/config" ~/.ssh/ && chmod 644 ~/.ssh/config
|
||||||
|
|
||||||
echo "📥 Pulling GPG key..."
|
echo "📥 Pulling GPG key..."
|
||||||
rsync "$REMOTE:~/my-gpg-key.asc" ~/
|
rsync "$REMOTE/ssh/my-gpg-key.asc" ~/
|
||||||
|
|
||||||
echo "🔑 Importing GPG key..."
|
echo "🔑 Importing GPG key..."
|
||||||
gpg --import ~/my-gpg-key.asc
|
gpg --import ~/my-gpg-key.asc
|
||||||
rm ~/my-gpg-key.asc # Clean up after import
|
rm ~/my-gpg-key.asc # Clean up after import
|
||||||
|
|
||||||
echo "✅ SSH and GPG setup complete!"
|
echo "✅ SSH and GPG setup complete!"
|
||||||
|
|||||||
@@ -1,140 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
# Ubuntu System Set Up Script
|
|
||||||
# ------------------------------------------------------------
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# PACKAGE LISTING
|
|
||||||
# ============================================================
|
|
||||||
# List all packages we want from apt
|
|
||||||
package_list=(
|
|
||||||
"kitty"
|
|
||||||
"fastfetch"
|
|
||||||
"zsh"
|
|
||||||
"btop"
|
|
||||||
"steam"
|
|
||||||
"code"
|
|
||||||
"just"
|
|
||||||
)
|
|
||||||
|
|
||||||
# List all the flatpaks we want to install
|
|
||||||
flatpacks_to_install=(
|
|
||||||
"com.discordapp.Discord"
|
|
||||||
"com.spotify.Client"
|
|
||||||
"app.zen_browser.zen"
|
|
||||||
)
|
|
||||||
|
|
||||||
# List all the folders we want to link from our dotfiles folder to our .config folder
|
|
||||||
folders_to_link=(
|
|
||||||
# "alacritty"
|
|
||||||
"git"
|
|
||||||
"zsh"
|
|
||||||
"kitty"
|
|
||||||
"starship.toml"
|
|
||||||
)
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# SCRIPT SETUP
|
|
||||||
# ============================================================
|
|
||||||
set -euo pipefail # safer shell behaviour
|
|
||||||
shopt -s expand_aliases # if you use aliases inside the script
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# SYSTEM UPDATE
|
|
||||||
# ============================================================
|
|
||||||
echo "==> Updating Ubuntu base packages..."
|
|
||||||
|
|
||||||
sudo apt update && sudo apt upgrade -y
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# REPOSITORY SETUP
|
|
||||||
# ============================================================
|
|
||||||
echo "==> Enabling RPM-Fusion repositories..."
|
|
||||||
# For Ubuntu, we'll skip RPM-Fusion since it's Fedora-specific
|
|
||||||
|
|
||||||
# Prep for vs-code install # TODO: needs testing / tewaking
|
|
||||||
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg
|
|
||||||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/vscode stable main" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# PACKAGE INSTALLATION
|
|
||||||
# ============================================================
|
|
||||||
|
|
||||||
# Create a string of packages
|
|
||||||
package_string=$(IFS=' ' ; echo "${package_list[@]}")
|
|
||||||
|
|
||||||
# Install packages listed
|
|
||||||
echo "==> Installing apt Packages..."
|
|
||||||
sudo apt install $package_string -y --no-install-recommends
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# FLATPAK SETUP
|
|
||||||
# ============================================================
|
|
||||||
|
|
||||||
# 5. Install Flatpak (if not present) and set up Flathub
|
|
||||||
if ! command -v flatpak &>/dev/null; then
|
|
||||||
echo "==> Installing Flatpak..."
|
|
||||||
sudo apt install flatpak -y
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "==> Adding Flathub repository..."
|
|
||||||
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
||||||
|
|
||||||
flatpack_string=$(IFS=' ' ; echo "${flatpacks_to_install[@]}")
|
|
||||||
echo "==> Installing flatpaks..."
|
|
||||||
flatpak install -y flathub $flatpack_string
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# WEB INSTALLATION
|
|
||||||
# ============================================================
|
|
||||||
|
|
||||||
# UV for Python Dev
|
|
||||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
||||||
|
|
||||||
# Rust, because we all love rust
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
||||||
|
|
||||||
# Bazecore for the Dygma Keyboard
|
|
||||||
./bazecore_grab.sh
|
|
||||||
|
|
||||||
# Starship because command line glory
|
|
||||||
curl -sS https://starship.rs/install.sh | sh
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# SYMBOLIC LINKING
|
|
||||||
# ============================================================
|
|
||||||
|
|
||||||
for folder in "${folders_to_link[@]}"; do
|
|
||||||
config_path="$HOME/dotfiles/$folder"
|
|
||||||
target_path="$HOME/.config/$folder"
|
|
||||||
ln -s "$config_path" "$target_path"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Sym link other bits.
|
|
||||||
ln -s $HOME/dotfiles/git/gitconfig $HOME/.gitconfig
|
|
||||||
ln -s $HOME/dotfiles/.justfile $HOME/.justfile
|
|
||||||
|
|
||||||
# slightly tested zshrc sym link
|
|
||||||
sudo rm -f /etc/zshrc
|
|
||||||
sudo ln -s /etc/zshrc $HOME/dotfiles/zsh/.zshrc
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# NVIM SETUP
|
|
||||||
# ============================================================
|
|
||||||
# Untested nvim kickstart clone
|
|
||||||
git clone https://github.com/Jake-Pullen/kickstart.nvim.git $HOME/.config/nvim
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# SHELL SETUP
|
|
||||||
# ============================================================
|
|
||||||
chsh -s /bin/zsh
|
|
||||||
|
|
||||||
# ============================================================
|
|
||||||
# CLEANUP
|
|
||||||
# ============================================================
|
|
||||||
echo "==> Cleaning up package cache..."
|
|
||||||
sudo apt clean
|
|
||||||
|
|
||||||
echo "===================================================="
|
|
||||||
echo "All done! Give the system a reboot!"
|
|
||||||
Reference in New Issue
Block a user