;;this is znavko's cute config

(use-modules (gnu) (gnu system nss)
             (gnu system locale) ;;for locale-definition
             (gnu services desktop)
             ;;(gnu services dns) ;;for dnsmasq
             (srfi srfi-1) ;;for remove function
             (gnu services networking) ;;for remove ntp
             (gnu services avahi) ;;for remove avahi
             (gnu services xorg)
             ;;(gnu services databases);;for postgres
             (gnu packages admin) ;;for wpa_supplicant
)
(use-service-modules desktop)
(use-package-modules certs gnome)

;;(define %redundant-linux-modules '("pcspkr" "snd_pcsp"))

(operating-system (host-name "antelope") (timezone "Europe/Moscow") (locale "en_US.utf8")
  (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (target "/dev/sda")))
  (file-systems (cons (file-system
                        (device "/dev/sda1") (mount-point "/") (type "ext4"))
                      %base-file-systems))
  (swap-devices '("/dev/sda2"))

  (users (cons* (user-account (name "bob") (group "users")
                (supplementary-groups '("wheel" "netdev" "audio" "video"))
                (home-directory "/home/bob"))
                (user-account (name "mom") (group "users")
                (supplementary-groups '("wheel" "netdev" "audio" "video"))
                (home-directory "/home/mom"))
               %base-user-accounts))

  ;; This is where we specify system-wide packages.
  (packages (cons* nss-certs         ;for HTTPS access
                   gvfs              ;for user mounts
		   ;;wpa-supplicant
		   isc-dhcp
                   %base-packages))

  (services (cons*  
                    ;;(service postgresql-service-type)
                    (service xfce-desktop-service-type)
                    ;;(service wpa-supplicant-service-type 
                    ;;  (wpa-supplicant-configuration
                    ;;    (config-file "/etc/wpa_supplicant/wpa_supplicant.conf")))

                    ;;(service dhcpd-service-type
                    ;;  (dhcpd-configuration
                    ;;    (config-file  (local-file "/etc/dhcpd.conf"))
                    ;;    (interfaces '("wlp2s0"))))


                    (modify-services      
                      (remove (lambda (service)
                        (eq? (service-kind service)
                          ntp-service-type))
                         (remove (lambda (service)
                           (eq? (service-kind service)
                             avahi-service-type))

                              (modify-services  
                                (modify-services %desktop-services
                                  (slim-service-type config =>
                                    (slim-configuration
                                      (xorg-configuration
                                        (xorg-configuration
                                          (extra-config
                                                    
'("Section \"InputClass\"
        Identifier \"touchpad\"
        Driver \"libinput\"
        MatchIsTouchpad \"on\"
        Option \"Tapping\" \"on\"
EndSection")
                                            )))))
                                 )  ;end of modify-services 3rd

                                 (wpa-supplicant-service-type config =>
                                   (wpa-supplicant-configuration
                                     (config-file "/etc/wpa_supplicant/wpa_supplicant.conf")))

                               )  ;end of modify-services 2nd

                            )  ;end of remove avahi
                          )  ;end of remove2 ntp
                      (elogind-service-type
                        c => (elogind-configuration (handle-lid-switch 'ignore)))
                    );;end of modify-services 1st desktop-services
  ));;end of services

  ;; Allow resolution of '.local' host names with mDNS.
  (name-service-switch %mdns-host-lookup-nss)


 (kernel-arguments '("modprobe.blacklist=pcspkr,snd_pcsp"))
 ;(kernel-arguments
 ;    (list (string-append "modprobe.blacklist="
 ;                         (apply comma-separated
 ;   %redundant-linux-modules))))

);;end of operating-system

  

