-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.gnome
133 lines (115 loc) · 5.82 KB
/
Makefile.gnome
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
# vim: filetype=make
# This file is responsible for install GNOME-specific software and
# configurations.
#
# This file has four logical phases:
#
# 1. prepare: installs dependencies for GNOME customization
# 2. install: installs GNOME extensions with default configurations
# 3. compile-schemas: copies configs to system directory and compiles them
# 4. configure: applies GNOME customizations and hotkeys
#
# To add a new extension, add an <extension-name> goal and if needed an
# <extention-name>-configure goal below the handlers section in alphabetical
# order. Lastly, add your new goals to `install` and `configure` respectively.
.ONESHELL:
SHELL := /bin/bash
.SHELLFLAGS := $(DOTSHELLFLAGS)
BASH_ENV := $(BASH_ENV)
DOTFILE_DIR := $(DOTFILE_DIR)
OS := $(OS)
all: prepare install compile-schemas configure
prepare:
sudo apt-get install --yes pipx
pipx install gnome-extensions-cli --system-site-packages
sudo apt-get install --yes gnome-shell-extension-manager
LOG_WARNING "You will need to manually confirm each GNOME extension install..."
.PHONY: prepare
install: blur-my-shell just-perfection tactile
configure: blur-my-shell-configure gnome-configure hotkeys-configure just-perfection-configure \
tactile-configure
.PHONY: configure
# handlers start
compile-schemas:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
.PHONY: compile-schemas
# handlers final
blur-my-shell:
gext install blur-my-shell@aunetx
sudo cp --no-clobber \
$(HOME)/.local/share/gnome-shell/extensions/blur-my-shell\@aunetx/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml \
/usr/share/glib-2.0/schemas/
.PHONY: blur-my-shell
blur-my-shell-configure:
LOG_INFO "Configuring 'blur-my-shell' settings"
gsettings set org.gnome.shell.extensions.blur-my-shell.appfolder blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.lockscreen blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.screenshot blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.window-list blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.panel blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.overview blur true
# gsettings set org.gnome.shell.extensions.blur-my-shell.overview pipeline 'pipeline_default'
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock blur true
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock brightness 0.6
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock sigma 30
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock static-blur true
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock style-dash-to-dock 0
.PHONY: blur-my-shell-configure
gnome-configure:
# center newly created windows
gsettings set org.gnome.mutter center-new-windows true
gsettings set org.gnome.desktop.interface monospace-font-name 'PragmataPro Liga 10'
# show week numbers in gnome calender widget
gsettings set org.gnome.desktop.calendar show-weekdate true
.PHONY: gnome-configure
hotkeys-configure:
LOG_INFO "Setting GNOME hotkeys"
# unset dash-to-dock
gsettings set org.gnome.shell.extensions.dash-to-dock hot-keys false
# unset favorite applications
gsettings set org.gnome.shell.keybindings switch-to-application-1 "[]"
gsettings set org.gnome.shell.keybindings switch-to-application-2 "[]"
gsettings set org.gnome.shell.keybindings switch-to-application-3 "[]"
gsettings set org.gnome.shell.keybindings switch-to-application-4 "[]"
gsettings set org.gnome.shell.keybindings switch-to-application-5 "[]"
# window management
gsettings set org.gnome.desktop.wm.keybindings always-on-top "['<Ctrl><Alt><Shift><Super>t']"
# workspace navigation
gsettings set org.gnome.mutter dynamic-workspaces false
gsettings set org.gnome.desktop.wm.preferences num-workspaces 5
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>1']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['<Super>2']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['<Super>3']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['<Super>4']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Super>5']"
# only show windows and apps for active workspace
gsettings set org.gnome.shell.window-switcher current-workspace-only true
gsettings set org.gnome.shell.app-switcher current-workspace-only true
# move windows to workspace
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 "['<Super><Shift>1']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 "['<Super><Shift>2']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 "['<Super><Shift>3']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 "['<Super><Shift>4']"
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 "['<Super><Shift>5']"
.PHONY: hotkeys-configure
just-perfection:
gext install just-perfection-desktop@just-perfection
sudo cp --no-clobber \
$(HOME)/.local/share/gnome-shell/extensions/just-perfection-desktop@just-perfection/schemas/org.gnome.shell.extensions.just-perfection.gschema.xml \
/usr/share/glib-2.0/schemas/
.PHONY: just-perfection
just-perfection-configure: just-perfection
LOG_INFO "Configuring 'just-perfection' settings"
gsettings set org.gnome.shell.extensions.just-perfection animation 2
.PHONY: just-perfection-configure
tactile:
gext install tactile@lundal.io
sudo cp --no-clobber \
$(HOME)/.local/share/gnome-shell/extensions/tactile@lundal.io/schemas/org.gnome.shell.extensions.tactile.gschema.xml \
/usr/share/glib-2.0/schemas/
.PHONY: tactile
tactile-configure: tactile
LOG_INFO "Configuring 'tactile' settings."
gsettings set org.gnome.shell.extensions.tactile show-tiles "['<Alt>t']"
gsettings set org.gnome.shell.extensions.tactile gap-size 4
.PHONY: tactile-config