summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2025-09-03 16:14:53 -0400
committerRobby Zambito <contact@robbyzambito.me>2026-03-06 23:11:11 -0500
commit253af1a81c0db004c29f7a148c9de9b28b6b2b87 (patch)
tree7d50f92cd11fe073bb8b7d3a1d24c22dbd55c01d
parent28a8934249caafc532ac1a387c053b369711adb8 (diff)
some changes
-rw-r--r--home.bashrc1
-rw-r--r--home.scm265
-rw-r--r--system.scm83
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)
diff --git a/home.scm b/home.scm
index dc230b6..9403f7a 100644
--- a/home.scm
+++ b/home.scm
@@ -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
+ ;; ))
+)))
diff --git a/system.scm b/system.scm
index b59b150..968bbed 100644
--- a/system.scm
+++ b/system.scm
@@ -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"))