guixconfig/config.scm

250 lines
7.3 KiB
Scheme
Raw Normal View History

2023-12-01 14:30:07 +00:00
;; Modules
2023-11-28 21:38:47 +00:00
2023-12-01 14:30:07 +00:00
;; #+NAME: module-list
;; - gnu
;; - gnu image
2023-12-18 00:05:20 +00:00
;; - gnu packages gnome
2023-12-18 00:27:14 +00:00
;; - gnu services admin
2023-12-01 14:30:07 +00:00
;; - gnu services authentication
;; - gnu services base
2023-12-18 00:27:14 +00:00
;; - gnu services configuration
2023-12-01 14:30:07 +00:00
;; - gnu services dbus
;; - gnu services desktop
;; - gnu services linux
;; - gnu services networking
;; - gnu services pm
2023-12-19 00:16:03 +00:00
;; - gnu services sound
2023-12-01 14:30:07 +00:00
;; - gnu services virtualization
;; - gnu services xorg
;; - gnu system nss
2023-12-11 11:54:43 +00:00
;; - nongnu packages linux
;; - nongnu system linux-initrd
2023-12-01 14:30:07 +00:00
;; [[file:config.org::*Modules][Modules:1]]
2023-12-14 21:49:12 +00:00
(use-modules
(gnu)
(gnu image)
2023-12-17 16:43:07 +00:00
(gnu packages gnome)
2023-12-18 00:27:14 +00:00
(gnu services admin)
2023-12-14 21:49:12 +00:00
(gnu services authentication)
(gnu services base)
2023-12-18 00:27:14 +00:00
(gnu services configuration)
2023-12-14 21:49:12 +00:00
(gnu services dbus)
(gnu services desktop)
(gnu services linux)
(gnu services networking)
(gnu services pm)
2023-12-19 00:16:03 +00:00
(gnu services sound)
2023-12-14 21:49:12 +00:00
(gnu services virtualization)
(gnu services xorg)
(gnu system nss)
(nongnu packages linux)
(nongnu system linux-initrd))
2023-12-01 14:30:07 +00:00
;; Modules:1 ends here
;; Service Modules
;; #+NAME: service-module-list
;; - desktop
;; - xorg
;; [[file:config.org::*Service Modules][Service Modules:1]]
2023-12-14 21:49:12 +00:00
(use-service-modules desktop xorg)
2023-12-01 14:30:07 +00:00
;; Service Modules:1 ends here
;; Package Modules
;; #+NAME: package-module-list
;; - bootloaders
;; - certs
;; - emacs
;; - emacs-xyz
;; - fonts
2023-12-12 09:28:30 +00:00
;; - pciutils
2023-12-01 14:30:07 +00:00
;; - readline
;; - terminals
;; - version-control
;; - wm
;; - xorg
2023-11-28 21:38:47 +00:00
2023-12-01 14:30:07 +00:00
;; [[file:config.org::*Package Modules][Package Modules:1]]
2023-12-14 21:49:12 +00:00
(use-package-modules
bootloaders
certs
emacs
emacs-xyz
fonts
pciutils
readline
terminals
version-control
wm
xorg)
2023-12-01 14:30:07 +00:00
;; Package Modules:1 ends here
;; Operating System
;; This is the full operating system specification.
2023-12-01 13:22:33 +00:00
2023-12-01 14:30:07 +00:00
;; [[file:config.org::*Operating System][Operating System:1]]
2023-11-28 21:38:47 +00:00
(operating-system
(host-name "ziltis-machine")
(timezone "Europe/Berlin")
(locale "de_DE.utf8")
2023-11-29 13:08:49 +00:00
(keyboard-layout
2023-12-01 13:22:33 +00:00
(keyboard-layout "de" #:options '("caps:swapescape")))
2023-12-11 11:54:43 +00:00
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
2023-11-28 22:38:08 +00:00
(bootloader
(bootloader-configuration
2023-12-01 13:34:54 +00:00
(bootloader grub-efi-bootloader)
2023-11-28 22:38:08 +00:00
(targets
'("/boot/efi"))
(keyboard-layout keyboard-layout)))
2023-12-18 00:05:20 +00:00
#;(file-systems %local-filesystem)
#;(swap-devices %local-swap)
2023-12-14 21:49:12 +00:00
(file-systems (append (list
(file-system
2023-12-17 16:40:03 +00:00
(device (file-system-label "EFI"))
(mount-point "/boot/efi")
(type "vfat"))
(file-system
(device (file-system-label "guix"))
(mount-point "/")
(type "xfs")))
2023-12-14 21:49:12 +00:00
%base-file-systems))
(swap-devices
(list (swap-space (target (file-system-label "swap")))))
2023-11-28 22:38:08 +00:00
(users
2023-11-29 12:01:54 +00:00
(cons*
(user-account
(name "zilti")
(group "users")
(supplementary-groups
2023-12-18 21:11:28 +00:00
'("users" "wheel" "netdev" "audio" "video" "libvirt" "seat")))
2023-11-28 22:38:08 +00:00
%base-user-accounts))
2023-12-01 13:22:33 +00:00
(packages
(append
2023-12-14 21:49:12 +00:00
(list emacs
emacs-desktop-environment
font-terminus
git
hwdata
nss-certs
2023-12-18 00:05:20 +00:00
network-manager
2023-12-14 21:49:12 +00:00
readline)
2023-12-14 19:57:10 +00:00
2023-12-01 13:22:33 +00:00
%base-packages))
(services
(append
(modify-services
%desktop-services
2023-12-18 21:11:28 +00:00
(delete gdm-service-type)
(delete screen-locker-service-type)
2023-12-01 13:22:33 +00:00
(delete login-service-type)
(delete mingetty-service-type)
2023-12-11 10:59:44 +00:00
(delete console-font-service-type)
2023-12-18 21:11:28 +00:00
(delete elogind-service-type)
(delete pulseaudio-service-type)
2023-12-11 10:59:44 +00:00
(guix-service-type config => (guix-configuration
(inherit config)
(substitute-urls
(append (list "https://substitutes.nonguix.org")
%default-substitute-urls))
(authorized-keys
(append (list (plain-file "non-guix.pub"
2023-12-19 00:16:03 +00:00
"(public-key
" (ecc
" (curve Ed25519)
" (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
" )
" )"))
%default-authorized-guix-keys)))))
2023-12-14 21:49:12 +00:00
(list (service tlp-service-type (tlp-configuration))
(service
thermald-service-type
(thermald-configuration (adaptive? #t)))
(service
bluetooth-service-type
(bluetooth-configuration))
(service
earlyoom-service-type
(earlyoom-configuration
(minimum-available-memory 5)
(minimum-free-swap 5)))
(service
inputattach-service-type
(inputattach-configuration))
(service
libvirt-service-type
(libvirt-configuration
(unix-sock-group "libvirt")))
(service
fstrim-service-type
(fstrim-configuration))
(service
fprintd-service-type
2023-12-18 21:11:28 +00:00
(fprintd-configuration))
(service
seatd-service-type
2023-12-19 00:16:03 +00:00
(seatd-configuration)))
2023-12-14 21:49:12 +00:00
2023-12-18 00:27:14 +00:00
(list polkit-wheel-service)
2023-12-01 13:38:40 +00:00
(list
2023-12-01 13:37:15 +00:00
(service greetd-service-type
(greetd-configuration
(greeter-supplementary-groups
(list "video" "input"))
(terminals
(list
(greetd-terminal-configuration
2023-12-01 15:19:17 +00:00
(terminal-vt "1"))
(greetd-terminal-configuration
(terminal-vt "2"))
(greetd-terminal-configuration
(terminal-vt "3"))
(greetd-terminal-configuration
(terminal-vt "4"))
#;(greetd-terminal-configuration
2023-12-11 10:59:44 +00:00
(terminal-vt "7")
(terminal-switch #t)
(default-session-command
(greetd-wlgreet-session
(command
2023-12-01 15:19:17 +00:00
(file-append swayfx "/bin/sway")))))
2023-12-01 13:37:15 +00:00
(greetd-terminal-configuration
2023-12-01 13:38:40 +00:00
(terminal-vt "8")))))))
(list
2023-12-01 13:37:15 +00:00
(service screen-locker-service-type
(screen-locker-configuration
(name "swaylock")
(program
(file-append swaylock-effects "/bin/swaylock"))
2023-12-01 13:38:40 +00:00
(using-setuid? #f))))
2023-12-18 00:05:20 +00:00
(list
(service unattended-upgrade-service-type
(unattended-upgrade-configuration
(schedule "5 12 * * 1")
2023-12-18 00:27:14 +00:00
#;(channels
2023-12-18 00:05:20 +00:00
(cons* (channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
;; Enable signature verification:
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel
(name 'ziltis-channel)
(url "https://gitea.lyrion.ch/zilti/guixchannel"))
2023-12-18 00:27:14 +00:00
%default-channels)))))
2023-12-18 00:05:20 +00:00
))
2023-11-28 21:38:47 +00:00
(name-service-switch %mdns-host-lookup-nss))
2023-12-01 14:30:07 +00:00
;; Operating System:1 ends here