config.scm 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. (add-to-load-path "/home/thomas/guixsd/modules/tms")
  2. (use-modules
  3. (gnu)
  4. (gnu system)
  5. (gnu system nss)
  6. (gnu packages libusb)
  7. (guix monads)
  8. (guix store)
  9. (ice-9 rdelim)
  10. (srfi srfi-1)
  11. (linux-nonfree)
  12. ; (wkhtmltopdf)
  13. ; (etc-symlinks)
  14. ; (fpm2)
  15. )
  16. (use-service-modules
  17. desktop base xorg ssh avahi dbus xorg networking cups)
  18. (use-package-modules
  19. avahi xorg certs wm zip code wget admin emacs tmux
  20. ssh linux disk file gnuzilla version-control maths guile crypto gnupg
  21. password-utils rsync suckless gnome video xdisorg
  22. terminals ssh image-viewers web-browsers pulseaudio
  23. tex tor readline adns fontutils gnunet package-management
  24. networking connman lisp certs cryptsetup fonts python
  25. bittorrent password-utils engineering graphviz shells compression
  26. gnome enlightenment dns ghostscript)
  27. (define hp-laptop-monitor-settings
  28. (call-with-input-file "/home/thomas/guixsd/dotfiles/etc/X11/xorg.conf.d/90-monitor.conf" read-string))
  29. (define tms-desktop-services
  30. (remove (lambda (service)
  31. (eq? (service-kind service) wicd-service-type))
  32. %desktop-services))
  33. (operating-system
  34. (host-name "hitpoints")
  35. (timezone "Europe/Oslo")
  36. (locale "en_US.UTF-8")
  37. (kernel linux-nonfree)
  38. (firmware (cons* intel-iwlwifi-firmware-non-free %base-firmware))
  39. (bootloader (grub-configuration (device "/dev/disk/by-id/ata-INTEL_SSDSC2CT240A4_CVKI246301DN240DGN")))
  40. (swap-devices '("/dev/disk/by-label/swap"))
  41. (file-systems (cons* (file-system
  42. (device "rootfs")
  43. (title 'label)
  44. (mount-point "/")
  45. (type "ext4"))
  46. (file-system
  47. (device "nixos-root")
  48. (title 'label)
  49. (mount-point "/home/thomas/disk")
  50. (type "ext4")
  51. (create-mount-point? #t))
  52. %base-file-systems))
  53. (issue "Mercury.\n")
  54. ;; (groups (cons (user-group (name "nixbld")) %base-groups))
  55. (users (list (user-account
  56. (name "thomas")
  57. (comment "This should be interesting...")
  58. (group "users")
  59. (supplementary-groups '("wheel" "netdev" "audio" "video"
  60. "lp" "tor" "lpadmin" "avahi"
  61. "users" "kvm" ;"nixbld"
  62. ))
  63. (home-directory "/home/thomas"))))
  64. ;;; Maybe use or adapt alezost-guile al/places.scm?
  65. ;;; Add visudo check into sudoers-file PROC - patch into GuixSD?
  66. (sudoers-file (local-file "/home/thomas/guixsd/dotfiles/etc/sudoers"))
  67. (hosts-file (local-file "/home/thomas/guixsd/dotfiles/etc/hosts"))
  68. (packages
  69. (cons*
  70. i3-wm i3status hicolor-icon-theme ;desktop environment
  71. ;useful tools
  72. avahi zip unzip tmux htop tree mosh unrar
  73. the-silver-searcher psmisc wget file strace
  74. inotify-tools wgetpaste rsync dmenu openssh lsh
  75. feh stow mcelog readline libcap wcalc graphviz xdotool
  76. ;; gvfs ; for automounting as user, check gvfsd as a service before
  77. ;; enabling
  78. ; fstools
  79. dosfstools
  80. ; X
  81. xbindkeys xterm xmodmap setxkbmap xclip xkill xbacklight
  82. xorg-server xf86-input-evdev xf86-video-fbdev xf86-video-intel
  83. xf86-input-synaptics xev xdpyinfo xrdb xrandr xfontsel
  84. ; audio
  85. pulseaudio
  86. ; font
  87. fontconfig xlsfonts
  88. font-inconsolata font-google-noto
  89. gs-fonts font-dejavu font-gnu-freefont-ttf
  90. font-adobe-source-han-sans font-wqy-zenhei
  91. ;;font-google-material-design-icons
  92. ;;font-gnu-unifont
  93. ; laptop specific
  94. acpi freefall
  95. ; dev
  96. git gnu-make python-3 binutils
  97. guile-lib
  98. ; misc tools
  99. units gnuplot
  100. ; terminals and emulators
  101. st termite xonsh
  102. ; Networking, crypto & security
  103. ;;tomb
  104. gnupg pwgen tor torsocks nmap adns iodine
  105. connman transmission password-store
  106. ;;gnunet gnunet-gtk
  107. ;;isc-bind:utils
  108. ;;onionshare
  109. ;for HTTPS access
  110. nss-certs
  111. ; emacs
  112. emacs emacs-guix emacs-magit-popup emacs-smart-mode-line
  113. emacs-rainbow-delimiters emacs-rainbow-identifiers
  114. emacs-scheme-complete emacs-neotree emacs-ag flycheck
  115. emacs-undo-tree emacs-fill-column-indicator
  116. emacs-scheme-complete emacs-pdf-tools emacs-solarized-theme
  117. geiser guile-2.2 paredit
  118. %base-packages))
  119. (services
  120. (cons*
  121. (console-keymap-service "us")
  122. (service cups-service-type
  123. (cups-configuration
  124. (web-interface? #t)
  125. (browsing? #t)
  126. (default-paper-size "a4")))
  127. (service connman-service-type
  128. (connman-configuration
  129. (disable-vpn? #f)))
  130. (service wpa-supplicant-service-type wpa-supplicant)
  131. (tor-service (local-file "/home/thomas/guixsd/dotfiles/etc/tor/torrc"))
  132. (modify-services tms-desktop-services
  133. (dbus-service config =>
  134. #:services (list connman
  135. avahi))
  136. (slim-service-type config =>
  137. (slim-configuration
  138. (inherit config)
  139. (startx (xorg-start-command
  140. #:configuration-file
  141. (xorg-configuration-file
  142. #:extra-config
  143. (list hp-laptop-monitor-settings))))))
  144. (guix-service-type config =>
  145. (guix-configuration
  146. (inherit config)
  147. (extra-options '("--max-jobs=2" "--cores=2")))))
  148. )) ; end services
  149. ;; Allow resolution of '.local' host names with mDNS.
  150. (name-service-switch %mdns-host-lookup-nss)
  151. )