Skip to content
/ geex Public

Modularized Experimental GNU Guix Configuration Files

License

Notifications You must be signed in to change notification settings

librepup/geex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guix Configuration

Guix Banner

Information

Testing

The system configuration for %systemchoice "desktop" ( ... set in config.scm) has been tested via guix system build:

successfully built /gnu/store/33whk4r85fdnnqxajcd5ajf1a3sp6z6h-profile.drv
building /gnu/store/yrnxy79agdxnggy3apkdrzwr4c1615dj-activate-service.scm.drv...
successfully built /gnu/store/yrnxy79agdxnggy3apkdrzwr4c1615dj-activate-service.scm.drv
building /gnu/store/fi1bjspmj0w8d7d95v4rs01qpp71w279-activate.scm.drv...
successfully built /gnu/store/fi1bjspmj0w8d7d95v4rs01qpp71w279-activate.scm.drv
building /gnu/store/f72wivwc82r0f2s02xppbyb32ffahzil-boot.drv...
successfully built /gnu/store/f72wivwc82r0f2s02xppbyb32ffahzil-boot.drv
building /gnu/store/5fy6ckc0rsj1240ylvvf65cal1ps02h5-system.drv...
successfully built /gnu/store/5fy6ckc0rsj1240ylvvf65cal1ps02h5-system.drv
/gnu/store/x72dc187zwnyzsm758pbyf1x2gm1qjgf-system

and successfully builds every package, module, and service - including Nvidia Drivers.

The Guix Home configuration (home.scm) builds as well:

building /gnu/store/9w5ns912bkkd28hpy66swbh9j87fg0ai-provenance.drv...
building CA certificate bundle...
listing Emacs sub-directories...
building /gnu/store/0xgpl2vcv5jp2wfq7lk9psrfv6zp9k1h-files.drv...
building fonts directory...
generating GdkPixbuf loaders cache...
building GHC package cache...
generating GLib schema cache...
creating GTK+ icon theme cache...
building cache files for GTK+ input methods...
building directory of Info manuals...
building database for manual pages...
building XDG desktop file cache...
building XDG MIME database...
building profile with 149 packages...
building /gnu/store/zp9sz0ycg7rqxalchm1lpv2z1ylk7v80-home.drv...

the only issue is that I had to comment out steam-nvidia, as there are seemingly no Rust substitutes, and building multiple Rust versions from source fails and crashes the entire build.

Channels

This GNU Guix Configuration pre-configures a few useful channels to make certain Packages available that are otherwise missing in the official GNU Guix repository, these include:

  • nonguix, this channel provides nvidia drivers, firmware, and a full Linux kernel.
  • jonabron, this channel provides games, emacs packages, window managers, discord, and more.
  • emacs, this channel provides melpa emacs packages.
  • guix, this is the default and official guix channel.
  • pantherx, this channel provides various packages. [Currently Disabled]

Usage

Setup

Clone this repository via git clone https://github.com/nixpup/geex, then move the files to their respective destinations:

  • cp channels.scm ~/.config/guix/channels.scm
  • cp channels.scm /etc/guix/channels.scm
  • cp -r files /etc/guix/files
  • cp -r systems /etc/guix/systems
  • cp home.scm /etc/guix/home.scm
  • cp config.scm /etc/guix/config.scm

Importing Keys

Don't forget to import the Nonguix Key via sudo guix archive --authorize < /etc/guix/files/keys/nonguix.pub, as well as the panther key via sudo guix archive --authorize < /etc/guix/files/keys/panther.pub.

Then you can update Guix and its Channels by invoking guix pull, and afterwards check whether all Channels were correctly set up with guix describe. Make sure that "~/.config/guix/channels.scm" is the first item in your "$PATH".

Update Bash's Guix binary and configuration with hash guix after guix pull is done.

System Configuration

Afterwards, you need to pick your systems configuration. For that, edit the /etc/guix/config.scm file and change the "%systemchoice" variable, for example like this:

(define %systemchoice "desktop") ; Available options: "desktop", "laptop".

; ... rest of the File.

This will then pick either the /etc/guix/systems/desktop.scm or /etc/guix/systems/laptop.scm system configuration file depending on your needs. The main difference is that the Laptop configuration does not come with Nvidia Drivers, unlike the Desktop Configuration.

To apply the system configuration, run sudo guix system reconfigure /etc/guix/config.scm. Similarly, to reconfigure or apply the Guix Home configuration, run guix home reconfigure /etc/guix/home.scm.

Testing Guix Home

If you copied all the files of this repository to their respective target directories, you can test the Guix Home environment this configuration sets up for you inside a container via guix home container /etc/guix/home.scm. This gives you a minimal environment with only the packages, configuration files, variables, and settings provided by the home.scm file.

About

Modularized Experimental GNU Guix Configuration Files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published