M config.scm => config.scm +12 -3
  
@@ 15,7 15,7 @@
  (gnu packages curl)
  (gnu packages bash)
  (gnu packages compression))
-(use-service-modules desktop sddm xorg base nix)
+(use-service-modules desktop sddm xorg base nix pm)
 (use-package-modules gnome package-management)
 
 (operating-system
@@ 95,7 95,8 @@
                  (xorg-configuration
                   (keyboard-layout keyboard-layout)))
                 (service bluetooth-service-type)
-                (service nix-service-type))
+                (service nix-service-type)
+                (service power-profiles-daemon-service-type))
           (modify-services
            %desktop-services
            (pulseaudio-service-type config => (pulseaudio-configuration
@@ 103,7 104,15 @@
                                                 (client-conf
                                                  (append
                                                   (pulseaudio-configuration-client-conf config)
-                                                 '((autospawn . no))))))))) ;; todo remove gdm
+                                                 '((autospawn . no))))))
+           (guix-service-type config => (guix-configuration
+                                         (inherit config)
+                                         (substitute-urls
+                                          (append (list "https://substitutes.nonguix.org")
+                                                  %default-substitute-urls))
+                                         (authorized-keys
+                                          (append (list (local-file "keys/nonguix-signing-key.pub"))
+                                                  %default-authorized-guix-keys))))))) ;; todo remove gdm
 
 
  ;; Allow resolution of '.local' host names with mDNS.
 
R home/.bash_profile => home/dotfiles/.bash_profile +0 -0
R home/.bashrc => home/dotfiles/.bashrc +0 -0
A  =>  +1 -0
  
@@ 0,0 1,1 @@
font=Hack:size=12
\ No newline at end of file
 
A home/dotfiles/mako => home/dotfiles/mako +20 -0
  
@@ 0,0 1,20 @@
+background-color=#222223CC
+border-color=#8babf0FF
+border-size=2
+default-timeout=5000
+font=Ubuntu Mono 10
+height=250
+ignore-timeout=1
+layer=overlay
+margin=5
+max-icon-size=16
+padding=24
+text-color=#ccccccFF
+
+[mode=idle]
+border-color=#444444FF
+default-timeout=0
+ignore-timeout=1
+
+[urgency=critical]
+border-color=#c45500FF
 
R home/waybar-config.jsonc => home/dotfiles/waybar/config.jsonc +0 -0
R home/waybar-style.css => home/dotfiles/waybar/style.css +0 -0
M home/home-configuration.scm => home/home-configuration.scm +20 -16
  
@@ 15,7 15,7 @@
              (gnu home services gnupg)
              (gnu home services sound)
              (gnu home services)
-             (home fonts))
+             (ruther home dwl wm))
 
 (home-environment
  ;; Below is the list of packages that will show up in your
@@ 23,7 23,7 @@
  (packages
   (append
    (list
-    font-ubuntu)
+    dwl-mine)
    (specifications->packages
     (list
      ;; HW interactions
@@ 52,16 52,15 @@
      ;; Passwords
      "gnupg" "password-store" "pass-otp"
 
-     ;; For window manager
-     "dwl-mine" "waybar-mine"
-     "rofi-wayland"
-     "brillo"
-     "wlr-randr" ;;"dwlmsg"
-     ;;"wlopm"
-     "grim" "slurp"
+     ;; DBus services
+     "mako"
+
+     ;; My favorite wm
+     ;; "dwl-mine"
 
-     ;; Notebook
+     ;; Notebook stuff
      "acpi" "xbacklight"
+     "brillo"
 
      ;; Editing
      "emacs" "emacs-vterm"
@@ 77,15 76,20 @@
                               ("ip" . "ip -color=auto")
                               ("ll" . "ls -l")
                               ("ls" . "ls -p --color=auto")))
-                   (bashrc (list (local-file ".bashrc" "bashrc")))
-                   (bash-profile (list (local-file ".bash_profile"
+                   (bashrc (list (local-file "dotfiles/.bashrc" "bashrc")))
+                   (bash-profile (list (local-file "dotfiles/.bash_profile"
                                                    "bash_profile")))))
 
          (service home-files-service-type
-                  `((".config/foot/foot.ini" ,(local-file "./foot.ini"))
-                    (".config/waybar/config.jsonc" ,(local-file "waybar-config.jsonc"))
-                    (".config/waybar/style.css" ,(local-file "waybar-style.css"))
-                    (".librewolf/native-messaging-hosts/com.github.browserpass.native.json" ,(file-append (specification->package "browserpass-native") "/lib/browserpass/hosts/firefox/com.github.browserpass.native.json"))))
+                  `((".config/foot/foot.ini" ,(local-file "dotfiles/foot.ini"))
+                    (".config/waybar/config.jsonc" ,(local-file "dotfiles/waybar/config.jsonc"))
+                    (".config/waybar/style.css" ,(local-file "dotfiles/waybar/style.css"))
+                    (".config/mako/config" ,(local-file "dotfiles/mako"))
+
+                    (".librewolf/native-messaging-hosts/com.github.browserpass.native.json"
+                     ,(file-append
+                       (specification->package "browserpass-native")
+                       "/lib/browserpass/hosts/firefox/com.github.browserpass.native.json"))))
 
          (simple-service 'default-fonts
                          home-fontconfig-service-type
 
R home/dwl/config.h => home/modules/ruther/home/dwl/config.h +0 -0
R home/dwl/dwl-ipc-waybar.patch => home/modules/ruther/home/dwl/dwl-ipc-waybar.patch +0 -0
R home/dwl/wm.scm => home/modules/ruther/home/dwl/wm.scm +54 -4
  
@@ 1,10 1,16 @@
-(define-module (home dwl wm)
+(define-module (ruther home dwl wm)
+  #:use-module (gnu packages)
   #:use-module (gnu packages wm)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages bash)
 
   #:use-module (ruther packages wayland)
 
+  #:use-module (guix build-system trivial)
+
   #:use-module (guix packages)
+  #:use-module (guix profiles)
+  #:use-module (guix build union)
   #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix download)
@@ 33,11 39,11 @@
                               "XLIBS = xcb xcb-icccm")
                             #$original-flags))))))
 
-(define-public dwl-mine
+(define-public dwl-mine-unwrapped
   (let ((base (make-dwl-xwayland dwl-0.7)))
     (package
       (inherit base)
-      (name "dwl-mine")
+      (name "dwl-mine-unwrapped")
       (source
        (origin
          (method git-fetch)
@@ 53,4 59,48 @@
                           (lambda _
                             (copy-file #$(local-file "config.h") "config.h"))))))))))
 
-;; TODO wrapping with needed deps
+;; Packages I use when in the WM, it's dependent on those.
+(define wm-packages
+  (specifications->manifest
+   '("waybar-mine"
+     "rofi-wayland"
+     "brillo"
+     "wlr-randr"
+     ;; "dwlmsg"
+     ;; "wlopm"
+     "grim"
+     "slurp"
+
+     "emacs-pgtk")))
+
+(define dwl-mine-gexp
+  (with-imported-modules '((guix build utils)
+                           (guix build union))
+    #~(begin
+        (use-modules (guix build utils)
+                     (guix build union))
+
+        (union-build #$output (list #$dwl-mine-unwrapped)
+                     #:create-all-directories? #t)
+
+        (let ((target-file (string-append #$output "/bin/dwl"))
+              (wrapped-file (string-append #$output "/bin/.dwl-real"))
+              (wm-profile #$(profile (content wm-packages))))
+          (rename-file target-file wrapped-file)
+          (call-with-output-file target-file
+            (lambda (port)
+              (format port
+                      "#!~a~%~a~%exec -a \"$0\" \"~a\" \"$@\"~%"
+                      (string-append #$bash "/bin/bash")
+                      (string-append "source " wm-profile "/etc/profile")
+                      (canonicalize-path wrapped-file))))
+          (chmod target-file #o755)))))
+
+(define-public dwl-mine
+  (package/inherit dwl-mine-unwrapped
+    (name "dwl-mine")
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments
+     (list
+      #:builder dwl-mine-gexp))))
 
A home/modules/ruther/home/editors.scm => home/modules/ruther/home/editors.scm +3 -0
  
@@ 0,0 1,3 @@
+(define-module (ruther home editors)
+  ;; #:use-module ()
+  )
 
R home/fonts.scm => home/modules/ruther/home/fonts.scm +1 -1
  
@@ 1,4 1,4 @@
-(define-module (home fonts)
+(define-module (ruther home fonts)
   #:use-module (gnu packages compression)
   #:use-module (guix packages)
   #:use-module (guix build-system copy)
 
A keys/nonguix-signing-key.pub => keys/nonguix-signing-key.pub +6 -0
  
@@ 0,0 1,6 @@
+(public-key
+ (ecc
+  (curve Ed25519)
+  (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
+  )
+ )