Monorepo for Aesthetic.Computer
aesthetic.computer
1#!/bin/sh
2
3# todo: install_emacs and auto-link emacs/init.el
4
5# -e: exit on error
6# -u: exit on unset variables
7set -eu
8
9create_symlinks() {
10 # Get the directory in which this script lives.
11 script_dir=$(dirname "$(readlink -f "$0")")
12
13 # Call the dedicated symlink script to avoid duplication
14 "$script_dir/symlink.sh"
15}
16
17install_fish() {
18 sudo add-apt-repository ppa:fish-shell/release-3 -y
19 sudo apt-get update
20 sudo apt-get install fish -y
21}
22
23install_neovim() {
24 sudo add-apt-repository ppa:neovim-ppa/unstable -y
25 sudo apt-get update
26 sudo apt-get install neovim -y
27}
28
29install_emacs() {
30 sudo apt-get install emacs -y
31}
32
33install_homebrew() {
34 NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
35 echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/codespace/.profile
36 eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
37 sudo apt-get install build-essential
38 brew install gcc
39}
40
41install_starship() {
42 brew install starship
43}
44
45install_fnm() {
46 brew install fnm
47}
48
49install_mkcert() {
50 brew install mkcert
51}
52
53install_fonts() {
54 mkdir -p ~/.local/share/fonts
55 cd ~/.local/share/fonts
56 wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip
57 rm -rf FiraCode
58 mkdir FiraCode
59 unzip FiraCode.zip -d FiraCode
60 rm FiraCode.zip
61 cd -
62}
63
64install_fish
65install_neovim
66install_emacs
67install_homebrew
68install_starship
69install_fnm
70install_mkcert
71install_fonts
72
73create_symlinks