diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2026-03-07 00:30:44 -0500 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2026-03-07 00:30:49 -0500 |
| commit | e42a386265350dd524e079464e4c8a3dd103cac5 (patch) | |
| tree | 6a504cd468cf312cc6bf394c970dc9e16506b156 /home.scm | |
| parent | 592475ad8385c1878771cc7793487d08d5fe7cf7 (diff) | |
start splitting things into separate modules
Diffstat (limited to 'home.scm')
| -rw-r--r-- | home.scm | 430 |
1 files changed, 6 insertions, 424 deletions
@@ -40,7 +40,10 @@ (srfi 1) (config-generation sexp) - (config-generation sway) + + (rename (config packages) (home home-packages)) + (rename (config sway) (sway-config rz/sway-config)) + (config foot) (ini)) @@ -50,200 +53,6 @@ ;; (load "./gptel.scm") -(define home-packages - (append - (specifications->packages - (list - ;; essential - "adb" - "bat" - "bind:utils" - "emacs" - "emacs-bluetooth" - "emacs-ellama" - "emacs-elpher" - "emacs-emms" - "emacs-f" - "emacs-go-mode" - "emacs-guix" - "emacs-jabber" - "emacs-markdown-mode" - "emacs-nord-theme" - "emacs-nov-el" - ;; "emacs-org" - "emacs-org-download" - "emacs-org-emms" - "emacs-org-mime" - "emacs-org-pandoc-import" - "emacs-org-roam" - "emacs-org-transclusion" - "emacs-pdf-tools" - "emacs-persist" - "emacs-pinentry" - "emacs-request" - "emacs-restclient" - "emacs-simple-httpd" - "emacs-sqlite3-api" - "emacs-toc-org" - "emacs-tramp" - "emacs-typescript-mode" - "emacs-websocket" - "emacs-which-key" - "emacs-wttrin" - "emacs-yaml-mode" - "emacs-zig-mode" - "fd" - ;; "ffmpeg" - "file" - "flatpak" - "font-fira-mono" - "font-google-noto-emoji" - ;; "gajim" - "gammastep" - "ghc-tldr" - "git" - "git:send-email" - "grim" - "grimshot" - "gst-libav" - "gst-plugins-bad" - "gst-plugins-base" - "gst-plugins-good" - "gst-plugins-ugly" - "guile" - "htop" - "imv" - "keepassxc" - ;; "libcamera" - "libreoffice" - "mumble" - "ncurses" - "neofetch" - "nmap" - "noisetorch" - "pinentry" - "rlwrap" - "rsync" - "screen" - ;; "sicp" - "slurp" - "sshfs" - "strace" - "syncthing" - "tesseract-ocr" - "tree" - "unzip" - "waypipe" - "wl-clipboard" - "wofi" - "xdg-user-dirs" - ;; "xsane" - "zbar" - "zip" - rz/terminal-emulator - - ;; sound - "pamixer" - ;; "patchage" - "pulsemixer" - - ;; web - "curl" - ;; "icecat" - ;; "nyxt" - ;; "ungoogled-chromium" - - ;; games - "protonup" - "steam" - - "crispy-doom" - "freedoom" - - ;; "luanti" - ;; "minetest-worldedit" - ;; "luanti-mineclone" - - ;; "openmw" - - "emacs-2048-game" - - ;; email - "isync" - "mb2md" - "mu" - - ;; RSS - "emacs-elfeed" - "emacs-elfeed-org" - - ;; media - "cava" - "cmus" - "mpv" - "pipe-viewer" - - ;; torrent - "emacs-transmission" - "transmission" - - ;; programming - "chibi-scheme" - ;; "emacs-cape" - ;; "emacs-corfu" - "emacs-dumb-jump" - "emacs-geiser" - "emacs-geiser-guile" - "emacs-lsp-mode" - "emacs-lsp-ui" - "emacs-origami" - "emacs-racket-mode" - "emacs-slime" - "gcc-toolchain" - "go" - "guile-ini" - "guile-lib" - "jq" - "libserialport" - ;; "mit-scheme" - ;; "node" - "racket" - "sbcl" - ;; "snd" - "zig" - - ;; education - ;; "stellarium" - - ;; photography - "darktable" - "gimp" - ;; "krita" - - ;; recording - "obs" - "obs-wlrobs" - "obs-vkcapture" - ;; "kdenlive" - - ;; modeling - "libfive" - - ;; Editing - "emacs-emojify" - "emacs-org-bullets" - "emacs-ox-hugo" - "ispell")) - ;; Extra package definitions - (list - ;; ((options->transformation '((with-commit . "guile-next=f3ea8f7fa1d84a559c7bf834fe5b675abe0ae7b8"))) - ;; (specification->package "guile-next")) - ;; ((options->transformation '((with-commit . "chibi-scheme=29dd1a3b81e297033f687cbbf2b51319856647f4"))) - ;; (specification->package "chibi-scheme")) - ;; emacs-gptel - ))) - - (define emacs-config (string-append ";; See /home/robby/.config/guix-home/home-configuration.scm\n" @@ -550,9 +359,10 @@ elfeed-search-filter "@6-months-ago +unread -reddit -hn -politics") ;; TODO: this doesn't work + ;; Fixed? TODO: Check if it works (add-hook 'elfeed-mode-hook (lambda () - (define-key elfeed-mode-map "\\C-c\\C-u" + (define-key elfeed-mode-map "C-c C-u" 'elfeed-update))) ;; Source https://github.com/skeeto/elfeed/issues/267 @@ -663,234 +473,6 @@ visit otherwise." )))) -(define screenshot-menu "guile --r7rs -L ~/src/wofi-guile/lib/ ~/src/screenshot-menu.scm") - -(define rz/sway-config - (scm->sway-config - ;;; Variables - `((set $mod Mod4 ; Logo key. Use Mod1 for Alt. - $hyper Mod1+Mod4+Shift+Control - $meh Mod1+Shift+Control - - ;; Home row directions keys, like vim. - $left h - $down j - $up k - $right l - - ;; Prefered terminal emulator - $term ,rz/terminal-emulator - - ;; Preferred editor - $editor "emacsclient -c -a emacs" - - ;; Preferred application launcher - $menu "wofi -c ~/.config/wofi/config -I" - - ;; Preferred music player - $music ,(string-append rz/terminal-emulator " cmus")) - - - ;; Output configuration - (output ((* bg "#2E3440" solid_color) - (HDMI-A-1 mode 1920x1080@144Hz))) - - ;; Input configuration - ;; (input "9580:110:HUION_Huion_Tablet_Pen" map_to_output HDMI-A-1) - - ;; Hide cursor after 3 seconds - (seat * hide_cursor 3000) - - (input "1133:50504:Logitech_USB_Receiver_Mouse" - ((accel_profile flat) - (pointer_accel -0.4))) - -;;; Key bindings - (bindsyms - ;; Kill focused window - ;; (($mod+Shift+q $meh+q) kill) - ;; Start launcher - ;; (($hyper+d $mod+d) exec $menu) - ;; Reload the config file - ;; ($mod+Shift+c reload) - ;; Lock sway - (($meh+l $mod+Semicolon) exec swaylock -c "#000000") - ;; Exit sway - ;; ($mod+Shift+e exec swaynag -t warning -m "You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session." -b "Yes, exit sway" "herd stop sway") - ;; Screenshot menu - ($meh+a exec ,screenshot-menu)) - - ;; Drag floating windows by holding down $mod and left mouse button. - ;; Resize them with right mouse button + $mod. - ;; Also works for non-floating windows. - ;; Change normal to inverse to use left mouse buttor for resizing and right - ;; mouse button for dragging. - (floating_modifier $mod normal) - - ;; Moving around - ;; (bindsyms - ;; ;; Moving focus around - ;; (($mod+$left $mod+Left) focus left) - ;; (($mod+$down $mod+Down) focus down) - ;; (($mod+$up $mod+Up) focus up) - ;; (($mod+$right $mod+Right) focus right) - - ;; ;; Move the focused window by adding Shift - ;; (($mod+Shift+$left $mod+Shift+Left) move left) - ;; (($mod+Shift+$down $mod+Shift+Down) move down) - ;; (($mod+Shift+$up $mod+Shift+Up) move up) - ;; (($mod+Shift+$right $mod+Shift+Right) move right)) - - ;; Workspaces - (bindsyms - ;; Switch to workspace - ;; ($mod+1 workspace number 1) - ;; ($mod+2 workspace number 2) - ;; ($mod+3 workspace number 3) - ;; ($mod+4 workspace number 4) - ;; ($mod+5 workspace number 5) - ;; ($mod+6 workspace number 6) - ;; ($mod+7 workspace number 7) - ;; ($mod+8 workspace number 8) - ;; ($mod+9 workspace number 9) - ;; ($mod+0 workspace number 10) - - ;; Move focused container to workspace - ;; ($mod+Shift+1 move container to workspace number 1) - ;; ($mod+Shift+2 move container to workspace number 2) - ;; ($mod+Shift+3 move container to workspace number 3) - ;; ($mod+Shift+4 move container to workspace number 4) - ;; ($mod+Shift+5 move container to workspace number 5) - ;; ($mod+Shift+6 move container to workspace number 6) - ;; ($mod+Shift+7 move container to workspace number 7) - ;; ($mod+Shift+8 move container to workspace number 8) - ;; ($mod+Shift+9 move container to workspace number 9) - ;; ($mod+Shift+0 move container to workspace number 10) - - ;; Split the current object - ;; ($mod+b splith) - ;; ($mod+v splitv) - - ;; Switch the current container layout style - ;; ($mod+s layout stacking) - ;; ($mod+w layout tabbed) - ;; ($mod+e layout toggle split) - - ;; Make the current focus fullscreen - ;; ($mod+f fullscreen) - - ;; Toggle focus between tiling and floating mode - ;; ($mod+Shift+space floating toggle) - - ;; Swap focus between the tiling area and the floating area - ;; ($mod+space focus mode_toggle) - - ;; Move focus to the parent container - ;; ($mod+a focus parent) - ) - - ;;; Scratchpad - ;; (bindsyms - ;; ;; Move the currently focused window to the scratchpad - ;; ($mod+Shift+minus move scratchpad) - ;; ;; Show the next scratchpad window or hide the focused scratchpad window. - ;; ;; If there are multiple scratchpad windows, this command cycles through them. - ;; ($mod+minus scratchpad show)) - - ;;; Resizing - ;; (mode "resize" - ;; ((bindsyms - ;; (($left Left) resize shrink width 10px) - ;; (($down Down) resize grow height 10px) - ;; (($up Up) resize shrink height 10px) - ;; (($right Right) resize grow width 10px) - - ;; ;; Return to default mode - ;; (Return mode "default") - ;; (Escape mode "default")))) - ;; (bindsym $mod+r mode "resize") - - ;;; Media - (bindsyms - (XF86AudioRaiseVolume exec pamixer --increase 5) - (XF86AudioLowerVolume exec pamixer --decrease 5) - (XF86AudioMute exec pamixer --toggle-mute) - (XF86AudioPlay exec emacsclient -e "(emms-pause)") - (XF86AudioNext exec emacsclient -e "(emms-next)") - (XF86AudioPrev exec emacsclient -e "(emms-previous)") - (XF86Search exec $menu)) - - ;; Applications - (bindsyms - ;; Start music player on workspace 5 - ($hyper+m (workspace 5) (exec $music) (workspace back_and_forth)) - ;; Start terminal - ;; (($mod+Return $mod+Shift+t) exec emacsclient -c -e "(new-eshell)") - ;; Start editor - (($mod+t $hyper+t) exec $editor)) - - ;; TODO REMOVE - (exec "hash dbus-update-activation-environment 2>/dev/null") - (exec_always "dbus-update-activation-environment --all") - - ;;; Styling - - (font "pango:Noto Sans Mono" 8) - (titlebar_padding 7 1) - - ;; Remove titlebar by default - (for-window (title ".*") border pixel 2) - - (for-window (class ".*") inhibit_idle fullscreen) - (for-window (app_id ".*") inhibit_idle fullscreen) - - ;; Class border backgr. text indicator child_border - (client.focused "#bf616a" "#bf616a" "#ffffff" "#bf616a" "#bf616a") - (client.focused_inactive "#333333" "#5f676a" "#ffffff" "#484e50" "#5f676a") - (client.unfocused "#333333" "#222222" "#888888" "#292d2e" "#222222") - (client.urgent "#2f343a" "#900000" "#ffffff" "#900000" "#900000") - (client.placeholder "#000000" "#0c0c0c" "#ffffff" "#000000" "#0c0c0c")))) - -(define foot-config - (with-output-to-string - (lambda () - (scm->ini - '((#f - ("font" . "monospace:size=12")) - - ;; Nord theme - (colors-dark - ("background" . "2e3440") - ("foreground" . "d8dee9") - ("cursor" . "2e3440 d8dee9") - - ("regular0" . "3b4252") - ("regular1" . "bf616a") - ("regular2" . "a3be8c") - ("regular3" . "ebcb8b") - ("regular4" . "81a1c1") - ("regular5" . "b48ead") - ("regular6" . "88c0d0") - ("regular7" . "e5e9f0") - - ("bright0" . "4c566a") - ("bright1" . "bf616a") - ("bright2" . "a3be8c") - ("bright3" . "ebcb8b") - ("bright4" . "81a1c1") - ("bright5" . "b48ead") - ("bright6" . "8fbcbb") - ("bright7" . "eceff4") - - ("dim0" . "373e4d") - ("dim1" . "94545d") - ("dim2" . "809575") - ("dim3" . "b29e75") - ("dim4" . "68809a") - ("dim5" . "8c738c") - ("dim6" . "6d96a5") - ("dim7" . "aeb3bb"))))))) - (define wofi-config (with-extensions (list guile-ini guile-smc guile-lib) |
