diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2025-09-03 16:14:53 -0400 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2026-03-06 23:11:11 -0500 |
| commit | 253af1a81c0db004c29f7a148c9de9b28b6b2b87 (patch) | |
| tree | 7d50f92cd11fe073bb8b7d3a1d24c22dbd55c01d | |
| parent | 28a8934249caafc532ac1a387c053b369711adb8 (diff) | |
some changes
| -rw-r--r-- | home.bashrc | 1 | ||||
| -rw-r--r-- | home.scm | 265 | ||||
| -rw-r--r-- | system.scm | 83 |
3 files changed, 229 insertions, 120 deletions
diff --git a/home.bashrc b/home.bashrc index a7b79ab..2306b39 100644 --- a/home.bashrc +++ b/home.bashrc @@ -35,6 +35,7 @@ alias duckdb='env LD_LIBRARY_PATH=/home/robby/.guix-profile/lib:$LD_LIBRARY_PATH export BUN_INSTALL="$HOME/.bun" export PATH=$BUN_INSTALL/bin:$PATH +export PATH=/home/robby/go/bin:$PATH export PATH=/home/robby/.local/bin:/home/robby/.cargo/bin:/home/robby/.vnode/bin:$PATH source <(jj util completion bash) source <(nsc completion bash) @@ -18,6 +18,7 @@ (gnu home services shepherd) (gnu home services sound) (gnu home services ssh) + (gnu home services sway) (gnu home services symlink-manager) (gnu packages) (gnu services) @@ -55,6 +56,7 @@ (list ;; essential "adb" + "bat" "bind:utils" "emacs" "emacs-bluetooth" @@ -102,6 +104,7 @@ "git" "git:send-email" "grim" + "grimshot" "gst-libav" "gst-plugins-bad" "gst-plugins-base" @@ -122,7 +125,7 @@ "rlwrap" "rsync" "screen" - "sicp" + ;; "sicp" "slurp" "sshfs" "strace" @@ -141,7 +144,7 @@ ;; sound "pamixer" - "patchage" + ;; "patchage" "pulsemixer" ;; web @@ -151,15 +154,15 @@ ;; "ungoogled-chromium" ;; games - "protonup-ng" + "protonup" "steam" "crispy-doom" "freedoom" - "luanti" + ;; "luanti" ;; "minetest-worldedit" - "luanti-mineclone" + ;; "luanti-mineclone" ;; "openmw" @@ -371,7 +374,7 @@ (defun open-init-file () "Open the init file." (interactive) - (find-file "~/.config/guix-home/home-configuration.scm")) + (find-file "~/src/guix-dotfiles/home.scm")) (global-set-key (kbd "C-x i") 'open-init-file) @@ -705,15 +708,15 @@ visit otherwise." ;;; Key bindings (bindsyms ;; Kill focused window - (($mod+Shift+q $meh+q) kill) + ;; (($mod+Shift+q $meh+q) kill) ;; Start launcher - (($hyper+d $mod+d) exec $menu) + ;; (($hyper+d $mod+d) exec $menu) ;; Reload the config file - ($mod+Shift+c reload) + ;; ($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") + ;; ($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)) @@ -725,86 +728,87 @@ visit otherwise." (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) + ;; (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)) + ;; ;; 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) + ;; ($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) + ;; ($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) + ;; ($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) + ;; ($mod+s layout stacking) + ;; ($mod+w layout tabbed) + ;; ($mod+e layout toggle split) ;; Make the current focus fullscreen - ($mod+f fullscreen) + ;; ($mod+f fullscreen) ;; Toggle focus between tiling and floating mode - ($mod+Shift+space floating toggle) + ;; ($mod+Shift+space floating toggle) ;; Swap focus between the tiling area and the floating area - ($mod+space focus mode_toggle) + ;; ($mod+space focus mode_toggle) ;; Move focus to the parent container - ($mod+a focus parent)) + ;; ($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)) + ;; (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) + ;; (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") + ;; ;; Return to default mode + ;; (Return mode "default") + ;; (Escape mode "default")))) + ;; (bindsym $mod+r mode "resize") ;;; Media (bindsyms @@ -821,12 +825,13 @@ visit otherwise." ;; 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)") + ;; (($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 "dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP") + (exec_always "dbus-update-activation-environment --all") ;;; Styling @@ -854,7 +859,7 @@ visit otherwise." ("font" . "monospace:size=12")) ;; Nord theme - (colors + (colors-dark ("background" . "2e3440") ("foreground" . "d8dee9") ("cursor" . "2e3440 d8dee9") @@ -1000,7 +1005,7 @@ visit otherwise." (service home-dbus-service-type) (service home-xdg-configuration-files-service-type `(("user-dirs.dirs" ,(plain-file "user-dirs" rz/user-dirs)) - ("sway/config" ,(plain-file "sway-config" rz/sway-config)) + ;; ("sway/config" ,(plain-file "sway-config" rz/sway-config)) ("emacs/init.el" ,(plain-file "init.el" emacs-config)) ("foot/foot.ini" ,(plain-file "foot.ini" foot-config)) ("wofi/config" ,(computed-file "wofi-config" wofi-config)) @@ -1009,22 +1014,29 @@ visit otherwise." (service home-files-service-type `((".mbsyncrc" ,(local-file "mbsyncrc")) (".nmprc" ,(plain-file "npmrc" "prefix=/home/robby/.vnode")))) + (service home-sway-service-type + (sway-configuration + (variables + (append %sway-default-variables + `((menu . "wofi -c ~/.config/wofi/config -I")))) + (extra-content (list rz/sway-config)))) (service home-shepherd-service-type (home-shepherd-configuration (services (list - (shepherd-service - (documentation "SwayWM") - (provision '(sway)) - (requirement '(dbus)) - (respawn? #f) - (auto-start? #f) - (start #~(make-forkexec-constructor - (list #$(file-append (specification->package "dbus") "/bin/dbus-run-session") "sway") - #:log-file (string-append #$log-dir "/swaywm.log"))) - (stop #~(make-system-destructor - (string-join (list #$(file-append (specification->package "sway") "/bin/swaymsg") - "exit"))))) + ;; (shepherd-service + ;; (documentation "SwayWM") + ;; (provision '(sway)) + ;; (requirement '(dbus)) + ;; (respawn? #f) + ;; (auto-start? #f) + ;; (start #~(make-forkexec-constructor + ;; (list #$(file-append (specification->package "dbus") "/bin/dbus-run-session") "sway") + ;; #:log-file (string-append #$log-dir "/swaywm.log"))) + ;; (stop #~(make-system-destructor + ;; (string-join (list #$(file-append (specification->package "sway") "/bin/swaymsg") + ;; "exit"))))) + (shepherd-service (documentation "Emacs Server") (provision '(emacs)) @@ -1098,6 +1110,22 @@ visit otherwise." (host-name "10.80.80.162")) (openssh-host (name "alpha.apex") (host-name "149.28.47.99")) + (openssh-host (name "cnyhackathon-jump") + (host-name "vce.cnyhackathon.org") + (user "rz") + (port 2210) + (extra-content + (string-append " DynamicForward 8888\n"))) + (openssh-host (name "kali") + (user "redteam") + (host-name (string-append "172.18.6." (number->string (+ 60 7)))) + (identity-file "/home/robby/.ssh/redteam_key") + (proxy (list + (proxy-jump (host-name "cnyhackathon-jump")))) + (extra-content + (string-append " DynamicForward 8888\n" + " StrictHostKeyChecking no\n" + " UserKnownHostsFile=/dev/null"))) (openssh-host (name "vce1") (host-name "vce1.ncaecybergames.org") (user "rz") @@ -1112,34 +1140,45 @@ visit otherwise." (string-append " DynamicForward 8888\n")))) redteam-kali-vms)) (authorized-keys (cdr (assq 'ssh-authorized-keys secrets))))) - (simple-service 'variant-packages-service - home-channels-service-type - (cons* - ;; (channel - ;; (name 'nonguix) - ;; (url "https://git.robbyzambito.me/mirror/nonguix.git") - ;; (branch "steam-no-pulse")) - (channel - (name 'nonguix) - (url "https://gitlab.com/nonguix/nonguix") - ;; Enable signature verification: - (introduction - (make-channel-introduction - "897c1a470da759236cc11798f4e0a5f7d4d59fbc" - (openpgp-fingerprint - "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) - (channel - (name 'guix-gaming-games) - (url "https://gitlab.com/guix-gaming-channels/games.git") - ;; Enable signature verification: - (introduction - (make-channel-introduction - "c23d64f1b8cc086659f8781b27ab6c7314c5cca5" - (openpgp-fingerprint - "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F")))) - (channel - (name 'guix) - (url "https://codeberg.org/guix/guix.git")) - '() - ;; %default-channels - ))))) + ;; (simple-service 'variant-packages-service + ;; home-channels-service-type + ;; (cons* + ;; ;; (channel + ;; ;; (name 'nonguix) + ;; ;; (url "https://git.robbyzambito.me/mirror/nonguix.git") + ;; ;; (branch "steam-no-pulse")) + ;; (channel + ;; (name 'nonguix) + ;; (url "https://gitlab.com/nonguix/nonguix") + ;; ;; Enable signature verification: + ;; (introduction + ;; (make-channel-introduction + ;; "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + ;; (openpgp-fingerprint + ;; "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + ;; (channel + ;; (name 'guix-gaming-games) + ;; (url "https://gitlab.com/guix-gaming-channels/games.git") + ;; ;; Enable signature verification: + ;; (introduction + ;; (make-channel-introduction + ;; "c23d64f1b8cc086659f8781b27ab6c7314c5cca5" + ;; (openpgp-fingerprint + ;; "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F")))) + ;; (channel + ;; (name 'guix) + ;; (url "https://codeberg.org/guix/guix.git") + ;; (branch "master")) + ;; ;; (channel + ;; ;; (name 'guix) + ;; ;; (url "https://codeberg.org/guix/guix.git") + ;; ;; (branch "master") + ;; ;; (introduction + ;; ;; (make-channel-introduction + ;; ;; "9edb3f66fd807b096b48283debdcddccfea34bad" + ;; ;; (openpgp-fingerprint + ;; ;; "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) + ;; '() + ;; ;; %default-channels + ;; )) +))) @@ -10,6 +10,7 @@ ;; Indicate which modules to import to access the variables ;; used in this configuration. (use-modules (gnu) + (gnu packages package-management) ; guix-for-channels (gnu system setuid)) (use-service-modules avahi @@ -20,6 +21,7 @@ linux ; for kernel-module-loader-service-type messaging networking + sddm sound spice ssh @@ -44,11 +46,21 @@ (list (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix") - (commit "440720b7b2ca4789298f3150bc82bf1b5ed4b8c9")) + (commit "440720b7b2ca4789298f3150bc82bf1b5ed4b8c9") + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) (channel (name 'guix) - (url "https://git.savannah.gnu.org/git/guix.git") - (commit "d37b467631d5b0e965ea933b8bda8448993580e9")))) + (url "https://codeberg.org/guix/guix.git") + (commit "d37b467631d5b0e965ea933b8bda8448993580e9") + (introduction + (make-channel-introduction + "9edb3f66fd807b096b48283debdcddccfea34bad" + (openpgp-fingerprint + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))) (inferior (inferior-for-channels channels)) (kernel-version "6.2.2")) (values (specification->package "linux") @@ -89,12 +101,23 @@ (comment "Robby Zambito") (group "users") (home-directory "/home/robby") - (supplementary-groups '("wheel" "netdev" "audio" "video" "dialout" "libvirt" "kvm" "spice" "plugdev" "lp" "docker"))) + (supplementary-groups '("wheel" + "netdev" + "audio" + "video" + "dialout" + "libvirt" + "kvm" + "spice" + "plugdev" + "lp" + "docker"))) %base-user-accounts)) (packages (append (specifications->packages (list "amdgpu-firmware" "bluez" "bluez-alsa" "dbus" + "docker-compose" "emacs" "ffmpeg" "gvfs" @@ -156,12 +179,18 @@ (service containerd-service-type) (service docker-service-type) (service elogind-service-type) + ;; (service sddm-service-type + ;; (sddm-configuration + ;; (display-server "wayland"))) + ;; (service gdm-service-type + ;; (gdm-configuration + ;; (wayland? #t))) (service geoclue-service-type) (simple-service 'add-extra-hosts hosts-service-type (list (host "10.69.0.1" "stream.robbyzambito.me") ;; (host "10.42.0.1" "robbyzambito.me") - (host "10.69.0.1" "git.robbyzambito.me") + ;; (host "10.69.0.1" "git.robbyzambito.me") (host "192.168.98.25" "file.pinfosec.dev") (host "144.202.13.55" "mattermost.pinfosec.dev"))) (service libvirt-service-type @@ -201,6 +230,7 @@ (program (file-append (specification->package "swaylock") "/bin/swaylock")) (using-pam? #t) (using-setuid? #f))) + ;; (service seatd-service-type) (service tor-service-type) (service udisks-service-type) (udev-rules-service 'steam-devices steam-devices-udev-rules) @@ -220,10 +250,49 @@ ;; (simple-service 'v4l2loopback-config etc-service-type ;; (list `("modprobe.d/dslr-webcam.conf" ;; ,dslr-webcam-config))) - (service wpa-supplicant-service-type)) + (service wpa-supplicant-service-type) + (service greetd-service-type + (greetd-configuration + (greeter-supplementary-groups (list "video" "input" "users")) + (terminals + (list + ;; we can make any terminal active by default + (greetd-terminal-configuration + (extra-shepherd-requirement '(elogind)) + (terminal-vt "1") + (terminal-switch #t) + (default-session-command + (greetd-wlgreet-sway-session))) + (greetd-terminal-configuration (terminal-vt "2")) + (greetd-terminal-configuration (terminal-vt "3")) + (greetd-terminal-configuration (terminal-vt "4")) + (greetd-terminal-configuration (terminal-vt "5")) + (greetd-terminal-configuration (terminal-vt "6"))))))) ;; This is the default list of services we ;; are appending to. - %base-services)) + (let ((my-channels (cons (channel + (name 'guix) + (url "https://codeberg.org/guix/guix.git") + (branch "master") + (introduction + (make-channel-introduction + "9edb3f66fd807b096b48283debdcddccfea34bad" + (openpgp-fingerprint + "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) + %default-channels))) + + (modify-services + %base-services + (guix-service-type + config => (guix-configuration + (inherit config) + (channels my-channels) + (guix (guix-for-channels my-channels)))) + ;; greetd-service-type provides "greetd" PAM service + (delete login-service-type) + ;; and can be used in place of mingetty-service-type + (delete mingetty-service-type))) + )) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) |
