Monorepo for Aesthetic.Computer aesthetic.computer
at main 112 lines 3.7 kB view raw
1#!/usr/bin/env fish 2 3# ⚠️ This script is for installing Aesthetic Computer development dependencies on 4# a Thinkpad running Fedora. 5 6# Print the current shell 7echo "🔵 Current shell is now: $SHELL" 8 9echo "🟣 Installing VS Code package repositories" 10 11# Import the Microsoft GPG key for Visual Studio Code 12sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc 13 14# Add the Visual Studio Code repository 15echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo >/dev/null 16 17# Update the package cache 18dnf check-update 19 20echo "🟣 Installing `foot`, `fzf`, `google-chrome-stable`, `code`, `docker`, `bpytop`, `emacs`, `rust`, `cargo`, `xxd` and `nss-tools`" 21 22# Install dependencies 23sudo dnf install -y foot fzf google-chrome-stable code docker bpytop emacs rust cargo xxd nss-tools 24echo "🟣 Installing `dbus-devel`, `pkgconf-pkg-config`" 25sudo dnf install -y dbus-devel pkgconf-pkg-config 26 27echo "🟣 Enabling `docker` system services" 28 29# Enable and start Docker service 30sudo systemctl enable docker 31sudo systemctl start docker 32 33# add user to `docker` group 34sudo usermod -aG docker $USER 35newgrp docker 36 37echo "🟣 Installing `brew`" 38# Install Linuxbrew non-interactively 39NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 40 41echo "🟣 Symlinking dotfiles" 42# Add Linuxbrew to PATH 43# set -U fish_user_paths /home/linuxbrew/.linuxbrew/bin $fish_user_paths 44# Symlink dotfiles 45bash ~/aesthetic-computer/dotfiles/symlink.sh 46 47echo "🟣 Installing `gnome-randr`, `starship`, `nvim`, and `fnm`" 48 49# Install gnome-randr using Cargo 50cargo install gnome-randr 51 52# TODO: ❓ Could I programmaticaly add my system shortcuts here? 24.08.21.21.43 53 54brew install starship 55 56brew install nvim 57 58brew install mkcert 59# Install mkcert certificates locally 60mkcert -install 61 62# Install fnm (Fast Node Manager) 63brew install fnm 64 65echo "🟣 Sourcing fish config" 66# reload fish configuration, which will add brew and cargo to path, etc. 67source ~/.config/fish/config.fish 68 69# Set the default Node.js version to most recent LTS 70fnm install lts/iron 71fnm default lts/iron 72 73echo "🟣 Installing `devcontainer` cli" 74 75# Install devcontainer CLI globally using npm 76npm install -g @devcontainers/cli typescript typescript-language-server 77 78echo "🟣 Installing `Fira Code` font" 79 80# Install system font (optional, depending on your needs) 81mkdir -p ~/.local/share/fonts 82cd ~/.local/share/fonts 83wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip 84rm -rf FiraCode 85mkdir FiraCode 86unzip FiraCode.zip -d FiraCode 87rm FiraCode.zip 88cd - 89 90echo "🟣 Installing `theme.sh` utility" 91 92# Install theme.sh tools 93sudo curl -Lo /usr/bin/theme.sh 'https://git.io/JM70M' 94sudo chmod +x /usr/bin/theme.sh 95 96echo "🟣 Installing Aesthetic Computer system daemon" 97# Install AC JavaScript system daemon for watching SSL and perhaps 98# performing other tasks... on command, which could accept 99# messages from the client. 100# Is this still being used actively? 24.08.21.21.46 101fish ~/aesthetic-computer/daemon/install-daemon.fish 102 103echo "🟣 Resetting dock icons" 104gsettings set org.gnome.shell favorite-apps "[]" 105 106echo "🟣 Setting key repeat rate and delay" 107gsettings set org.gnome.desktop.peripherals.keyboard delay 250 108gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 30 109 110echo "🟣 Adding `aesthetic.local` and `sotce.local` to `/etc/hosts`" 111echo "127.0.0.1 aesthetic.local" | sudo tee -a /etc/hosts 112echo "127.0.0.1 sotce.local" | sudo tee -a /etc/hosts