-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
171 lines (142 loc) · 4.47 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#################
## OS Specific ##
#################
## OSX
install-osx-bins:
brew install bat eza fd font-hack-nerd-font fzf gh gitui lua-language-server neovim python3 rg starship tmux wget zellij
brew install fish
install-osx-security:
brew install gnupg yubikey-personalization hopenpgp-tools ykman pinentry-mac
install-osx-cloud:
brew tap hashicorp/tap
brew install hashicorp/tap/terraform hashicorp/tap/terraform-ls
brew install helm argocd awscli
brew install --cask google-cloud-sdk
install-osx-cpp:
brew install bazelisk clang-format cmake llvm
###########
## Linux ##
###########
install-linux-cargo-pkgs:
cargo install -f --locked gitui kanata zellij
install-linux-starship:
curl -sS https://starship.rs/install.sh | sh
install-linux-bins:
# Neovim build dependencies
apt install ninja-build gettext cmake make unzip curl build-essential
apt install bat build-essential fd-find fzf eza fish git ripgrep
mkdir -p ~/.local/bin
ln -s $(which fdfind) ~/.local/bin/fd
# Python build deps
apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
# CPP
apt install clangd
# Haskell build dependencies
apt install libgmp-dev
# For opening appimages
apt install libfuse2t64
apt install alacritty just
install-linux-i3:
apt install brightnessctl i3 blueman maim pavucontrol pasystray polybar rofi xclip
install-linux-sway:
apt install mesa-utils sway upower waybar wlr-randr wofi
install-linux-security:
apt install pinentry-gtk2 scdaemon
## MNT Pocket Reform
setup-kanata-root-part:
groupadd uinput
usermod -aG uinput $(shell whoami)
usermod -aG input $(shell whoami)
cp keyboards/kanata/99-uinput.rules /etc/udev/rules.d/
cp keyboards/kanata/uinput.conf /etc/modules-load.d/
ln -sf ~/.cargo/bin/kanata /usr/bin/kanata
setup-kanata:
ln -sf $(shell pwd)/keyboards/kanata ~/.config/kanata
##########
## Misc ##
##########
# Path should be updated for Linux?
setup-fzf-completions:
/usr/local/opt/fzf/install
############
## Python ##
############
install-python-poetry:
curl -sSL https://install.python-poetry.org | python3 -
## Note these are already checked-in
setup-python-poetry-completions:
poetry completions fish > ~/.config/fish/completions/poetry.fish
#############
## Haskell ##
#############
install-haskell-ghcup:
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | \
BOOTSTRAP_HASKELL_NONINTERACTIVE=1 \
BOOTSTRAP_HASKELL_INSTALL_STACK=1 \
BOOTSTRAP_HASKELL_INSTALL_HLS=1 \
sh
###########
## Idris ##
###########
install-osx-idris2:
brew install chezscheme
# Seems broken atm...
bash -c "$$(curl -fsSL https://raw.githubusercontent.com/stefan-hoeck/idris2-pack/main/install.bash)"
pack install-app idris2-lsp
##########
## Rust ##
##########
install-rustup:
curl https://sh.rustup.rs -sSf | sh -s -- --no-modify-path -y
install-rust-analyzer:
rustup component add rust-analyzer
##########
## Lua ###
##########
install-lua:
apt install liblua5.4-dev lua5.4
cd /tmp && wget https://luarocks.org/releases/luarocks-3.11.1.tar.gz \
&& tar zxpf luarocks-3.11.1.tar.gz \
&& cd luarocks-3.11.1 \
&& ./configure && make && sudo make install
##############
## Dotfiles ##
##############
setup-fish:
rm -rf ~/.config/fish
ln -s $(shell pwd)/fish ~/.config/fish
mkdir -p ~/.config/fish/conf.d
mkdir -p ~/.config/fish/completions
mkdir -p ~/.config/fish/functions
setup-fisher:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
setup-git:
ln -sf $(shell pwd)/gitconfig ~/.gitconfig
mkdir -p ~/.config
rm -rf ~/.config/gitui
ln -s $(shell pwd)/gitui ~/.config
setup-ipython:
ipython profile create
ln -sf $(shell pwd)/ipython_config.py ~/.ipython/profile_default/ipython_config.py
setup-nvim:
mkdir -p ~/.config
rm -rf ~/.config/nvim
ln -s $(shell pwd)/nvim_config ~/.config/nvim
setup-starship:
rm -rf ~/.config/starship.toml
ln -s $(shell pwd)/starship.toml ~/.config/
setup-sway-waybar:
mkdir -p ~/.config/sway
mkdir -p ~/.config/waybar
ln -sf $(shell pwd)/desktop/sway/config ~/.config/sway/config
ln -sf $(shell pwd)/desktop/waybar/config ~/.config/waybar/config
setup-i3:
mkdir -p ~/.config/i3
ln -sf $(shell pwd)/desktop/i3/config ~/.config/i3/config
rm -Rf ~/.config/polybar
ln -sf $(shell pwd)/desktop/polybar ~/.config/polybar
setup-zellij:
rm -rf ~/.config/zellij
ln -s $(shell pwd)/zellij ~/.config/zellij