(use-modules (gnu) (nongnu packages linux) (nongnu system linux-initrd)) (use-service-modules cups desktop networking sddm ssh xorg) (operating-system (kernel linux) (initrd microcode-initrd) (firmware (list linux-firmware)) (locale "en_IN.utf8") (timezone "Asia/Kolkata") (keyboard-layout (keyboard-layout "us")) (services (cons* (service plasma-desktop-service-type) ;; configure sddm ;; ref: guix.git/gnu/system/examples/plasma.tmpl?h=master (service sddm-service-type (sddm-configuration (display-server "x11") (xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout))) (theme "breeze"))) (service bluetooth-service-type (bluetooth-configuration (auto-enable? #t))) (service openssh-service-type) (service cups-service-type) (modify-services %desktop-services ;; remove gdm which is replaced by sddm ;; A bit convoluted compared to Nix. Nix would simply overwrite the default service. ;; Actually no. Nix can also let them live together: *.sddm.enable = true; *.gdm.enable = true; (delete gdm-service-type) ;; modify guix-service-type to register substitute (i.e., binary cache) url for nonguix (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (append (list "https://substitutes.nonguix.org") %default-substitute-urls)) (authorized-keys (append (list (local-file "./nonguix-substitutes-signing-key.pub")) %default-authorized-guix-keys))))))) ;; The list of user accounts ('root' is implicit). ;; Packages installed system-wide. Users can also install packages ;; under their own account: use 'guix search KEYWORD' to search ;; for packages and 'guix install PACKAGE' to install a package. (packages (append (specifications->packages (list "ark" "direnv" "ed" "emacs" "emacs-bash-completion" "emacs-geiser" "emacs-geiser-guile" "firefox" "flatpak" "flatpak-xdg-utils" "font-adobe-source-code-pro" "font-dejavu" "font-fira-sans" "font-google-noto" ;; to render the system be able to render all languages "font-google-roboto" "font-microsoft-cascadia" "git" ;; "gnome-shell-extension-dash-to-dock" ;; "gnome-shell-extension-dash-to-panel" ;; "gnome-shell-extensions" ;; "gnome-tweaks" "guile" "kate" "kmousetool" "konversation" "ntfs-3g" "okular" "print-manager" "stow" ;; "terminator" ; gnome-terminal shrinks everytime focus switches away from it or on it ;; TODO: package atkinson-hyperlegible ;; TODO: package droid-sans "tree" "ungoogled-chromium" "unzip" "vim-full" "vscodium" "whisper-cpp" "xclip" "xdg-desktop-portal" "xdg-desktop-portal-gtk" "xdg-desktop-portal-kde" "xdg-utils" )) %base-packages)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout) (theme (grub-theme (inherit (grub-theme)) (gfxmode (list "1920x1080" "auto")))))) (initrd-modules (append (list "ahci" "evdev" "usbhid" "sd_mod" "sr_mod" "xhci_hcd" ;;"vmd" ;; intel specific "usb_storage" ;;"i915" ;; intel integrated gpu specific ;;"kvm-intel" ;; intel specific "hid-apple") %base-initrd-modules)) )