-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathMakefile
More file actions
101 lines (77 loc) · 2.64 KB
/
Makefile
File metadata and controls
101 lines (77 loc) · 2.64 KB
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
# Linking dotfiles with Stow
#
.DEFAULT_GOAL := arch
# Shared packages (work on both platforms)
SHARED = nvim git zsh tmux kitty ghostty lazygit k9s btop fzf helix presenterm ruff sesh mutt msmtp lazydocker yazi
# Platform-specific packages
MACOS = karabiner yabai skhd alfred
LINUX = kanata hypr walker waybar obsidian mako mise XCompose clipse OBS
.PHONY: mac linux shared clean
# Install shared dotfiles
shared:
stow $(SHARED)
# TODO: Does not yet work on Mac, just the preparation
mac: shared
stow $(MACOS)
# Install Linux-specific setup
linux: shared
stow $(LINUX)
# Remove all symlinks
clean:
stow -D $(SHARED) $(MACOS) $(LINUX)
# Remove only macOS symlinks
clean-mac:
stow -D $(MACOS)
# Remove only Linux symlinks
clean-linux:
stow -D $(LINUX)
install-kanata:
sudo cp systemd/.config/systemd/system/kanata.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable kanata.service
uninstall-kanata:
sudo systemctl stop kanata.service
sudo systemctl disable kanata.service
sudo rm /etc/systemd/system/kanata.service
arch:
pacman -Qqm > yay_aur.txt
pacman -Qqen | grep -v -f <(pacman -Qqm) > pacman.txt
pacman -Qen | grep -v -f <(pacman -Qqm) > pacman-versions.txt
## how it works:
# make arch-orphans # List orphaned packages → arch-orphans.txt
# make arch-cleanup # Remove orphaned packages (after review)
# make arch-package-check # Analyze all packages → arch-package-analysis.txt
# make arch-check-deps # Check what depends on a package
# make arch-clean-cache # Clean package cache (keeps 3 versions)
arch-orphans:
./_utils/arch-maintenance.sh orphans
arch-cleanup:
./_utils/arch-maintenance.sh cleanup
arch-package-check:
./_utils/arch-maintenance.sh package-check
arch-check-deps:
./_utils/arch-maintenance.sh check-deps
arch-clean-cache:
./_utils/arch-maintenance.sh clean-cache
oh-my-zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" #install oh-my-zsh
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
#TODO
post-omarchy-install:
arch-install
cp ~/stow/.stowrc ~/.stowrc
linux
oh-my-zsh
sudo systemctl enable --now sshd
rsync TODO _post-scripts/rsync.sh (take from readme)
sudo systemctl enable --now sshd
install-kanata
arch-install:
sudo pacman -S --needed - < pacman.txt
yay -S --needed --noconfirm - < yay_aur.txt
tmux-init-install:
rm -rf ~/.tmux/plugins
tmux new-session -d && tmux kill-session
mkdir -p ~/.tmux/plugins
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm 2>/dev/null || true
~/.tmux/plugins/tpm/bin/install_plugins