Advertisement
Guest User

Untitled

a guest
Apr 17th, 2019
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 6.86 KB | None | 0 0
  1. (define-module (wed system pc)
  2.   #:use-module (wed packages linux-custom)
  3.   #:use-module (srfi srfi-1)
  4.   #:use-module (gnu)
  5.   #:use-module (gnu system nss)
  6.   #:use-module (gnu system keyboard)
  7.   #:use-module (gnu system locale)
  8.   #:use-module (gnu services audio)
  9.   #:use-module (gnu services sddm)
  10.   #:use-module (gnu services xorg)
  11.   #:use-module (gnu services desktop)
  12.   #:use-module (gnu services networking)
  13.   #:use-module (gnu services ssh)
  14.   #:use-module (gnu services dbus)
  15.   #:use-module (gnu services avahi)
  16.   #:use-module (gnu services sound))
  17. (use-package-modules libusb python guile xorg)
  18.  
  19. (define %base-services
  20.   (modify-services %base-services
  21.     (udev-service-type config =>
  22.                        (udev-configuration
  23.             (inherit config)
  24.             (udev wed-eudev)))
  25.     ;; (guix-service-type config =>
  26.     ;;                   (guix-configuration
  27.     ;;                    (inherit config)
  28.     ;;                    (use-substitutes? #f)
  29.     ;;                    ;(extra-options '("--gc-keep-derivations"))
  30.     ;;          ))
  31.     ))
  32.  
  33. ;; (define %desktop-services-without-gdm
  34. ;;   (remove (lambda (service)
  35. ;;             (eq? (service-kind service) gdm-service-type))
  36. ;;           %desktop-services))
  37.  
  38. (define %base-packages
  39.   (lset-difference eq? %base-packages
  40.            (map specification->package
  41.             '("nano" "zile" "iw" "wireless-tools"
  42.               "info-reader" "isc-dhcp" "bash-completion"))))
  43.  
  44. (operating-system
  45.   (host-name "ur.mom.lol")
  46.   (timezone "Europe/London")
  47.   (locale-definitions `(,(locale-definition
  48.               (name "en_GB.UTF-8")
  49.               (source "en_GB")
  50.               (charset "UTF-8"))))
  51.   (locale "en_GB.utf8")
  52.  
  53.   (initrd-modules '("ahci" "usbhid"))
  54.   (firmware '())
  55.   (kernel-arguments '("iommu=soft,rootflags=compress=lzo,autodefrag"))
  56.   (skeletons '())
  57.  
  58.   (bootloader (bootloader-configuration
  59.            (bootloader grub-efi-bootloader)
  60.            (target "/boot/efi")
  61.            (timeout 2)))
  62.   (file-systems (cons* (file-system
  63.              (device (file-system-label "root"))
  64.              (mount-point "/")
  65.              (options "compress=lzo,autodefrag")
  66.              (type "btrfs"))
  67.                (file-system
  68.              ;;(device (uuid "9A02-78AB" 'fat))
  69.              (device (file-system-label "EFI"))
  70.              (mount-point "/boot/efi")
  71.              (type "vfat"))
  72.                %base-file-systems))
  73.   (swap-devices '("/dev/sda2"))
  74.  
  75.   (keyboard-layout (keyboard-layout "us" "dvp"
  76.                     #:options
  77.                     '("ctrl:swap_lalt_lctl"
  78.                       "caps:swapescape"
  79.                       "keypad:pointerkeys"
  80.                       "terminate:ctrl_alt_bksp")))
  81.  
  82.   (users (cons (user-account
  83.         (name "wednesday")
  84.         (group "users")
  85.         (supplementary-groups '("wheel" "audio" "video" "netdev"))
  86.         (home-directory "/home/wednesday"))
  87.            %base-user-accounts))
  88.  
  89.   (name-service-switch %mdns-host-lookup-nss) ;; look into
  90.   (packages (append (map specification->package
  91.              (append
  92.               ;; misc
  93.               '("nss-certs" "emacs" "glibc-utf8-locales" "git" "python" "guile-colorized" "guile-readline")
  94.               ;; x
  95.               '("emacs-exwm" "font-dejavu" "xmodmap" "xrandr")))
  96.             %base-packages))
  97.   (services (append
  98.          ;; net
  99.          `(,(service ntp-service-type)
  100.            ,(static-networking-service "enp3s0" "192.168.0.20"
  101.                        #:gateway "192.168.0.1"
  102.                        #:name-servers '("1.1.1.1" "8.8.8.8" "4.4.4.4"))
  103.            ,(service openssh-service-type
  104.              (openssh-configuration
  105.               (permit-root-login 'without-password)
  106.               (password-authentication? #f)
  107.               (use-pam? #f)
  108.               (port-number 2222))))
  109.          ;; dbus
  110.          `(,(service avahi-service-type
  111.              (avahi-configuration (host-name #f)
  112.                           (publish? #t)
  113.                           (ipv4? #t)
  114.                           (ipv6? #f)
  115.                           (wide-area? #f)
  116.                           (domains-to-browse '())))
  117.            ,(accountsservice-service)
  118.            ,(service polkit-service-type)
  119.            ,(dbus-service))
  120.          ;; x
  121.          `(,(sddm-service (sddm-configuration
  122.                        (auto-login-user "wednesday")
  123.                        (auto-login-session "exwm.desktop")
  124.                        (relogin? #t)
  125.                    (xorg-configuration (xorg-configuration
  126.                                 (modules (list xf86-video-nouveau xf86-input-evdev))
  127.                             (drivers '("nouveau"))
  128.                             (resolutions '((1920 1080) (1440 900)))
  129.                             (extra-config '("Section \"InputClass\"
  130.    Identifier      \"evdev keyboard catchall\"
  131.    MatchIsKeyboard \"on\"
  132.    Option          \"AutoRepeat\" \"250 10\"
  133. EndSection\n"
  134.                                     "Section \"InputClass\"
  135.    Identifier      \"evdev mouse pointer catchall\"
  136.    MatchIsPointer  \"yes\"
  137.    Option          \"AccelerationProfile\" \"-1\"
  138.    Option          \"AccelerationScheme\" \"none\"
  139.    Option          \"AccelSpeed\" \"-1\"
  140.    #Option          \"AccelerationProfile\" \"7\"
  141.    #Option          \"AdaptiveDeceleration\" \"10\"
  142.    #Option          \"AccelerationProfileAveraging\" \"false\"
  143. EndSection\n"
  144.                                     "Section \"Screen\"
  145.    Identifier      \"screen-nouveau\"
  146.    Option         \"metamodes\" \"VGA-0: 1920x1080_75.00 +0+0 {ForceCompositionPipeline=on, ForceFullCompositionPipeline=on}, DVI-D-0: 1440x900 +1920+56 {ForceCompositionPipeline=on, ForceFullCompositionPipeline=on}\"
  147.    Option          \"HWCursor\" \"on\"
  148.    Option          \"AccelMethod\" \"exa\"
  149.    Option          \"NoAccel\" \"off\"
  150.    Option          \"ShadowFB\" \"off\"
  151.    Option          \"WrappedFB\" \"off\"
  152.    Option          \"GLXVBlank\" \"off\"
  153.    Option          \"ZaphodHeads\" \"VGA-1,DVI-D-1\"
  154.    Option          \"PageFlip\" \"on\"
  155.    Option          \"SwapLimit\" \"3\"
  156.    Option          \"DRI\" \"3\"
  157.    SubSection      \"Display\"
  158.        Depth       24
  159.    EndSubSection
  160. EndSection\n"
  161.                                     "Section \"Monitor\"
  162.    Identifier      \"VGA-1\"
  163. Modeline \"1920x1080_75.00\" 220.64 1920 2056 2264 2608 1080 1081 1084 1128 -HSync +Vsync
  164. EndSection\n"
  165.                                     "Section \"Monitor\"
  166.    Identifier      \"DVI-D-1\"
  167.    Option          \"RightOf\" \"VGA-1\"
  168. EndSection\n"))
  169.                                 (keyboard-layout keyboard-layout)))))
  170.            ,x11-socket-directory-service)
  171.  
  172.          ;; misc
  173.          `(,(extra-special-file "/usr/bin/env"
  174.                     (file-append coreutils "/bin/env"))
  175.            ,(extra-special-file "/usr/local/bin/guile"
  176.                     (file-append guile-2.2 "/bin/guile"))
  177.            ,(extra-special-file "/usr/local/bin/python"
  178.                     (file-append python "/bin/python3.7"))
  179.            ,(simple-service 'mtp udev-service-type (list libmtp))
  180.            ,(service alsa-service-type)
  181.            ,(service mpd-service-type
  182.              (mpd-configuration
  183.               (user "wednesday")
  184.               (music-dir "/home/wednesday/Music/")
  185.               (playlist-dir "/home/wednesday/.config/mpd/playlists")
  186.                           (db-file "/home/wednesday/.config/mpd/db")
  187.                           (state-file "/home/wednesday/.config/mpd/state")
  188.                           (sticker-file "/home/wednesday/.config/mpd/sticker.sql")
  189.                           (port "6600")
  190.                           (address "localhost"))))
  191.          %base-services)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement