spacepaste

  1.  
  2. (add-to-load-path "/home/thomas/guixsd/modules/tms")
  3. (use-modules
  4. (gnu)
  5. (gnu system)
  6. (gnu system nss)
  7. (gnu packages libusb)
  8. (guix monads)
  9. (guix store)
  10. (ice-9 rdelim)
  11. (linux-nonfree)
  12. (fpm2))
  13. (use-service-modules
  14. desktop base xorg ssh avahi dbus xorg networking cups)
  15. (use-package-modules
  16. avahi xorg certs wm zip code wget admin emacs tmux haskell
  17. ssh linux disk file gnuzilla version-control maths guile crypto gnupg
  18. password-utils pdf mail rsync suckless gnome video xdisorg
  19. terminals ssh music conkeror image-viewers package-management dillo
  20. tex tor libreoffice readline scribus adns games fontutils gnunet
  21. networking connman lisp certs cryptsetup)
  22. (define hp-laptop-monitor-settings
  23. (call-with-input-file "/home/thomas/guixsd/dotfiles/etc/X11/xorg.conf.d/90-monitor.conf" read-string))
  24. (define %guix-daemon-config
  25. (guix-configuration
  26. (extra-options '("--max-jobs=2" "--cores=2"))))
  27. (operating-system
  28. (host-name "hitpoints")
  29. (timezone "Europe/Oslo")
  30. (locale "en_US.UTF-8")
  31. (kernel linux-nonfree)
  32. (firmware (cons* intel-iwlwifi-firmware-non-free %base-firmware))
  33. (bootloader (grub-configuration (device "/dev/disk/by-id/ata-INTEL_SSDSC2CT240A4_CVKI246301DN240DGN")))
  34. (swap-devices '("/dev/disk/by-label/swap"))
  35. (file-systems (cons* (file-system
  36. (device "rootfs")
  37. (title 'label)
  38. (mount-point "/")
  39. (type "ext4"))
  40. (file-system
  41. (device "nixos-root")
  42. (title 'label)
  43. (mount-point "/home/thomas/disk")
  44. (type "ext4")
  45. (create-mount-point? #t))
  46. %base-file-systems))
  47. (issue "Remember Mercury.")
  48. (users (list (user-account
  49. (name "thomas")
  50. (comment "This should be interesting...")
  51. (group "users")
  52. (supplementary-groups '("wheel" "netdev" "audio" "video"
  53. "lp" "tor" "lpadmin" "avahi"
  54. "users"))
  55. (home-directory "/home/thomas"))))
  56. ;;; Maybe use or adapt alezost-guile al/places.scm?
  57. ;;; Add visudo check into sudoers-file PROC - patch into GuixSD.
  58. (sudoers-file (local-file "/home/thomas/guixsd/dotfiles/etc/sudoers"))
  59. (hosts-file (local-file "/home/thomas/guixsd/dotfiles/etc/hosts"))
  60. (packages
  61. (cons*
  62. i3-wm i3status ;desktop environments
  63. ;useful tools
  64. avahi zip unzip tar tmux htop tree mosh ;wicd
  65. the-silver-searcher psmisc wget file strace
  66. inotify-tools wgetpaste rsync dmenu openssh lsh
  67. feh stow mcelog readline libcap wcalc fontconfig
  68. ; X
  69. xbindkeys xterm xmodmap setxkbmap xclip xkill xbacklight
  70. xorg-server xf86-input-evdev xf86-video-fbdev xf86-video-intel
  71. xf86-input-synaptics xev xdpyinfo xrdb xrandr
  72. ; laptop specific
  73. acpi freefall
  74. ; dev
  75. git gnu-make
  76. ; misc tools
  77. units gnuplot
  78. ; media video audio music images
  79. mps-youtube mpv alsa-utils moc
  80. ; terminal emulators
  81. st termite
  82. ; Networking, crypto & security
  83. tomb gnupg pwgen tor torsocks onionshare nmap adns iodine gnunet
  84. gnunet-gtk connman
  85. ;;fpm2
  86. ;for HTTPS access
  87. nss-certs
  88. ; web browser
  89. icecat conkeror dillo
  90. ; email
  91. claws-mail
  92. ; document conversion and office
  93. ghc-pandoc texlive libreoffice scribus
  94. ; emacs
  95. emacs emacs-guix emacs-magit-popup emacs-smart-mode-line
  96. emacs-rainbow-delimiters emacs-rainbow-identifiers
  97. emacs-scheme-complete emacs-neotree emacs-ag flycheck
  98. emacs-undo-tree emacs-fill-column-indicator
  99. emacs-scheme-complete emacs-pdf-tools emacs-solarized-theme
  100. geiser guile-2.0 paredit
  101. ; pdf
  102. zathura zathura-cb zathura-djvu zathura-pdf-poppler
  103. zathura-ps qpdf
  104. ; Games
  105. hyperrogue minetest laby
  106. %base-packages))
  107. (services
  108. (cons*
  109. (console-keymap-service "us")
  110. (service cups-service-type
  111. (cups-configuration
  112. (web-interface? #t)
  113. (browsing? #t)
  114. (default-paper-size "a4")))
  115. ;;(dhcp-client-service)
  116. ;;(connman)
  117. (service connman-service-type
  118. (connman-configuration
  119. (disable-vpn? #f)))
  120. (service wpa-supplicant-service-type wpa-supplicant);connman) ; ??
  121. (tor-service (local-file "/home/thomas/guixsd/dotfiles/etc/tor/torrc"))
  122. (screen-locker-service xlockmore "xlock -mode blank")
  123. ;; Desktop services, with some changes.
  124. ;;(slim-service)
  125. (slim-service-type config =>
  126. (slim-configuration
  127. (inherit config)
  128. (startx (xorg-start-command
  129. #:configuration-file
  130. (xorg-configuration-file
  131. #:extra-config
  132. (list hp-laptop-monitor-settings))))))
  133. (simple-service 'mtp udev-service-type (list libmtp))
  134. ;; The D-Bus clique.
  135. (avahi-service)
  136. ;(wicd-service)
  137. (udisks-service)
  138. (upower-service)
  139. (colord-service)
  140. (geoclue-service)
  141. (polkit-service)
  142. (elogind-service)
  143. (dbus-service)
  144. (ntp-service)
  145. (modify-services
  146. %base-services
  147. ;; Disable substitutes altogether.
  148. (guix-service-type config => %guix-daemon-config))))
  149. ;; Allow resolution of '.local' host names with mDNS.
  150. (name-service-switch %mdns-host-lookup-nss)
  151. )
  152.