Skip to content

Instantly share code, notes, and snippets.

@bhootd
Created July 6, 2025 09:34
Show Gist options
  • Select an option

  • Save bhootd/cddc7568f4520468ec9a28920a6f26a8 to your computer and use it in GitHub Desktop.

Select an option

Save bhootd/cddc7568f4520468ec9a28920a6f26a8 to your computer and use it in GitHub Desktop.
guix config
(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))
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment