chore: switch to cwm and kitty 4ed2b147
Steve · 2026-10-11 20:06 5 file(s) · +197 −4
config.scm +4 −4
3 3
(use-package-modules bootloaders wm window-management text-editors fonts
4 4
                     terminals version-control ncurses gnuzilla xdisorg admin
5 5
                     xorg compton lxde ssh golang docker containers rsync emacs base
6 -
                     shells)
6 +
                     shells image-viewers)
7 7
8 8
(operating-system
9 9
  (host-name "benson")
38 38
39 39
  (packages (append (list
40 40
                     ;; window managers
41 -
                     qtile rofi
41 +
                     qtile cwm rofi
42 42
                     ;; xorg stuff
43 -
                     xorg-server xinit xwallpaper xset xrandr
43 +
                     xorg-server xinit xwallpaper xset xrandr feh
44 44
                     ;; text editor
45 45
                     vis emacs
46 46
                     ;; browser
47 47
                     icecat
48 48
                     ;; terminal emulator
49 -
                     alacritty
49 +
                     alacritty kitty
50 50
                     ;; utils
51 51
                     git btop ncurses openssh rsync fastfetch
52 52
                     ;; dev
cwm/cwmrc (added) +121 −0
1 +
# ~/.cwmrc -- Darkmatter
2 +
# Palette matches the Darkmatter GTK theme, kitty, and emacs themes.
3 +
# Modifier prefixes: C=Control M=Alt S=Shift 4=Super. Super is Mod4, so
4 +
# bindings are written "4-", not "M-". Combine modifiers before one dash: "4S-q".
5 +
6 +
fontname "BerkeleyMono Nerd Font Mono:pixelsize=16"
7 +
borderwidth 0
8 +
gap 12 12 12 12
9 +
snapdist 8
10 +
sticky yes
11 +
12 +
# Darkmatter
13 +
color activeborder   "#5f8787"
14 +
color inactiveborder "#333333"
15 +
color urgencyborder  "#e75353"
16 +
color groupborder    "#fbcb97"
17 +
color ungroupborder  "#e78a53"
18 +
# Menus: background, text, selected-item highlight and its text
19 +
color menubg  "#121113"
20 +
color font    "#c1c1c1"
21 +
color menufg  "#e78a53"
22 +
color selfont "#121113"
23 +
24 +
# Applications (shown in the M-? application menu)
25 +
command term  kitty
26 +
command emacs emacs
27 +
command icecat icecat
28 +
command btop  "kitty btop"
29 +
30 +
# Start with a clean slate; only the bindings below are active
31 +
unbind-key  all
32 +
unbind-mouse all
33 +
34 +
# Launchers
35 +
bind-key 4-Return terminal
36 +
bind-key 4-d      "rofi -show drun"
37 +
bind-key 4-space  menu-exec
38 +
bind-key 4-slash  menu-cmd
39 +
bind-key 4-Tab    menu-window
40 +
41 +
# Window actions
42 +
bind-key 4-w      window-close
43 +
bind-key 4-f      window-fullscreen
44 +
bind-key 4-m      window-maximize
45 +
bind-key 4S-m     window-vmaximize
46 +
bind-key 4-n      window-hide
47 +
bind-key 4-s      window-stick
48 +
bind-key 4-r      window-raise
49 +
bind-key 4S-r     window-lower
50 +
bind-key 4-t      window-htile
51 +
bind-key 4-v      window-vtile
52 +
53 +
# Focus
54 +
bind-key 4-j      window-cycle
55 +
bind-key 4-k      window-rcycle
56 +
bind-key M-Tab    window-cycle
57 +
bind-key MS-Tab   window-rcycle
58 +
59 +
# Move (Super+Shift) and resize (Super+Control) with vim keys
60 +
bind-key 4S-h     window-move-left-big
61 +
bind-key 4S-j     window-move-down-big
62 +
bind-key 4S-k     window-move-up-big
63 +
bind-key 4S-l     window-move-right-big
64 +
bind-key 4C-h     window-resize-left-big
65 +
bind-key 4C-j     window-resize-down-big
66 +
bind-key 4C-k     window-resize-up-big
67 +
bind-key 4C-l     window-resize-right-big
68 +
69 +
# Snap to screen edges
70 +
bind-key 4M-h     window-snap-left
71 +
bind-key 4M-j     window-snap-down
72 +
bind-key 4M-k     window-snap-up
73 +
bind-key 4M-l     window-snap-right
74 +
75 +
# Groups: Super+N shows only group N, Super+Shift+N sends the window there,
76 +
# Super+Control+N toggles group N on top of what is shown
77 +
bind-key 4-1 group-only-1
78 +
bind-key 4-2 group-only-2
79 +
bind-key 4-3 group-only-3
80 +
bind-key 4-4 group-only-4
81 +
bind-key 4-5 group-only-5
82 +
bind-key 4-6 group-only-6
83 +
bind-key 4-7 group-only-7
84 +
bind-key 4-8 group-only-8
85 +
bind-key 4-9 group-only-9
86 +
bind-key 4S-1 window-movetogroup-1
87 +
bind-key 4S-2 window-movetogroup-2
88 +
bind-key 4S-3 window-movetogroup-3
89 +
bind-key 4S-4 window-movetogroup-4
90 +
bind-key 4S-5 window-movetogroup-5
91 +
bind-key 4S-6 window-movetogroup-6
92 +
bind-key 4S-7 window-movetogroup-7
93 +
bind-key 4S-8 window-movetogroup-8
94 +
bind-key 4S-9 window-movetogroup-9
95 +
bind-key 4C-1 group-toggle-1
96 +
bind-key 4C-2 group-toggle-2
97 +
bind-key 4C-3 group-toggle-3
98 +
bind-key 4C-4 group-toggle-4
99 +
bind-key 4C-5 group-toggle-5
100 +
bind-key 4C-6 group-toggle-6
101 +
bind-key 4C-7 group-toggle-7
102 +
bind-key 4C-8 group-toggle-8
103 +
bind-key 4C-9 group-toggle-9
104 +
bind-key 4-0     group-toggle-all
105 +
bind-key 4-grave group-last
106 +
bind-key 4-g     window-group
107 +
108 +
# Window manager
109 +
bind-key 4S-Escape restart
110 +
bind-key 4S-q     quit
111 +
112 +
# Mouse: Super+drag to move/resize, Super+middle to lower
113 +
bind-mouse 4-1 window-move
114 +
bind-mouse 4-3 window-resize
115 +
bind-mouse 4-2 window-lower
116 +
# Clicks on the empty desktop
117 +
bind-mouse 1 menu-window
118 +
bind-mouse 3 menu-cmd
119 +
120 +
# Pin apps to a group: autogroup <group> "instance,class" (see xprop WM_CLASS)
121 +
# autogroup 2 "Navigator,firefox"
home.scm +3 −0
41 41
     (service home-files-service-type
42 42
              `((".guile" ,%default-dotguile)
43 43
                (".Xdefaults" ,%default-xdefaults)
44 +
                (".xsession" ,(local-file "xsession/xsession" #:recursive? #t))
45 +
                (".cwmrc" ,(local-file "cwm/cwmrc"))
44 46
                ;; Emacs config files are linked into ~/.emacs.d so that
45 47
                ;; elpa/ and other runtime state stay writable there.
46 48
                (".emacs.d/early-init.el" ,(local-file "emacs/early-init.el"))
52 54
     (service home-xdg-configuration-files-service-type
53 55
              `(("starship.toml" ,(local-file "starship/starship.toml"))
54 56
                ("alacritty/alacritty.toml" ,(local-file "alacritty/alacritty.toml"))
57 +
                ("kitty/kitty.conf" ,(local-file "kitty/kitty.conf"))
55 58
                ("qtile/config.py" ,(local-file "qtile/config.py"))
56 59
                ("gdb/gdbinit" ,%default-gdbinit)
57 60
                ("nano/nanorc" ,%default-nanorc)))
kitty/kitty.conf (added) +58 −0
1 +
# ~/.config/kitty/kitty.conf -- Darkmatter
2 +
3 +
term xterm-256color
4 +
5 +
# Window
6 +
hide_window_decorations yes
7 +
remember_window_size no
8 +
initial_window_width 85c
9 +
initial_window_height 30c
10 +
window_padding_width 4 10
11 +
confirm_os_window_close 0
12 +
enable_audio_bell no
13 +
14 +
# Font
15 +
font_family      BerkeleyMono Nerd Font Mono
16 +
bold_font        auto
17 +
italic_font      auto
18 +
bold_italic_font auto
19 +
font_size 14.0
20 +
21 +
# Mouse and cursor
22 +
mouse_hide_wait -1
23 +
cursor_shape block
24 +
cursor_blink_interval 0
25 +
26 +
# Darkmatter
27 +
background #121113
28 +
foreground #ffffff
29 +
cursor #ffffff
30 +
cursor_text_color #121113
31 +
selection_background #222222
32 +
selection_foreground #000000
33 +
url_color #e78a53
34 +
35 +
# black
36 +
color0  #121113
37 +
color8  #333333
38 +
# red
39 +
color1  #5f8787
40 +
color9  #5f8787
41 +
# green
42 +
color2  #fbcb97
43 +
color10 #fbcb97
44 +
# yellow
45 +
color3  #e78a53
46 +
color11 #e78a53
47 +
# blue
48 +
color4  #888888
49 +
color12 #888888
50 +
# magenta
51 +
color5  #999999
52 +
color13 #999999
53 +
# cyan
54 +
color6  #aaaaaa
55 +
color14 #aaaaaa
56 +
# white
57 +
color7  #c1c1c1
58 +
color15 #c1c1c1
xsession/xsession (added) +11 −0
1 +
#!/bin/sh
2 +
# ~/.xsession -- run by Guix's xinitrc wrapper. SLiM passes no session
3 +
# here, so the window manager is started by name below.
4 +
5 +
# Keep session output so crashes can be debugged
6 +
exec > "$HOME/.xsession-errors" 2>&1
7 +
set -x
8 +
9 +
feh --no-fehbg --bg-fill "$HOME/wallpapers/assets/temple.png" &
10 +
11 +
exec cwm