summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.Xmodmap (renamed from .config/emacs/exwm/Xmodmap)0
-rw-r--r--.config/guix/machines/base.scm27
-rw-r--r--.config/guix/systems/base-system.scm (renamed from .config/guix/machines/base-system.scm)24
-rw-r--r--.config/guix/systems/viking.scm (renamed from .config/guix/machines/viking.scm)4
l---------.xsession1
-rw-r--r--Desktop.org (renamed from EXWM.org)90
-rw-r--r--Mail.org (renamed from Mu4e.org)6
-rw-r--r--Qtile.org297
8 files changed, 102 insertions, 347 deletions
diff --git a/.config/emacs/exwm/Xmodmap b/.Xmodmap
index cb4706f..cb4706f 100644
--- a/.config/emacs/exwm/Xmodmap
+++ b/.Xmodmap
diff --git a/.config/guix/machines/base.scm b/.config/guix/machines/base.scm
deleted file mode 100644
index 20c49f4..0000000
--- a/.config/guix/machines/base.scm
+++ /dev/null
@@ -1,27 +0,0 @@
1(define-module (base)
2 #:use-module (gnu)
3 #:use-module (gnu system nss)
4 #:use-module (gnu services pm)
5 #:use-module (gnu services desktop)
6 #:use-module (gnu services docker)
7 #:use-module (gnu services networking)
8 #:use-module (gnu services virtualization)
9 #:use-module (gnu packages wm)
10 #:use-module (gnu packages vim)
11 #:use-module (gnu packages gtk)
12 #:use-module (gnu packages xorg)
13 #:use-module (gnu packages emacs)
14 #:use-module (gnu packages file-systems)
15 #:use-module (gnu packages linux)
16 #:use-module (gnu packages audio)
17 #:use-module (gnu packages pulseaudio)
18 #:use-module (gnu packages web-browsers)
19 #:use-module (gnu packages version-control)
20 #:use-module (gnu packages package-management)
21 #:use-module (nongnu packages linux)
22 #:use-module (nongnu system linux-initrd))
23
24
25(use-service-modules desktop xorg)
26(use-package-modules certs)
27(use-package-modules shells)
diff --git a/.config/guix/machines/base-system.scm b/.config/guix/systems/base-system.scm
index a294aca..7c67fad 100644
--- a/.config/guix/machines/base-system.scm
+++ b/.config/guix/systems/base-system.scm
@@ -1,21 +1,17 @@
1(define-module (base-system) 1(define-module (base-system)
2 #:use-module (gnu) 2 #:use-module (gnu)
3 #:use-module (gnu system nss)
4 #:use-module (gnu services pm) 3 #:use-module (gnu services pm)
5 #:use-module (gnu services desktop)
6 #:use-module (gnu services docker) 4 #:use-module (gnu services docker)
7 #:use-module (gnu services networking) 5 #:use-module (gnu services networking)
8 #:use-module (gnu services virtualization) 6 #:use-module (gnu services virtualization) ; todo make
9 #:use-module (gnu packages wm)
10 #:use-module (gnu packages vim) 7 #:use-module (gnu packages vim)
11 #:use-module (gnu packages gtk) 8 #:use-module (gnu services desktop)
12 #:use-module (gnu packages xorg) 9 #:use-module (gnu packages xorg)
13 #:use-module (gnu packages emacs) 10 #:use-module (gnu packages emacs)
14 #:use-module (gnu packages file-systems) 11 #:use-module (gnu packages file-systems)
15 #:use-module (gnu packages linux) 12 #:use-module (gnu packages linux)
16 #:use-module (gnu packages audio) 13 #:use-module (gnu packages audio)
17 #:use-module (gnu packages pulseaudio) 14 #:use-module (gnu packages pulseaudio)
18 #:use-module (gnu packages web-browsers)
19 #:use-module (gnu packages version-control) 15 #:use-module (gnu packages version-control)
20 #:use-module (gnu packages package-management)) 16 #:use-module (gnu packages package-management))
21 ; #:use-module (nongnu packages linux) 17 ; #:use-module (nongnu packages linux)
@@ -30,6 +26,7 @@
30 (host-name "base") 26 (host-name "base")
31 (timezone "Europe/Warsaw") 27 (timezone "Europe/Warsaw")
32 (locale "en_US.utf8") 28 (locale "en_US.utf8")
29 (keyboard-layout (keyboard-layout "pl"))
33 30
34 ;; Use non-free Linux and firmware 31 ;; Use non-free Linux and firmware
35 ;; (kernel linux) 32 ;; (kernel linux)
@@ -82,6 +79,7 @@
82 bluez-alsa 79 bluez-alsa
83 pulseaudio 80 pulseaudio
84 tlp 81 tlp
82 ncurses
85 xf86-input-libinput 83 xf86-input-libinput
86 nss-certs) ;; For https connection 84 nss-certs) ;; For https connection
87 %base-packages)) 85 %base-packages))
@@ -91,14 +89,26 @@
91 (services 89 (services
92 (append 90 (append
93 (list 91 (list
92
94 (service elogind-service-type) 93 (service elogind-service-type)
95 (service openssh-service-type) 94 (service openssh-service-type)
96 (service network-manager-service-type) 95 (service network-manager-service-type)
97 (service slim-service-type) 96 (service slim-service-type)
98 (service tlp-service-type) 97 (service tlp-service-type
98 (tlp-configuration
99 (cpu-boost-on-ac? #t)
100 (wifi-pwr-on-bat? #t)))
99 (bluetooth-service #:auto-enable? #t) 101 (bluetooth-service #:auto-enable? #t)
100 (service docker-service-type) 102 (service docker-service-type)
101 (service wpa-supplicant-service-type)) 103 (service wpa-supplicant-service-type))
104 (service libvirt-service-type
105 (libvirt-configuration
106 (unix-sock-group "libvirt")
107 (tls-port "16555")))
108 (set-xorg-configuration
109 (xorg-configuration
110 (keyboard-layout keyboard-layout)))
111
102 %base-services)) 112 %base-services))
103 113
104 ;; Allow resolution of '.local' host names with mDNS 114 ;; Allow resolution of '.local' host names with mDNS
diff --git a/.config/guix/machines/viking.scm b/.config/guix/systems/viking.scm
index 0e1d4a9..00b279e 100644
--- a/.config/guix/machines/viking.scm
+++ b/.config/guix/systems/viking.scm
@@ -1,13 +1,11 @@
1(define-module (viking) 1(define-module (viking)
2 #:use-module (base-system) 2 #:use-module (base-system)
3 #:use-module (gnu)) 3 #:use-module (gnu))
4(use-modules (base-system)) 4
5(operating-system 5(operating-system
6 (inherit base-operating-system) 6 (inherit base-operating-system)
7 (host-name "viking") 7 (host-name "viking")
8 8
9 (keyboard-layout (keyboard-layout "pl"))
10
11 (bootloader 9 (bootloader
12 (bootloader-configuration 10 (bootloader-configuration
13 (bootloader grub-bootloader) 11 (bootloader grub-bootloader)
diff --git a/.xsession b/.xsession
new file mode 120000
index 0000000..65c5daf
--- /dev/null
+++ b/.xsession
@@ -0,0 +1 @@
.config/emacs/exwm/start.sh \ No newline at end of file
diff --git a/EXWM.org b/Desktop.org
index 61f2534..e50ef77 100644
--- a/EXWM.org
+++ b/Desktop.org
@@ -4,6 +4,7 @@
4 4
5 5
6* EXWM 6* EXWM
7** Config
7 8
8#+begin_src emacs-lisp 9#+begin_src emacs-lisp
9 10
@@ -43,7 +44,7 @@
43 (add-hook 'exwm-update-title-hook #'jd-exwm/exwm-update-title) 44 (add-hook 'exwm-update-title-hook #'jd-exwm/exwm-update-title)
44 (add-hook 'exwm-manage-finish-hook #'jd-exwm/configure-window-by-class) 45 (add-hook 'exwm-manage-finish-hook #'jd-exwm/configure-window-by-class)
45 46
46 (start-process-shell-command "xmodmap" nil "xmodmap ~/.config/emacs/exwm/Xmodmap") 47 (start-process-shell-command "xmodmap" nil "xmodmap ~/dotfiles/.Xmodmap")
47 (start-process-shell-command "nitrogen" nil "nitrogen --restore") 48 (start-process-shell-command "nitrogen" nil "nitrogen --restore")
48 (start-process-shell-command "xinput" nil "xinput set-prop 11 336 1") 49 (start-process-shell-command "xinput" nil "xinput set-prop 11 336 1")
49 50
@@ -95,8 +96,7 @@
95 (exwm-enable)) 96 (exwm-enable))
96 97
97#+end_src 98#+end_src
98 99** Desktop mode
99* Desktop mode
100 100
101#+begin_src emacs-lisp 101#+begin_src emacs-lisp
102 102
@@ -111,7 +111,7 @@
111 111
112#+end_src 112#+end_src
113 113
114* Transparency 114** Transparency
115 115
116#+begin_src emacs-lisp 116#+begin_src emacs-lisp
117 117
@@ -122,8 +122,7 @@
122 122
123#+end_src 123#+end_src
124 124
125 125** Start emacs
126* Start emacs
127 126
128#+begin_src sh :tangle ~/.config/emacs/exwm/start.sh 127#+begin_src sh :tangle ~/.config/emacs/exwm/start.sh
129 #!/bin/sh 128 #!/bin/sh
@@ -139,11 +138,86 @@
139 138
140#+end_src 139#+end_src
141 140
142* Xmodmap
143 141
144#+begin_src sh :tangle ~/.config/emacs/exwm/Xmodmap 142* Applications
143** Flatpak
144
145*Applications to Install*
146
147#+begin_src sh
148
149flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
150flatpak install --user flathub com.spotify.Client
151flatpak install --user flathub com.valvesoftware.Steam
152flatpak install --user flathub com.microsoft.Teams
153flatpak install --user flathub com.discordapp.Discord
154
155#+end_src
156
157*Guix Packages*
158
159#+begin_src scheme :noweb-ref packages :noweb-sep ""
160
161"flatpak"
162
163#+end_src
164
165** Audio control
166
167*Guix Packages*
168
169#+begin_src scheme :noweb-ref packages :noweb-sep ""
170
171"pulsemixer"
172
173#+end_src
174
175** Bluetooth
176
177*Guix Packages*
178
179#+begin_src scheme :noweb-ref packages :noweb-sep ""
180
181 "blueman"
182
183#+end_src
184
185** Xorg
186
187*Xmodmap*
188
189#+begin_src sh :tangle .Xmodmap
145 190
146clear lock 191clear lock
147keycode 0x42 = Escape 192keycode 0x42 = Escape
148 193
149#+end_src 194#+end_src
195
196*Guix Packages*
197
198#+begin_src scheme :noweb-ref packages :noweb-sep ""
199
200 "xev"
201 "xset"
202 "xrdb"
203 "xhost"
204 "xmodmap"
205 "setxkbmap"
206 "xrandr"
207 "arandr"
208 "xss-lock"
209 "libinput"
210 "xinput"
211
212#+end_src
213
214** Desktop Profile
215
216#+begin_src scheme :tangle .config/guix/manifests/desktop.scm :noweb yes
217
218(specifications->manifest
219 '(
220 <<packages>>
221))
222
223#+end_src
diff --git a/Mu4e.org b/Mail.org
index 21ad1b7..d946108 100644
--- a/Mu4e.org
+++ b/Mail.org
@@ -4,11 +4,7 @@
4* jd-mu4e.el 4* jd-mu4e.el
5#+begin_src emacs-lisp 5#+begin_src emacs-lisp
6 6
7 (add-to-list 'load-path "/usr/share/emacs/site-lisp/mu4e") 7 (use-package org-msg)
8
9
10 (use-package org-msg
11 :ensure t)
12 8
13 (use-package mu4e 9 (use-package mu4e
14 :defer 20 10 :defer 20
diff --git a/Qtile.org b/Qtile.org
deleted file mode 100644
index 132bbe5..0000000
--- a/Qtile.org
+++ /dev/null
@@ -1,297 +0,0 @@
1#+title: Config
2#+PROPERTY: header-args:python :tangle .config/qtile/config.py
3#+OPTIONS: TOC:3
4
5* Table of contents :TOC:
6- [[#config][Config]]
7 - [[#imports][Imports]]
8 - [[#defining-const-variables][Defining const variables]]
9 - [[#startup-script-executor][Startup script executor]]
10 - [[#defining-keybinds][Defining keybinds]]
11 - [[#layouts][Layouts]]
12 - [[#bar][Bar]]
13 - [[#other-settings][Other settings]]
14
15* Config
16** Imports
17#+begin_src python
18import os
19import subprocess
20
21from typing import List
22
23from libqtile import bar, layout, widget
24from libqtile.config import Click, Drag, Group, Key, Match, Screen, KeyChord
25from libqtile import extension
26from libqtile.lazy import lazy
27from libqtile.utils import guess_terminal
28from libqtile import hook
29#+end_src
30
31** Defining const variables
32*** Mod key
33#+begin_src python
34MOD = "mod4"
35#+end_src
36
37*** Default terminal
38#+begin_src python
39TERMINAL = guess_terminal()
40#+end_src
41
42*** Dmenu flags
43#+begin_src python
44DMENU_FLAGS = '-l 16 -p run -c -i'
45#+end_src
46
47*** Color scheme
48#+begin_src python
49BAR = '#282a36'
50LIGHT_BAR = '#393b37'
51YELLOW = '#f1fa8c'
52RED = '#ff5555'
53LIGHT_RED = '#ff9999'
54GREEN = '#50fa7b'
55CYAN = '#8be9fd'
56LIGHT_CYAN = '#abfbff'
57#+end_src
58
59** Startup script executor
60#+begin_src python
61@hook.subscribe.startup_once
62def autostart():
63 home = os.path.expanduser('~/.config/qtile/autorc')
64 subprocess.run([home])
65#+end_src
66
67** Defining keybinds
68*** Default
69#+begin_src python
70keys = [
71 Key([MOD], "h", lazy.layout.left(), desc="Move focus to left"),
72 Key([MOD], "l", lazy.layout.right(), desc="Move focus to right"),
73 Key([MOD], "j", lazy.layout.down(), desc="Move focus down"),
74 Key([MOD], "k", lazy.layout.up(), desc="Move focus up"),
75 Key([MOD], "s", lazy.next_screen() ),
76 Key([MOD], "space", lazy.window.toggle_floating(),
77 desc="Move window focus to other window"),
78
79 Key([MOD, "shift"], "h", lazy.layout.shuffle_left(),
80 desc="Move window to the left"),
81 Key([MOD, "shift"], "l", lazy.layout.shuffle_right(),
82 desc="Move window to the right"),
83 Key([MOD, "shift"], "j", lazy.layout.shuffle_down(),
84 desc="Move window down"),
85 Key([MOD, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
86
87 Key([MOD, "control"], "h", lazy.layout.grow_left(),
88 desc="Grow window to the left"),
89 Key([MOD, "control"], "l", lazy.layout.grow_right(),
90 desc="Grow window to the right"),
91 Key([MOD, "control"], "j", lazy.layout.grow_down(),
92 desc="Grow window down"),
93 Key([MOD, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
94 Key([MOD], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
95
96 Key([MOD, "shift"], "Return", lazy.layout.toggle_split(),
97 desc="Toggle between split and unsplit sides of stack"),
98 Key([MOD], "Return", lazy.spawn(TERMINAL), desc="Launch terminal"),
99
100 Key([MOD], "Tab", lazy.next_layout(), desc="Toggle between layouts"),
101 Key([MOD], "c", lazy.window.kill(), desc="Kill focused window"),
102
103 Key([MOD, "control"], "r", lazy.restart(), desc="Restart Qtile"),
104 Key([MOD, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
105
106 Key([MOD], "F12", os.system("xbacklight -inc 10"), desc="Inc backlight"),
107 Key([MOD], "F11", os.system("xbacklight -dec 10"), desc="Dec backlight"),
108
109 Key([MOD], "r", lazy.spawncmd(),
110 desc="Spawn a command using a prompt widget"),
111
112 KeyChord([MOD], "p", [
113 Key([], "p", lazy.spawn(f"dmenu_run {DMENU_FLAGS}"), desc="Spawn dmenu run"),
114 Key([], "n", lazy.spawn(f"networkmanager_dmenu {DMENU_FLAGS}"), desc="Spawn dmenu for network manager"),
115 ]),
116
117 Key([MOD, "mod1"], "q", lazy.spawn("qutebrowser"), desc="Spawn qutebrowser"),
118 Key([MOD, "mod1"], "b", lazy.spawn("brave"), desc="Spawn brave"),
119 Key([MOD, "mod1"], "f", lazy.spawn("firefox"), desc="Spawn firefox"),
120
121 KeyChord([MOD], "e", [
122 Key([], "e", lazy.spawn("emacsclient -c -a 'emacs'"), desc="Spawn Emacsclient"),
123 Key([], "d", lazy.spawn("emacsclient -c -a 'emacs' --eval '(dired nil)'"), desc='Emacsclient Dired'),
124 Key([], "m", lazy.spawn("emacsclient -c -a 'emacs' --eval '(emms-browser)'"), desc='Emacsclient Dired'),
125 ]),
126
127 Key([MOD, "mod1"], "s", lazy.spawn("alacritty -e spt"), desc="Spawn spt (spotify clent)"),
128 Key([MOD, "mod1"], "l", lazy.spawn("slock"), desc="lock desktop"),
129 Key([MOD, "mod1"], "r", lazy.spawn("alacritty -e ranger"), desc="Spawn ranger (file manager)"),
130 Key([MOD, "mod1"], "p", lazy.spawn("alacritty -e pulsemixer"), desc="Spawn pulsemixer"),
131]
132
133groups_names = [
134 "dev",
135 "www",
136 "music",
137 "virt",
138 "sys",
139 "other"
140]
141
142groups = [Group(i) for i in groups_names]
143for i, group in enumerate(groups):
144 keys.extend([
145 Key([MOD], str(i+1), lazy.group[group.name].toscreen(),
146 desc="Switch to group {}".format(group.name)),
147
148 Key([MOD, "shift"], str(i+1), lazy.window.togroup(group.name, switch_group=True),
149 desc="Switch to & move focused window to group {}".format(group.name)),
150 ])
151#+end_src
152
153*** Mouse
154#+begin_src python
155mouse = [
156 Drag([MOD], "Button1", lazy.window.set_position_floating(),
157 start=lazy.window.get_position()),
158 Drag([MOD], "Button3", lazy.window.set_size_floating(),
159 start=lazy.window.get_size()),
160 Click([MOD], "Button2", lazy.window.bring_to_front())
161]
162#+end_src
163
164** Layouts
165*** Defining layout default properties
166#+begin_src python
167layout_cfg = {
168 'border_width': 2,
169 'border_normal': "#bb8888",
170 'border_focus': "884444",
171 'margin': 8
172}
173#+end_src
174
175*** Defining layouts
176#+begin_src python
177layouts = [
178 # layout.Columns(**layout_cfg),
179 # layout.Max(),
180 layout.Stack(num_stacks=1, **layout_cfg),
181 # layout.Bsp(),
182 # layout.Matrix(),
183 layout.MonadTall(**layout_cfg),
184 # layout.MonadWide(),
185 # layout.RatioTile(),
186 # layout.Tile(),
187 # layout.TreeTab(),
188 # layout.VerticalTile(),
189 # layout.Zoomy(),
190]
191#+end_src
192
193** Bar
194*** Defining bar widgets properties
195**** Default
196#+begin_src python
197widget_defaults = dict(
198 font='sans',
199 fontsize=12,
200 padding=6,
201)
202#+end_src
203
204**** Transparent separator
205#+begin_src python
206transparent_sep = {
207 'foreground': BAR,
208 'margin': 2
209}
210#+end_src
211
212**** Soft separator
213#+begin_src python
214soft_sep = {
215 'foreground': '44475a',
216 'padding': 2,
217 'margin': 4
218}
219#+end_src
220
221*** Bar
222#+begin_src python
223screens = [
224 Screen(
225 top=bar.Bar(
226 [
227 widget.Sep(**transparent_sep),
228 widget.Image(filename="~/.config/qtile/python.png", margin=4),
229 widget.Sep(**transparent_sep),
230 widget.CurrentLayout(),
231 widget.Sep(**transparent_sep),
232 widget.GroupBox(
233 margin_y = 3,
234 margin_x = 0,
235 padding_y = 5,
236 padding_x = 3,
237 borderwidth = 3,
238 rounded = False,
239 highlight_color = LIGHT_BAR,
240 highlight_method = "line",
241 this_current_screen_border = CYAN,
242 this_screen_border = CYAN,
243 other_current_screen_border = LIGHT_BAR,
244 other_screen_border = LIGHT_BAR,
245 ),
246 widget.Prompt(),
247 widget.Sep(**transparent_sep),
248 widget.WindowName(),
249 widget.Net(format="🌐 ↓{down} ↑{up}", foreground=YELLOW),
250 widget.Sep(**soft_sep),
251 widget.CPU(format='💻 {load_percent}%', fontsize=12, foreground=RED),
252 widget.Sep(**soft_sep),
253 widget.Battery(format='🔋 {char} {percent:2.0%} {hour:d}:{min:02d} {watt:.2f} W', foreground=GREEN),
254 widget.Sep(**soft_sep),
255 widget.Clock(format='📅 %B %-d, %H:%M', foreground=CYAN),
256 widget.Sep(**soft_sep),
257 widget.CurrentScreen(),
258 widget.Sep(**soft_sep),
259 widget.Systray()
260 ],
261 24,
262 margin=8,
263 background=BAR,
264 border_color=CYAN,
265 border_width=1
266 ),
267 ),
268]
269#+end_src
270
271** Other settings
272#+begin_src python
273floating_layout = layout.Floating(float_rules=[
274 # Run the utility of `xprop` to see the wm class and name of an X client.
275 ,*layout.Floating.default_float_rules,
276 Match(wm_class='confirmreset'), # gitk
277 Match(wm_class='makebranch'), # gitk
278 Match(wm_class='maketag'), # gitk
279 Match(wm_class='ssh-askpass'), # ssh-askpass
280 Match(title='branchdialog'), # gitk
281 Match(title='pinentry'), # GPG key password entry
282])
283
284dgroups_key_binder = None
285dgroups_app_rules = []
286
287follow_mouse_focus = True
288bring_front_click = False
289cursor_warp = False
290auto_fullscreen = True
291focus_on_window_activation = "smart"
292reconfigure_screens = True
293
294auto_minimize = True
295
296wmname = "LG3D"
297#+end_src