chore: switch to cwm and kitty
4ed2b147
5 file(s) · +197 −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 |
|
| 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" |
| 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))) |
|
| 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 |
| 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 |