-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathMakefile
172 lines (144 loc) · 3.86 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
172
install:
@echo Updating current packages
sudo dnf up --refresh -y
@echo Installing core packages
sudo dnf install -y \
openssl \
openssh-askpass \
zsh \
encfs \
ripgrep \
fd-find \
hub \
direnv \
bat \
fzf \
jq \
httpie \
tealdeer \
tmate \
gh \
nmap \
seahorse \
pam_yubico \
git-delta \
rclone
# SSH passphrase prompt.
sudo dnf install -y ksshaskpass
# ExifTool to remove metadata from files/images.
sudo dnf install -y \
perl-Image-ExifTool \
ImageMagick
# Languages
sudo dnf install -y \
nodejs \
golang \
golang-x-tools-gopls \
ruby \
ruby-devel \
clang \
clang-tools-extra
# SELinux troubleshooting.
sudo dnf install -y setroubleshoot
# Clipboard provider for Neovim.
sudo dnf install -y wl-clipboard
# Image to ASCII converter (used by Neovim).
sudo dnf install -y chafa
# Bash LSP dependencies.
sudo dnf install -y shellcheck shfmt
@echo Installing rpmfusion repos
sudo dnf install -y \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$$(rpm -E %fedora).noarch.rpm
@echo Installing additional apps from rpmfusion
sudo dnf install -y \
gnome-tweak-tool \
gnome-extensions-app \
qbittorrent \
gnome-shell-theme-flat-remix \
flat-remix-theme \
vlc
@echo Installing Proton VPN
./scripts/protonvpn.sh
@echo Installing flatpak apps
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y flathub com.spotify.Client
flatpak install -y flathub org.kde.krita
flatpak install -y flathub org.gimp.GIMP
flatpak install -y flathub com.discordapp.Discord
flatpak install -y flathub com.calibre_ebook.calibre
flatpak install -y flathub org.chromium.Chromium
@echo Install fonts
./scripts/fonts.sh
@echo Setup ssh-agent
./scripts/ssh.sh
@echo Install kitty
./scripts/kitty.sh
@echo Install other apps
./scripts/docker.sh
./scripts/nvim.sh --no-backup
./scripts/rust.sh
./scripts/node.sh
./scripts/uv.sh
./scripts/zsh.sh
./scripts/luals.sh
@echo Installing ruby on rails
gem install rails
@echo Installing ruby LSP
gem install solargraph
# Install copilot.
gh extension install github/gh-copilot
# Should be called after make install, in a fresh shell.
# Can also be called to update packages.
update:
@echo Updating uv
uv self update
uv tool upgrade --all
@echo Updating rust packages
cargo install stylua
@echo Updating node packages
npm install -g tree-sitter-cli
# Formatter for js, html, css, json, etc.
npm install -g prettier
# Python LSP
npm install -g pyright
# HTML, CSS, JS, JSON LSP
npm install -g vscode-langservers-extracted
# TypeScript LSP
npm install -g typescript typescript-language-server
npm install -g yaml-language-server
# PHP LSP
npm install -g intelephense
npm install -g bash-language-server
@echo Updating tldr
tldr --update
@echo Updating rust
rustup self update
rustup component add rust-analyzer
rustup update
@echo Updating Neovim
./scripts/nvim.sh
@echo Updating kitty
./scripts/kitty.sh
@echo Updating flatpak apps
flatpak update -y
@echo Updating gh extensions
gh extension upgrade --all
symlinks:
ln -sf `pwd`/gitconfig ~/.gitconfig
ln -sf `pwd`/gitignore ~/.gitignore
ln -sf `pwd`/pypirc ~/.pypirc
ln -sf `pwd`/tmux.conf ~/.tmux.conf
ln -sf `pwd`/tmate.conf ~/.tmate.conf
ln -sf `pwd`/zshrc ~/.zshrc
mkdir -p ~/.ssh/
ln -sf `pwd`/ssh.config ~/.ssh/config
ln -sf `pwd`/config/gdb/ ~/.config/
ln -sf `pwd`/config/nvim/ ~/.config/
ln -sf `pwd`/config/bat/ ~/.config/
ln -sf `pwd`/config/kitty/kitty.conf ~/.config/kitty/kitty.conf
mkdir -p ~/.gnupg/
ln -sf `pwd`/gnupg/gpg-agent.conf ~/.gnupg/gpg-agent.conf
rm -rf ~/.local/share/nautilus/scripts/
ln -sf `pwd`/local/share/nautilus/scripts/ ~/.local/share/nautilus/
.PHONY: install symlinks update