+5
-30
Makefile
+5
-30
Makefile
···
15
15
16
16
.PHONY: fonts
17
17
fonts:
18
-
@ $(DOTFILES)/fonts/packages.sh
18
+
@ $(DOTFILES)/fonts/setup.sh
19
19
20
20
.PHONY: code
21
21
code:
22
-
@ $(DOTFILES)/code/packages.sh
23
-
@ mkdir -p "$(HOME)/.config/Code/User/"
24
-
@ ln -snf $(DOTFILES)/code/settings.json "$(HOME)/.config/Code/User/settings.json"
25
-
@ ln -snf $(DOTFILES)/code/keybindings.json "$(HOME)/.config/Code/User/keybindings.json"
26
-
@ ln -snf $(DOTFILES)/code/tasks.json "$(HOME)/.config/Code/User/tasks.json"
27
-
@ ln -snf $(DOTFILES)/code/code-flags.conf $(HOME)/.config/code-flags.conf
22
+
@ $(DOTFILES)/code/setup.sh
28
23
29
24
.PHONY: claude
30
25
claude:
···
37
32
38
33
.PHONY: codex
39
34
codex:
40
-
@ mkdir -p "$(HOME)/.codex/"
41
-
@ ln -sf $(DOTFILES)/codex/config.toml "$(HOME)/.codex/config.toml"
42
-
@ ln -sf $(DOTFILES)/codex/AGENTS.md "$(HOME)/.codex/AGENTS.md"
43
-
@ ln -sfT $(DOTFILES)/codex/prompts "$(HOME)/.codex/prompts"
35
+
@ $(DOTFILES)/codex/setup.sh
44
36
45
37
.PHONY: cursor
46
38
cursor:
···
59
51
60
52
.PHONY: terminal
61
53
terminal:
62
-
@ $(DOTFILES)/terminal/packages.sh
54
+
@ $(DOTFILES)/terminal/setup.sh
63
55
64
56
.PHONY: hypr
65
57
hypr:
66
-
@ mkdir -p "$(HOME)/.config/hypr" "$(HOME)/.config/waybar" "$(HOME)/.config/mako" "$(HOME)/.config/fuzzel"
67
58
@ ${DOTFILES}/hypr/setup.sh
68
-
@ ln -sf $(DOTFILES)/hypr/wallpaper.png $(HOME)/Pictures/wallpaper.png
69
-
@ ln -sf $(DOTFILES)/hypr/frappe.conf $(HOME)/.config/hypr/frappe.conf
70
-
@ ln -sf $(DOTFILES)/hypr/hyprland.conf $(HOME)/.config/hypr/hyprland.conf
71
-
@ ln -sf $(DOTFILES)/hypr/hyprpaper.conf $(HOME)/.config/hypr/hyprpaper.conf
72
-
@ ln -sf $(DOTFILES)/hypr/hypridle.conf $(HOME)/.config/hypr/hypridle.conf
73
-
@ ln -sf $(DOTFILES)/hypr/hyprlock.conf $(HOME)/.config/hypr/hyprlock.conf
74
-
@ ln -sf $(DOTFILES)/hypr/xdph.conf $(HOME)/.config/hypr/xdph.conf
75
-
@ ln -sf $(DOTFILES)/hypr/waybar/config.jsonc $(HOME)/.config/waybar/config
76
-
@ ln -sf $(DOTFILES)/hypr/waybar/style.css $(HOME)/.config/waybar/style.css
77
-
@ ln -sf $(DOTFILES)/hypr/waybar/frappe.css $(HOME)/.config/waybar/frappe.css
78
-
@ ln -sf $(DOTFILES)/hypr/mako/config $(HOME)/.config/mako/config
79
-
@ ln -sf $(DOTFILES)/hypr/fuzzel/fuzzel.ini $(HOME)/.config/fuzzel/fuzzel.ini
80
59
81
60
.PHONY: desktop
82
61
desktop:
83
-
@ ${DOTFILES}/desktop/packages.sh
84
-
@ ln -sf $(DOTFILES)/desktop/brave-flags.conf $(HOME)/.config/brave-flags.conf
85
-
@ ln -sf $(DOTFILES)/desktop/electron-flags.conf $(HOME)/.config/electron-flags.conf
62
+
@ ${DOTFILES}/desktop/setup.sh
86
63
87
64
.PHONY: system
88
65
system:
89
-
@ sudo rm -f /etc/sysctl.d/99-swappiness.conf
90
-
@ sudo cp $(DOTFILES)/system/99-swappiness.conf /etc/sysctl.d/99-swappiness.conf
91
66
@ $(DOTFILES)/system/setup.sh
92
67
93
68
.PHONY: maintenance
-4
code/packages.sh
-4
code/packages.sh
+15
code/setup.sh
+15
code/setup.sh
···
1
+
#!/usr/bin/env bash
2
+
set -euo pipefail
3
+
4
+
DOTFILES=$(dirname "$(dirname "$(realpath "$0")")")
5
+
CODE_CONFIG_DIR="${HOME}/.config/Code/User"
6
+
CODE_FLAGS_PATH="${HOME}/.config/code-flags.conf"
7
+
8
+
paru -S --needed --noconfirm visual-studio-code-bin
9
+
10
+
mkdir -p "${CODE_CONFIG_DIR}"
11
+
12
+
ln -snf "${DOTFILES}/code/settings.json" "${CODE_CONFIG_DIR}/settings.json"
13
+
ln -snf "${DOTFILES}/code/keybindings.json" "${CODE_CONFIG_DIR}/keybindings.json"
14
+
ln -snf "${DOTFILES}/code/tasks.json" "${CODE_CONFIG_DIR}/tasks.json"
15
+
ln -snf "${DOTFILES}/code/code-flags.conf" "${CODE_FLAGS_PATH}"
+13
codex/setup.sh
+13
codex/setup.sh
···
1
+
#!/usr/bin/env bash
2
+
set -euo pipefail
3
+
4
+
DOTFILES=$(dirname "$(dirname "$(realpath "$0")")")
5
+
CODEX_DIR="${HOME}/.codex"
6
+
7
+
paru -S --needed --noconfirm openai-codex-autoup-bin
8
+
9
+
mkdir -p "${CODEX_DIR}"
10
+
11
+
ln -sf "${DOTFILES}/codex/config.toml" "${CODEX_DIR}/config.toml"
12
+
ln -sf "${DOTFILES}/codex/AGENTS.md" "${CODEX_DIR}/AGENTS.md"
13
+
ln -sfT "${DOTFILES}/codex/prompts" "${CODEX_DIR}/prompts"
-19
desktop/packages.sh
-19
desktop/packages.sh
···
1
-
#!/usr/bin/env bash
2
-
set -euo pipefail
3
-
4
-
packages=(
5
-
brave-bin
6
-
file-roller
7
-
gvfs
8
-
gvfs-mtp
9
-
mpv
10
-
ntfs-3g
11
-
thunar
12
-
tumbler
13
-
thunar-archive-plugin
14
-
catppuccin-gtk-theme-frappe
15
-
papirus-icon-theme
16
-
nwg-look
17
-
)
18
-
19
-
paru -S --needed --noconfirm "${packages[@]}"
+27
desktop/setup.sh
+27
desktop/setup.sh
···
1
+
#!/usr/bin/env bash
2
+
set -euo pipefail
3
+
4
+
DOTFILES=$(dirname "$(dirname "$(realpath "$0")")")
5
+
CONFIG_DIR="${HOME}/.config"
6
+
7
+
packages=(
8
+
brave-bin
9
+
file-roller
10
+
gvfs
11
+
gvfs-mtp
12
+
mpv
13
+
ntfs-3g
14
+
thunar
15
+
tumbler
16
+
thunar-archive-plugin
17
+
catppuccin-gtk-theme-frappe
18
+
papirus-icon-theme
19
+
nwg-look
20
+
)
21
+
22
+
paru -S --needed --noconfirm "${packages[@]}"
23
+
24
+
mkdir -p "${CONFIG_DIR}"
25
+
26
+
ln -sf "${DOTFILES}/desktop/brave-flags.conf" "${CONFIG_DIR}/brave-flags.conf"
27
+
ln -sf "${DOTFILES}/desktop/electron-flags.conf" "${CONFIG_DIR}/electron-flags.conf"
-142
fonts/local.conf
-142
fonts/local.conf
···
1
-
<?xml version='1.0'?>
2
-
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
3
-
<fontconfig>
4
-
5
-
<!-- Font rendering settings -->
6
-
<match target="font">
7
-
<edit mode="assign" name="antialias">
8
-
<bool>true</bool>
9
-
</edit>
10
-
<edit mode="assign" name="hinting">
11
-
<bool>true</bool>
12
-
</edit>
13
-
<edit mode="assign" name="hintstyle">
14
-
<const>hintslight</const>
15
-
</edit>
16
-
<edit mode="assign" name="rgba">
17
-
<const>rgb</const>
18
-
</edit>
19
-
<edit mode="assign" name="lcdfilter">
20
-
<const>lcddefault</const>
21
-
</edit>
22
-
<edit mode="assign" name="embeddedbitmap">
23
-
<bool>false</bool>
24
-
</edit>
25
-
</match>
26
-
27
-
<!-- Default font families -->
28
-
<alias>
29
-
<family>sans-serif</family>
30
-
<prefer>
31
-
<family>Inter</family>
32
-
<family>Noto Sans</family>
33
-
<family>DejaVu Sans</family>
34
-
<family>Liberation Sans</family>
35
-
</prefer>
36
-
</alias>
37
-
38
-
<alias>
39
-
<family>serif</family>
40
-
<prefer>
41
-
<family>Noto Serif</family>
42
-
<family>DejaVu Serif</family>
43
-
<family>Liberation Serif</family>
44
-
</prefer>
45
-
</alias>
46
-
47
-
<alias>
48
-
<family>monospace</family>
49
-
<prefer>
50
-
<family>JetBrainsMono Nerd Font</family>
51
-
<family>JetBrainsMono NF</family>
52
-
<family>Fira Code</family>
53
-
<family>DejaVu Sans Mono</family>
54
-
<family>Liberation Mono</family>
55
-
</prefer>
56
-
</alias>
57
-
58
-
<!-- Emoji support -->
59
-
<alias>
60
-
<family>emoji</family>
61
-
<prefer>
62
-
<family>Noto Color Emoji</family>
63
-
<family>Twemoji</family>
64
-
</prefer>
65
-
</alias>
66
-
67
-
<!-- Add emoji to all font families -->
68
-
<match target="pattern">
69
-
<test qual="any" name="family">
70
-
<string>sans-serif</string>
71
-
</test>
72
-
<edit name="family" mode="append" binding="weak">
73
-
<string>Noto Color Emoji</string>
74
-
</edit>
75
-
</match>
76
-
77
-
<match target="pattern">
78
-
<test qual="any" name="family">
79
-
<string>serif</string>
80
-
</test>
81
-
<edit name="family" mode="append" binding="weak">
82
-
<string>Noto Color Emoji</string>
83
-
</edit>
84
-
</match>
85
-
86
-
<match target="pattern">
87
-
<test qual="any" name="family">
88
-
<string>monospace</string>
89
-
</test>
90
-
<edit name="family" mode="append" binding="weak">
91
-
<string>Noto Color Emoji</string>
92
-
</edit>
93
-
</match>
94
-
95
-
<!-- Prefer color emoji -->
96
-
<match target="font">
97
-
<test name="family" compare="contains">
98
-
<string>emoji</string>
99
-
</test>
100
-
<edit name="embeddedbitmap" mode="assign">
101
-
<bool>true</bool>
102
-
</edit>
103
-
</match>
104
-
105
-
<!-- Font substitutions for common fonts -->
106
-
<match target="pattern">
107
-
<test qual="any" name="family">
108
-
<string>Arial</string>
109
-
</test>
110
-
<edit name="family" mode="assign" binding="same">
111
-
<string>sans-serif</string>
112
-
</edit>
113
-
</match>
114
-
115
-
<match target="pattern">
116
-
<test qual="any" name="family">
117
-
<string>Helvetica</string>
118
-
</test>
119
-
<edit name="family" mode="assign" binding="same">
120
-
<string>sans-serif</string>
121
-
</edit>
122
-
</match>
123
-
124
-
<match target="pattern">
125
-
<test qual="any" name="family">
126
-
<string>Times New Roman</string>
127
-
</test>
128
-
<edit name="family" mode="assign" binding="same">
129
-
<string>serif</string>
130
-
</edit>
131
-
</match>
132
-
133
-
<match target="pattern">
134
-
<test qual="any" name="family">
135
-
<string>Courier New</string>
136
-
</test>
137
-
<edit name="family" mode="assign" binding="same">
138
-
<string>monospace</string>
139
-
</edit>
140
-
</match>
141
-
142
-
</fontconfig>
fonts/packages.sh
fonts/setup.sh
fonts/packages.sh
fonts/setup.sh
+22
hypr/setup.sh
+22
hypr/setup.sh
···
1
1
#!/usr/bin/env bash
2
2
set -euo pipefail
3
3
4
+
DOTFILES=$(dirname "$(dirname "$(realpath "$0")")")
5
+
HYPR_CONFIG_DIR="${HOME}/.config/hypr"
6
+
WAYBAR_CONFIG_DIR="${HOME}/.config/waybar"
7
+
MAKO_CONFIG_DIR="${HOME}/.config/mako"
8
+
FUZZEL_CONFIG_DIR="${HOME}/.config/fuzzel"
9
+
PICTURES_DIR="${HOME}/Pictures"
10
+
4
11
packages=(
5
12
bemoji
6
13
cliphist
···
36
43
if ! systemctl --user is-active --quiet hyprpolkitagent.service; then
37
44
systemctl --user enable --now hyprpolkitagent.service
38
45
fi
46
+
47
+
mkdir -p "${HYPR_CONFIG_DIR}" "${WAYBAR_CONFIG_DIR}" "${MAKO_CONFIG_DIR}" "${FUZZEL_CONFIG_DIR}" "${PICTURES_DIR}"
48
+
49
+
ln -sf "${DOTFILES}/hypr/wallpaper.png" "${PICTURES_DIR}/wallpaper.png"
50
+
ln -sf "${DOTFILES}/hypr/frappe.conf" "${HYPR_CONFIG_DIR}/frappe.conf"
51
+
ln -sf "${DOTFILES}/hypr/hyprland.conf" "${HYPR_CONFIG_DIR}/hyprland.conf"
52
+
ln -sf "${DOTFILES}/hypr/hyprpaper.conf" "${HYPR_CONFIG_DIR}/hyprpaper.conf"
53
+
ln -sf "${DOTFILES}/hypr/hypridle.conf" "${HYPR_CONFIG_DIR}/hypridle.conf"
54
+
ln -sf "${DOTFILES}/hypr/hyprlock.conf" "${HYPR_CONFIG_DIR}/hyprlock.conf"
55
+
ln -sf "${DOTFILES}/hypr/xdph.conf" "${HYPR_CONFIG_DIR}/xdph.conf"
56
+
ln -sf "${DOTFILES}/hypr/waybar/config.jsonc" "${WAYBAR_CONFIG_DIR}/config"
57
+
ln -sf "${DOTFILES}/hypr/waybar/style.css" "${WAYBAR_CONFIG_DIR}/style.css"
58
+
ln -sf "${DOTFILES}/hypr/waybar/frappe.css" "${WAYBAR_CONFIG_DIR}/frappe.css"
59
+
ln -sf "${DOTFILES}/hypr/mako/config" "${MAKO_CONFIG_DIR}/config"
60
+
ln -sf "${DOTFILES}/hypr/fuzzel/fuzzel.ini" "${FUZZEL_CONFIG_DIR}/fuzzel.ini"
+6
-1
system/setup.sh
+6
-1
system/setup.sh
···
1
1
#!/usr/bin/env bash
2
2
set -euo pipefail
3
3
4
+
DOTFILES=$(dirname "$(dirname "$(realpath "$0")")")
5
+
4
6
packages=(
5
7
bind
6
8
blueman
···
23
25
xdg-user-dirs
24
26
)
25
27
26
-
# Install Hyprland and related packages
28
+
# Install system packages
27
29
paru -S --needed --noconfirm "${packages[@]}"
30
+
31
+
sudo rm -f /etc/sysctl.d/99-swappiness.conf
32
+
sudo cp "${DOTFILES}/system/99-swappiness.conf" /etc/sysctl.d/99-swappiness.conf
28
33
29
34
# Network Manager
30
35
if ! systemctl is-enabled --quiet NetworkManager.service; then
terminal/packages.sh
terminal/setup.sh
terminal/packages.sh
terminal/setup.sh