Created
March 28, 2023 07:31
-
-
Save threddast/84f6cca441c744647ddd396d83bdaed4 to your computer and use it in GitHub Desktop.
Guix config with Hyprland
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; This is an operating system configuration generated | |
;; by the graphical installer. | |
;; | |
;; Once installation is complete, you can learn and modify | |
;; this file to tweak the system configuration, and pass it | |
;; to the 'guix system reconfigure' command to effect your | |
;; changes. | |
;; Indicate which modules to import to access the variables | |
;; used in this configuration. | |
(use-modules | |
(srfi srfi-1) | |
(guix inferior) | |
(guix channels) | |
(gnu packages audio) | |
(gnu packages linux) | |
(gnu system setuid) | |
(gnu services syncthing) | |
(gnu services docker) | |
(gnu) | |
(nongnu packages linux) | |
(nongnu system linux-initrd)) | |
(use-service-modules nix) | |
(use-package-modules package-management) | |
(use-service-modules dbus cups desktop networking sound ssh xorg) | |
;; for the nonguix channel substitutes | |
(define %my-services | |
(modify-services %desktop-services | |
;; (delete elogind-service-type) | |
;; (delete mingetty-service-type) | |
;; (delete agetty-service-type) | |
;; (delete gdm-service-type) | |
(gdm-service-type config => | |
(gdm-configuration | |
(inherit config) | |
(wayland? #t))) | |
(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" | |
"(public-key | |
(ecc | |
(curve Ed25519) | |
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#) | |
) | |
)")) | |
%default-authorized-guix-keys)))))) | |
(operating-system | |
(kernel linux) | |
;; (kernel | |
;; (let* | |
;; ((channels | |
;; (list | |
;; (channel | |
;; (name 'guix) | |
;; (url "https://git.savannah.gnu.org/git/guix.git") | |
;; (commit "a70a1d8edfb24b76bb42824e59a8e0358f4e0f2f")) | |
;; (channel | |
;; (name 'nonguix) | |
;; (url "https://gitlab.com/nonguix/nonguix") | |
;; (commit "89dd9ecb32faeea77758e80ed20b6c58ac066308")))) | |
;; (inferior | |
;; (inferior-for-channels channels))) | |
;; (first | |
;; (lookup-inferior-packages inferior "linux" "6.1.11")))) | |
(initrd microcode-initrd) | |
(firmware | |
(list linux-firmware)) | |
(locale "en_US.utf8") | |
(timezone "Europe/Zurich") | |
(keyboard-layout | |
(keyboard-layout "us" "colemak_dh" #:options | |
'("caps:swapescape"))) | |
(host-name "guix") | |
;; The list of user accounts ('root' is implicit). | |
(users | |
(cons* | |
(user-account | |
(name "egiorgis") | |
(comment "Erik") | |
(group "users") | |
(home-directory "/home/egiorgis") | |
(supplementary-groups | |
'("wheel" "netdev" "audio" "video" "docker" "lp" "input" "fuse"))) | |
%base-user-accounts)) | |
;; 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 | |
(map specification->package | |
'("nss-certs" "nix" "swaylock" "hyprland" "plasma-desktop" "bluez" "bluez-alsa" "sshfs")) | |
%base-packages)) | |
;; Below is the list of system services. To search for available | |
;; services, run 'guix system search KEYWORD' in a terminal. | |
(services | |
(cons* | |
(service gnome-desktop-service-type) | |
(service gnome-keyring-service-type) | |
(bluetooth-service #:auto-enable? #t) | |
;;(dbus-service) | |
;; (service seatd-service-type) | |
;; (service greetd-service-type | |
;; (greetd-configuration | |
;; (greeter-supplementary-groups | |
;; (list "video" "input" "seat")) | |
;; (terminals | |
;; (list (greetd-terminal-configuration | |
;; (terminal-vt "1") | |
;; (terminal-switch #t)) | |
;; (greetd-terminal-configuration | |
;; (terminal-vt "2") | |
;; (terminal-switch #t)) | |
;; (greetd-terminal-configuration | |
;; (terminal-vt "3") | |
;; (terminal-switch #t)) | |
;; (greetd-terminal-configuration | |
;; (terminal-vt "4") | |
;; (terminal-switch #t)) | |
;; (greetd-terminal-configuration | |
;; (terminal-vt "5") | |
;; (terminal-switch #t)) | |
;; (greetd-terminal-configuration | |
;; (terminal-vt "6") | |
;; (terminal-switch #t)) | |
;; )))) | |
;; (service mingetty-service-type | |
;; (mingetty-configuration (tty "tty8"))) | |
;; (service mingetty-service-typservere | |
;; (mingetty-configuration (tty "tty7"))) | |
(udev-rules-service 'light light) | |
; for backlight control | |
(service syncthing-service-type | |
(syncthing-configuration | |
(user "egiorgis"))) | |
(service nix-service-type) | |
(service docker-service-type) | |
;; (service bluetooth-service-type) | |
(set-xorg-configuration | |
(xorg-configuration | |
(keyboard-layout keyboard-layout))) | |
%my-services)) | |
(setuid-programs | |
(append | |
(list | |
(file-like->setuid-program | |
(file-append | |
(specification->package "swaylock") | |
"/bin/swaylock"))) | |
%setuid-programs)) | |
(bootloader | |
(bootloader-configuration | |
(bootloader grub-efi-bootloader) | |
(targets | |
(list "/boot/efi")) | |
(keyboard-layout keyboard-layout))) | |
;; The list of file systems that get "mounted". The unique | |
;; file system identifiers there ("UUIDs") can be obtained | |
;; by running 'blkid' in a terminal. | |
(file-systems | |
(cons* | |
(file-system | |
(mount-point "") | |
(device | |
(uuid | |
"14938167-46cc-49bf-a11f-921d156c3893" | |
'ext4)) | |
(type "ext4")) | |
(file-system | |
(mount-point "/boot/efi") | |
(device | |
(uuid "AFE7-CE6E" | |
'fat32)) | |
(type "vfat")) | |
;(file-system | |
; (mount-point "/boot/efi") | |
; (device | |
; (uuid "6FEE-EBD1" | |
; 'fat32)) | |
; (type "vfat")) | |
%base-file-systems))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment