guix package -L . -f jam/packages/package.scm as each package has a value returned at the end
- packages
- zfs : python and pam bindings for openzfs
- not upstream as needs pam service
- dolby
- vs-nlq : vapoursynth plugin for dolby vision FEL mapping
- not upstream as no precedence for wrapping vapoursynth plugins with versioning(some builds are heavily modified)
- add
UserPluginDir=~/.guix-profile/lib/python3.12/site-packages/vapoursynth/plugins/ to $XDG_CONFIG/vapoursynth/vapoursynth.conf to auto load plugin from directory
- set
LD_LIBRARY_PATH=~/.guix-profile/lib/ and use guix’s python3
- package transformation for build flags
- emacs-reka : reka native and elisp for river window manager
- gcc
- pie version of glibc and gcc toolchain for guile-static
- guile-static
- PIC packages for guile-next-static
- libatomicops
- libunistring
- libgc
- guile-next-static : guile with relocatable patches
- not upstream as specific build of guile for custom embedding
- llama : ik_llama.cpp fork for cpu only
- cuda integration would use guix-science-nonfree and nccl
- not upstream as changes too often without stable releases, lacking gpu features, not a standalone package(derived from llama-cpp)
- nvidia : grafts (replace-mesa) for emacs/browsers pinning driver version
- nzbget : usenet downloader with patches cmake build and vendored dependencies rapidyenc/par2cmdline-turbo
- not upstream as would need tune for
BUILD_NATIVE and flatpak alternative exists
- pyrescene : rerar scene releases with python version patched
- run the .real script with the python from guix profile
- not upstream as newer versions need python 3.12/3.13 or patches
- vs
- requires dependencies on python-numpy/python
- awsmfunc python wrapper for encoding configuration
- vsutil : resizing and misc
- vapoursynth plugins
- vapoursynth-vivtc : decimate
- vapoursynth-fillborders : fill cropped borders for aspect resolution
- vapoursynth-ffms2 : hdr metadata support
- vapoursynth-subtext: subtitles
- vapoursynth-eedi3 : deinterlace
- vs-placebo : tonemapping
- vs-rekt : cropping and stacking
- vspreview
- requires dependencies:
libxkbcommon
- WAYLAND:
wayland, egl-wayland, vulkan-loader (nvda driver/mesa)
- X11:
libx11, libxcursor, libxi
- set
LD_LIBRARY_PATH=$HOME/.guix-profile/lib for guix on foreign distro
- set
PATH="" if non guix vapoursynth is in path (dynamic library path loading creates toml file in vapoursynth config folder)
- set
VSSCRIPT_PATH=$HOME/.guix-profile/lib/libvapoursynth-script.so if script lib doesn’t load
- graft nvidia for driver version
--with-graft=mesa=nvda@580
- custom patches are located are
jam/packages/patches/*.patch and use search-patches in jam/packages.scm
- build
guix system -L . image -t iso9660 ./jam/system/installer.scm
- change type to
qcow2 or for efi qcow2-gpt
- run with qemu
qemu-system-x86_64 -smp 4 -cpu host -nic user,model=virtio-net-pci,hostfwd=tcp::8080-:8080 -enable-kvm -m 8192 -device virtio-blk,drive=myhd -drive if=none,file=MY-VM.qcow2,id=myhd
- Increase ext4 vm disk with:
qemu-img resize img.qcow2 +30G
- growpart and resize2fs after boot
virt-viewer for spice viewer with -spice port=5930,disable-ticketing
- mount shared manually
sudo mount -t 9p -o trans-virtio downloads /gnu/git/downloads -oversion=9p2000.L,posixacl,msize10485600
- boot installer with cdrom
-drive file=installer.iso,media=cdrom
- Virtual machines built with EFI require qcow2-gpt for image builder type and ovmf for qemu to run
- channels, keys and config under
/etc
- link channels before
guix pull. ln -s /etc/channels.scm ~/.config/guix/channels.scm
- after update
guix system reconfigure
- broadcom-sta and broadcom-bluetooth for wireless
- EFI boot
- bluetooth
- xfce
- genenetwork and nonguix substitutes
- cuirass ci vm to build this channels packages and jobs defined in
jam/ci.scm
- jobs
- appimage
- static relocatable package
- binary tarball
- container
- ci vm
- test vm
- installer iso
- nftable rules for specific output only
- nzbget/unrar
- wireguard forwarding
- Example deploy config
- append to end of machine config
(list (machine
(operating-system %ci-vm)
(environment managed-host-environment-type)
(configuration (machine-ssh-configuration
(system "x86_64-linux")
(host-name "127.0.0.1")
(user "guest")
(identity "./id_ed25519")
(port 8080)))))
- defines packages for
jamartin9/emacs-config
- defines bash alias wrappers for guix operations
- Profile management with
guixProf default
- stores all profile environments in a env variables to restore and reset in order of activation for path overrides
- VM running with
guixRunVm
- VM building with
guixPackVm
- container building with
guixPackDock
- boot in EFI mode for UEFI install as bios will error on the last install step
- nonguix repository pinned to commit in
.guix-channel
- provides nvidia and non free Linux definitions
- may need inferior to pin to guix for linux versions depending on revisions as guix is tracking master branch
- copy the
channels.scm below to $XDG_CONFIG_DIR/guix/channels.scm then pull to update
(list (channel
(name 'guix);custom guix override
(url "https://codeberg.org/guix/guix.git")
;; (commit "b416322c05d769d637979ad4ef7287aefbccb4bd")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
(channel ;GUIX_PACKAGE_PATH and (url "file:///home/.../guix-channel")
(name 'mychannel)
(url "https://codeberg.org/jamartin9/guix-channel")
(introduction
(make-channel-introduction
"a8de09ac62260319e6376f21c995f713c1b09279"
(openpgp-fingerprint
"34AF BE87 8193 580F F441 AB3F 95AF 699C 293E 302B")))))