chore: moved from cwm to sway
9386192e
7 file(s) · +135 −144
| 45 | 45 | ||
| 46 | 46 | (packages (append (list |
|
| 47 | 47 | ;; window managers |
|
| 48 | - | qtile cwm rofi |
|
| 49 | - | ;; xorg stuff |
|
| 50 | - | xorg-server xinit xwallpaper xset xrandr feh |
|
| 48 | + | qtile sway rofi |
|
| 49 | + | ;; wayland stuff |
|
| 50 | + | swaybg swayidle swaylock wl-clipboard |
|
| 51 | 51 | ;; text editor |
|
| 52 | 52 | vis emacs |
|
| 53 | 53 | ;; browser |
|
| 62 | 62 | (specification->package "cloudflared")) ; from Rosenthal channel |
|
| 63 | 63 | %base-packages)) |
|
| 64 | 64 | ||
| 65 | - | (services (append (list (service xorg-server-service-type) |
|
| 66 | - | (service slim-service-type) |
|
| 65 | + | (services (append (list (service greetd-service-type |
|
| 66 | + | (greetd-configuration |
|
| 67 | + | (terminals |
|
| 68 | + | (list |
|
| 69 | + | ;; Text login on tty7 that starts sway |
|
| 70 | + | (greetd-terminal-configuration |
|
| 71 | + | (terminal-vt "7") |
|
| 72 | + | (terminal-switch #t) |
|
| 73 | + | (default-session-command |
|
| 74 | + | (greetd-agreety-session |
|
| 75 | + | (command |
|
| 76 | + | (greetd-user-session |
|
| 77 | + | (command (file-append sway "/bin/sway")) |
|
| 78 | + | (command-args '()) |
|
| 79 | + | (xdg-session-type "wayland")))))))))) |
|
| 67 | 80 | (service dhcpcd-service-type) |
|
| 68 | 81 | (service dbus-root-service-type) |
|
| 69 | 82 | (service elogind-service-type) |
|
| 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 librewolf librewolf |
|
| 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 | - | bind-key 4-b "librewolf" |
|
| 41 | - | ||
| 42 | - | # Window actions |
|
| 43 | - | bind-key 4-w window-close |
|
| 44 | - | bind-key 4-f window-fullscreen |
|
| 45 | - | bind-key 4-m window-maximize |
|
| 46 | - | bind-key 4S-m window-vmaximize |
|
| 47 | - | bind-key 4-n window-hide |
|
| 48 | - | bind-key 4-s window-stick |
|
| 49 | - | bind-key 4-r window-raise |
|
| 50 | - | bind-key 4S-r window-lower |
|
| 51 | - | bind-key 4-t window-htile |
|
| 52 | - | bind-key 4-v window-vtile |
|
| 53 | - | ||
| 54 | - | # Focus |
|
| 55 | - | bind-key 4-j window-cycle |
|
| 56 | - | bind-key 4-k window-rcycle |
|
| 57 | - | bind-key M-Tab window-cycle |
|
| 58 | - | bind-key MS-Tab window-rcycle |
|
| 59 | - | ||
| 60 | - | # Move (Super+Shift) and resize (Super+Control) with vim keys |
|
| 61 | - | bind-key 4S-h window-move-left-big |
|
| 62 | - | bind-key 4S-j window-move-down-big |
|
| 63 | - | bind-key 4S-k window-move-up-big |
|
| 64 | - | bind-key 4S-l window-move-right-big |
|
| 65 | - | bind-key 4C-h window-resize-left-big |
|
| 66 | - | bind-key 4C-j window-resize-down-big |
|
| 67 | - | bind-key 4C-k window-resize-up-big |
|
| 68 | - | bind-key 4C-l window-resize-right-big |
|
| 69 | - | ||
| 70 | - | # Snap to screen edges |
|
| 71 | - | bind-key 4M-h window-snap-left |
|
| 72 | - | bind-key 4M-j window-snap-down |
|
| 73 | - | bind-key 4M-k window-snap-up |
|
| 74 | - | bind-key 4M-l window-snap-right |
|
| 75 | - | ||
| 76 | - | # Groups: Super+N shows only group N, Super+Shift+N sends the window there, |
|
| 77 | - | # Super+Control+N toggles group N on top of what is shown |
|
| 78 | - | bind-key 4-1 group-only-1 |
|
| 79 | - | bind-key 4-2 group-only-2 |
|
| 80 | - | bind-key 4-3 group-only-3 |
|
| 81 | - | bind-key 4-4 group-only-4 |
|
| 82 | - | bind-key 4-5 group-only-5 |
|
| 83 | - | bind-key 4-6 group-only-6 |
|
| 84 | - | bind-key 4-7 group-only-7 |
|
| 85 | - | bind-key 4-8 group-only-8 |
|
| 86 | - | bind-key 4-9 group-only-9 |
|
| 87 | - | bind-key 4S-1 window-movetogroup-1 |
|
| 88 | - | bind-key 4S-2 window-movetogroup-2 |
|
| 89 | - | bind-key 4S-3 window-movetogroup-3 |
|
| 90 | - | bind-key 4S-4 window-movetogroup-4 |
|
| 91 | - | bind-key 4S-5 window-movetogroup-5 |
|
| 92 | - | bind-key 4S-6 window-movetogroup-6 |
|
| 93 | - | bind-key 4S-7 window-movetogroup-7 |
|
| 94 | - | bind-key 4S-8 window-movetogroup-8 |
|
| 95 | - | bind-key 4S-9 window-movetogroup-9 |
|
| 96 | - | bind-key 4C-1 group-toggle-1 |
|
| 97 | - | bind-key 4C-2 group-toggle-2 |
|
| 98 | - | bind-key 4C-3 group-toggle-3 |
|
| 99 | - | bind-key 4C-4 group-toggle-4 |
|
| 100 | - | bind-key 4C-5 group-toggle-5 |
|
| 101 | - | bind-key 4C-6 group-toggle-6 |
|
| 102 | - | bind-key 4C-7 group-toggle-7 |
|
| 103 | - | bind-key 4C-8 group-toggle-8 |
|
| 104 | - | bind-key 4C-9 group-toggle-9 |
|
| 105 | - | bind-key 4-0 group-toggle-all |
|
| 106 | - | bind-key 4-grave group-last |
|
| 107 | - | bind-key 4-g window-group |
|
| 108 | - | ||
| 109 | - | # Window manager |
|
| 110 | - | bind-key 4S-Escape restart |
|
| 111 | - | bind-key 4S-q quit |
|
| 112 | - | ||
| 113 | - | # Mouse: Super+drag to move/resize, Super+middle to lower |
|
| 114 | - | bind-mouse 4-1 window-move |
|
| 115 | - | bind-mouse 4-3 window-resize |
|
| 116 | - | bind-mouse 4-2 window-lower |
|
| 117 | - | # Clicks on the empty desktop |
|
| 118 | - | bind-mouse 1 menu-window |
|
| 119 | - | bind-mouse 3 menu-cmd |
|
| 120 | - | ||
| 121 | - | # Pin apps to a group: autogroup <group> "instance,class" (see xprop WM_CLASS) |
|
| 122 | - | # autogroup 2 "librewolf" |
| 1 | 1 | ;;; init-ui.el -*- lexical-binding: t; -*- |
|
| 2 | 2 | ||
| 3 | 3 | (when (display-graphic-p) |
|
| 4 | - | (set-face-attribute 'default nil :family "BerkeleyMono Nerd Font Mono" :height 140)) |
|
| 4 | + | (set-face-attribute 'default nil :family "BerkeleyMono Nerd Font Mono" :height 130)) |
|
| 5 | 5 | ||
| 6 | 6 | (use-package base16-theme) |
|
| 7 | 7 | ||
| 31 | 31 | '("?" "#666666")))) |
|
| 32 | 32 | (propertize (format " %s " letter) |
|
| 33 | 33 | 'face `(:background ,color |
|
| 34 | - | :foreground ,(alist-get 'base00 darkmatter-palette) |
|
| 35 | - | :weight bold))))) |
|
| 34 | + | :foreground ,(alist-get 'base00 darkmatter-palette) |
|
| 35 | + | :weight bold))))) |
|
| 36 | 36 | ||
| 37 | 37 | (setq-default |
|
| 38 | 38 | mode-line-format |
|
| 50 | 50 | (service home-files-service-type |
|
| 51 | 51 | `((".guile" ,%default-dotguile) |
|
| 52 | 52 | (".Xdefaults" ,%default-xdefaults) |
|
| 53 | - | (".xsession" ,(local-file "xsession/xsession" #:recursive? #t)) |
|
| 54 | - | (".cwmrc" ,(local-file "cwm/cwmrc")) |
|
| 55 | 53 | ;; Emacs config files are linked into ~/.emacs.d so that |
|
| 56 | 54 | ;; elpa/ and other runtime state stay writable there. |
|
| 57 | 55 | (".emacs.d/early-init.el" ,(local-file "emacs/early-init.el")) |
|
| 64 | 62 | `(("starship.toml" ,(local-file "starship/starship.toml")) |
|
| 65 | 63 | ("alacritty/alacritty.toml" ,(local-file "alacritty/alacritty.toml")) |
|
| 66 | 64 | ("kitty/kitty.conf" ,(local-file "kitty/kitty.conf")) |
|
| 65 | + | ("sway/config" ,(local-file "sway/config")) |
|
| 67 | 66 | ("qtile/config.py" ,(local-file "qtile/config.py")) |
|
| 68 | 67 | ("gdb/gdbinit" ,%default-gdbinit) |
|
| 69 | 68 | ("nano/nanorc" ,%default-nanorc))) |
|
| 16 | 16 | bold_font auto |
|
| 17 | 17 | italic_font auto |
|
| 18 | 18 | bold_italic_font auto |
|
| 19 | - | font_size 14.0 |
|
| 19 | + | font_size 13.0 |
|
| 20 | 20 | ||
| 21 | 21 | # Mouse and cursor |
|
| 22 | 22 | mouse_hide_wait -1 |
| 1 | + | # ~/.config/sway/config -- Darkmatter |
|
| 2 | + | # Palette matches the Darkmatter GTK theme, kitty, and emacs themes. |
|
| 3 | + | # Bindings follow the old cwmrc where sway has an equivalent. |
|
| 4 | + | ||
| 5 | + | set $mod Mod4 |
|
| 6 | + | set $left h |
|
| 7 | + | set $down j |
|
| 8 | + | set $up k |
|
| 9 | + | set $right l |
|
| 10 | + | set $term kitty |
|
| 11 | + | set $menu rofi -show drun |
|
| 12 | + | ||
| 13 | + | font pango:BerkeleyMono Nerd Font Mono 13 |
|
| 14 | + | ||
| 15 | + | output * bg $HOME/wallpapers/assets/temple.png fill |
|
| 16 | + | output HDMI-A-1 scale 1.20 |
|
| 17 | + | ||
| 18 | + | default_border pixel 2 |
|
| 19 | + | default_floating_border pixel 2 |
|
| 20 | + | gaps inner 12 |
|
| 21 | + | gaps outer 0 |
|
| 22 | + | focus_follows_mouse no |
|
| 23 | + | ||
| 24 | + | # Darkmatter |
|
| 25 | + | # class border bg text indicator child_border |
|
| 26 | + | client.focused #fbcb97 #121113 #c1c1c1 #e78a53 #fbcb97 |
|
| 27 | + | client.focused_inactive #333333 #121113 #c1c1c1 #333333 #333333 |
|
| 28 | + | client.unfocused #333333 #121113 #888888 #333333 #333333 |
|
| 29 | + | client.urgent #e75353 #121113 #c1c1c1 #e75353 #e75353 |
|
| 30 | + | ||
| 31 | + | # Launchers |
|
| 32 | + | bindsym $mod+Return exec $term |
|
| 33 | + | bindsym $mod+d exec $menu |
|
| 34 | + | bindsym $mod+b exec librewolf --scale=1.25 |
|
| 35 | + | ||
| 36 | + | # Window actions |
|
| 37 | + | bindsym $mod+w kill |
|
| 38 | + | bindsym $mod+f fullscreen toggle |
|
| 39 | + | bindsym $mod+s sticky toggle |
|
| 40 | + | bindsym $mod+t splith |
|
| 41 | + | bindsym $mod+v splitv |
|
| 42 | + | bindsym $mod+e layout toggle split |
|
| 43 | + | bindsym $mod+Shift+t floating toggle |
|
| 44 | + | bindsym $mod+space focus mode_toggle |
|
| 45 | + | bindsym $mod+a focus parent |
|
| 46 | + | bindsym $mod+n move scratchpad |
|
| 47 | + | bindsym $mod+Shift+n scratchpad show |
|
| 48 | + | ||
| 49 | + | # Focus and move with vim keys |
|
| 50 | + | bindsym $mod+$left focus left |
|
| 51 | + | bindsym $mod+$down focus down |
|
| 52 | + | bindsym $mod+$up focus up |
|
| 53 | + | bindsym $mod+$right focus right |
|
| 54 | + | bindsym $mod+Shift+$left move left |
|
| 55 | + | bindsym $mod+Shift+$down move down |
|
| 56 | + | bindsym $mod+Shift+$up move up |
|
| 57 | + | bindsym $mod+Shift+$right move right |
|
| 58 | + | ||
| 59 | + | # Resize (Super+Control) with vim keys |
|
| 60 | + | bindsym $mod+Control+$left resize shrink width 40px |
|
| 61 | + | bindsym $mod+Control+$down resize grow height 40px |
|
| 62 | + | bindsym $mod+Control+$up resize shrink height 40px |
|
| 63 | + | bindsym $mod+Control+$right resize grow width 40px |
|
| 64 | + | ||
| 65 | + | # Workspaces: Super+N shows workspace N, Super+Shift+N sends the window there |
|
| 66 | + | bindsym $mod+1 workspace number 1 |
|
| 67 | + | bindsym $mod+2 workspace number 2 |
|
| 68 | + | bindsym $mod+3 workspace number 3 |
|
| 69 | + | bindsym $mod+4 workspace number 4 |
|
| 70 | + | bindsym $mod+5 workspace number 5 |
|
| 71 | + | bindsym $mod+6 workspace number 6 |
|
| 72 | + | bindsym $mod+7 workspace number 7 |
|
| 73 | + | bindsym $mod+8 workspace number 8 |
|
| 74 | + | bindsym $mod+9 workspace number 9 |
|
| 75 | + | bindsym $mod+Shift+1 move container to workspace number 1 |
|
| 76 | + | bindsym $mod+Shift+2 move container to workspace number 2 |
|
| 77 | + | bindsym $mod+Shift+3 move container to workspace number 3 |
|
| 78 | + | bindsym $mod+Shift+4 move container to workspace number 4 |
|
| 79 | + | bindsym $mod+Shift+5 move container to workspace number 5 |
|
| 80 | + | bindsym $mod+Shift+6 move container to workspace number 6 |
|
| 81 | + | bindsym $mod+Shift+7 move container to workspace number 7 |
|
| 82 | + | bindsym $mod+Shift+8 move container to workspace number 8 |
|
| 83 | + | bindsym $mod+Shift+9 move container to workspace number 9 |
|
| 84 | + | bindsym $mod+grave workspace back_and_forth |
|
| 85 | + | bindsym $mod+Tab workspace next_on_output |
|
| 86 | + | bindsym $mod+Shift+Tab workspace prev_on_output |
|
| 87 | + | ||
| 88 | + | # Mouse: Super+left drag moves, Super+right drag resizes floating windows |
|
| 89 | + | floating_modifier $mod normal |
|
| 90 | + | ||
| 91 | + | # Window manager |
|
| 92 | + | bindsym $mod+Shift+Escape reload |
|
| 93 | + | bindsym $mod+Shift+q exec swaymsg exit |
|
| 94 | + | ||
| 95 | + | bar { |
|
| 96 | + | position top |
|
| 97 | + | font pango:BerkeleyMono Nerd Font Mono 13 |
|
| 98 | + | status_command while date +'%Y-%m-%d %H:%M'; do sleep 30; done |
|
| 99 | + | colors { |
|
| 100 | + | background #121113 |
|
| 101 | + | statusline #c1c1c1 |
|
| 102 | + | separator #333333 |
|
| 103 | + | # class border bg text |
|
| 104 | + | focused_workspace #e78a53 #e78a53 #121113 |
|
| 105 | + | active_workspace #333333 #333333 #c1c1c1 |
|
| 106 | + | inactive_workspace #121113 #121113 #888888 |
|
| 107 | + | urgent_workspace #e75353 #e75353 #121113 |
|
| 108 | + | } |
|
| 109 | + | } |
|
| 110 | + | ||
| 111 | + | # Pin apps to a workspace (see swaymsg -t get_tree for app_id) |
|
| 112 | + | # assign [app_id="librewolf"] workspace number 2 |
| 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 |