Monorepo for Aesthetic.Computer
aesthetic.computer
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