Chaotic's Nyx

Six frogs with capes, aligned like the NixOS logo, with intercalated shades of green

Nix flake for "too much bleeding-edge" and unreleased packages (e.g., mesa_git, linux_cachyos, firefox_nightly, sway_git, gamescope_git). And experimental modules (e.g., HDR, duckdns).

From the Chaotic Linux User Group (LUG), the same one that maintains Chaotic-AUR! 🧑🏻‍💻

The official source-code repository is available as "chaotic-cx/nyx" at GitHub.

PLEASE AVOID POSTING ISSUES IN NIXOS' MATRIX, DISCOURSE, DISCORD, ETC. USE OUR REPO'S ISSUES, TELEGRAM GROUP, OR #chaotic-nyx:ubiquelambda.dev ON MATRIX INSTEAD.

News

A news channel can be found on Telegram.

How to use it

On NixOS

We recommend integrating this repo using Flakes:


{
  description = "My configuration";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
  };

  outputs = { nixpkgs, chaotic, ... }: {
    nixosConfigurations = {
      hostname = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          ./configuration.nix # Your system configuration.
          chaotic.nixosModules.default # OUR DEFAULT MODULE
        ];
      };
    };
  };
}

In your configuration.nix enable the packages and options that you prefer:


{ pkgs, ... }:
{
  environment.systemPackages = [ pkgs.input-leap-git ];
  chaotic.mesa-git.enable = true;
}

On Home-Manager

This method is for home-manager setups without NixOS.

We recommend integrating this repo using Flakes:


{
  description = "My configuration";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { nixpkgs, chaotic, ... }: {
    homeConfigurations = {
      hostname = home-manager.lib.homeManagerConfiguration {
        pkgs = nixpkgs.legacyPackages.x86_64-linux;
        modules = [
          ./home-manager/default.nix
          chaotic.homeManagerModules.default # OUR DEFAULT MODULE
        ];
      };
    };
  };
}

In your home-manager/default.nix add a nix.package, and enable the desired packages:


{ pkgs, ... }:
{
  nix.package = pkgs.nix;
  home.packages = [ pkgs.input-leap-git ];
}

Running packages (without installing)

Besides using our module/overlay, you can run packages (without installing them) using:


nix run github:chaotic-cx/nyx/nyxpkgs-unstable#firefox_nightly

Binary Cache notes

You'll get the binary cache added to your configuration as soon as you add our default module. We do this automatically, so we can gracefully update the cache's address and keys without prompting you for manual work.

If you dislike this behavior for any reason, you can disable it with chaotic.nyx.cache.enable = false.

Remember: If you want to fetch derivations from our cache, you'll need to enable our module and rebuild your system before adding these derivations to your configuration.

Commands like nix run ..., nix develop ..., and others, when using our flake as input, will ask you to add the cache interactively when missing from your user's nix settings.

If you want to use the cache right from the installation media, install your system using nixos-install --flake /mnt/etc/nixos#mymachine --option 'extra-substituters' 'https://nyx.chaotic.cx/' --option extra-trusted-public-keys "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" (replace mymachine with your new host's name).

FlakeHub notes

FlakeHub

Add chaotic to your flake.nix, make sure to use the rolling *.tar.gz to keep using the latest packages:


{
  inputs.chaotic.url = "https://flakehub.com/f/chaotic-cx/nyx/*.tar.gz";
}

Then follow one of the guides above.

Lists of options and packages

Built and cached against github:nixos/nixpkgs/b211b392b8486ee79df6cdfb1157ad2133427a29 (version 0.1.622847).

Packages

NameVersionDescription
alacritty_git unstable-20240507171833-7077a5f A cross-platform, GPU-accelerated terminal emulator
https://github.com/alacritty/alacritty
ananicy-cpp-rules unstable-20240505142944-c6171b2 CachyOS' ananicy-rules meant to be used with ananicy-cpp
https://github.com/CachyOS/ananicy-rules
applet-window-title 0.5 Plasma 6 applet that shows the application title and icon for active window
https://github.com/psifidotos/applet-window-title
appmenu-gtk3-module 0.7.6 Port of the Unity GTK 3 Module
beautyline-icons unstable-20240504163440-e13e5fa BeautyLine icon theme mixed with Sweet icons
https://gitlab.com/garuda-linux/themes-and-settings/artwork/beautyline
blurredwallpaper 3.0.1 Plasma 6 wallpaper plugin that blurs the wallpaper when a window is active
https://github.com/bouteillerAlan/blurredwallpaper
bpftools_full 6.8.9 Debugging/program analysis tools for the eBPF subsystem
https://github.com/libbpf/bpftool
busybox_appletless 1.36.1 Tiny versions of common UNIX utilities in a single small executable (without applets' symlinks)
https://busybox.net/
bytecode-viewer_git unstable-20240413064922-4399f05 An advanced yet user friendly Java reverse engineering suite
https://bytecodeviewer.com/
conduwuit_git 0.3.2 -
discord-krisp 0.0.52 All-in-one cross-platform voice and text chat for gamers
https://discordapp.com/
distrobox_git unstable-20240506070112-b27c6d3 Wrapper around podman or docker to create and start containers
https://distrobox.it/
dr460nized-kde-theme unstable-20240509101157-e11f745 The default Garuda dr460nized theme
https://gitlab.com/garuda-linux/themes-and-settings/settings/garuda-dr460nized
droid-sans-mono-nerdfont 3.2.1 Provides "DroidSansM Nerd Font" font family.
https://nerdfonts.com/
extra-cmake-modules_git unstable-20240508151511-2527c05 Extra modules and scripts for CMake.
https://invent.kde.org/frameworks/extra-cmake-modules
firedragon 11.11.2 Floorp fork build using custom branding & settings
https://github.com/dr460nf1r3/firedragon-browser
firedragon-unwrapped 11.11.2 Floorp fork build using custom branding & settings
https://github.com/dr460nf1r3/firedragon-browser
firefox-unwrapped_nightly 127.0a1 A web browser built from Firefox Nightly source tree
http://www.mozilla.com/en-US/firefox/
firefox_nightly 127.0a1 A web browser built from Firefox Nightly source tree
http://www.mozilla.com/en-US/firefox/
gamescope-wsi_git unstable-20240507234450-d404e0f SteamOS session compositing window manager
https://github.com/ValveSoftware/gamescope
gamescope_git unstable-20240507234450-d404e0f SteamOS session compositing window manager
https://github.com/ValveSoftware/gamescope
input-leap_git unstable-20240325195240-a1864cb Open-source KVM software
https://github.com/input-leap/input-leap
jovian-chaotic.linux_jovian 6.5.0-valve3 The Linux kernel (with patches: bridge-stp-helper, request-key-helper, export-rt-sched-migrate)
https://www.kernel.org/
jovian-chaotic.mesa-radeonsi-jupiter 24.0.5 An open source 3D graphics library
https://www.mesa3d.org/
jovian-chaotic.mesa-radv-jupiter 24.1.0.steamos-24.4.0 An open source 3D graphics library
https://www.mesa3d.org/
jujutsu_git unstable-9a5b001 -
kf6coreaddons_git unstable-20240505012020-e9d302f Qt addon library with a collection of non-GUI utilities
https://kde.org
latencyflex-vulkan unstable-2023-07-03 Vulkan Layer for LatencyFleX
https://github.com/ishitatsuyuki/LatencyFleX
libbpf_git unstable-20240508230440-02724cf Library for loading eBPF programs and reading and manipulating eBPF objects from user-space
https://github.com/libbpf/libbpf
libdrm32_git 362b5b0 Direct Rendering Manager library and headers
https://gitlab.freedesktop.org/mesa/drm
libdrm_git 362b5b0 Direct Rendering Manager library and headers
https://gitlab.freedesktop.org/mesa/drm
libportal_git unstable-20240306233633-7c408fb Flatpak portal library
https://github.com/flatpak/libportal
linuxPackages_cachyos 6.8.9+C02ded21+Pfefa20c Kernel and modules for Linux EEVDF-BORE scheduler Kernel by CachyOS with other patches and improvements
linuxPackages_cachyos-hardened 6.8.9+C02ded21+Pfefa20c Kernel and modules for Linux EEVDF-BORE scheduler Kernel by CachyOS with other patches and improvements
linuxPackages_cachyos-lto 6.8.9+C02ded21+Pfefa20c Kernel and modules for Linux EEVDF-BORE scheduler Kernel by CachyOS built with LLVM and Thin LTO
linuxPackages_cachyos-server 6.8.9+C02ded21+Pfefa20c Kernel and modules for Linux EEVDF scheduler Kernel by CachyOS targeted for Servers
luxtorpeda 69.0.0 Steam Play compatibility tool to run games using native Linux engines
https://github.com/luxtorpeda-dev/luxtorpeda
mangohud32_git unstable-20240508225837-57cd928 A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
https://github.com/flightlessmango/MangoHud
mangohud_git unstable-20240508225837-57cd928 A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
https://github.com/flightlessmango/MangoHud
mesa32_git 9d2711 An open source 3D graphics library
https://www.mesa3d.org/
mesa_git 9d2711 An open source 3D graphics library
https://www.mesa3d.org/
mpv-vapoursynth - General-purpose media player, fork of MPlayer and mplayer2 (includes vapoursynth)
https://mpv.io
niri_git 38e329aab91fbcb08a930c11279d79105cd449db -
nix-flake-schemas_git unstable-20240311143851-d76e5fb Nix from the branch with flake-schemas
https://determinate.systems/posts/flake-schemas
nordvpn 3.16.5 CLI client for NordVPN
https://www.nordvpn.com
nss_git unstable-20240507160144-f2d8f32 A set of libraries for development of security-enabled client and server applications
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
nyx-generic-git-update - Generic update-script for bleeding-edge GIT Nix derivations.
nyxUtils - Pack of functions that are useful for Chaotic-Nyx and might become useful for you too
openmohaa 0.61.0 Open re-implementation of Medal of Honor: Allied Assault
https://github.com/openmoh/openmohaa
openmohaa_git unstable-20240501184157-db01f72 Open re-implementation of Medal of Honor: Allied Assault
https://github.com/openmoh/openmohaa
openvr_git unstable-20240326235357-ae46a8d An API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting
https://github.com/ValveSoftware/openvr
pkgsx86_64_v2 - Nixpkgs + Chaotic_nyx packages built for the x86-64-v2 microarchitecture.
pkgsx86_64_v3 - Nixpkgs + Chaotic_nyx packages built for the x86-64-v3 microarchitecture.
pkgsx86_64_v3-core.acl 2.3.2 Library and tools for manipulating access control lists
https://savannah.nongnu.org/projects/acl
pkgsx86_64_v3-core.attr 2.5.2 Library and tools for manipulating extended attributes
https://savannah.nongnu.org/projects/attr/
pkgsx86_64_v3-core.audit 3.1.2 Audit Library
https://people.redhat.com/sgrubb/audit/
pkgsx86_64_v3-core.bash 5.2p26 GNU Bourne-Again Shell, the de facto standard shell on Linux
https://www.gnu.org/software/bash/
pkgsx86_64_v3-core.binutils 2.41 Tools for manipulating binaries (linker, assembler, etc.) (wrapper script)
https://www.gnu.org/software/binutils/
pkgsx86_64_v3-core.bison 3.8.2 Yacc-compatible parser generator
https://www.gnu.org/software/bison/
pkgsx86_64_v3-core.brotli 1.1.0 A generic-purpose lossless compression algorithm and tool
https://github.com/google/brotli
pkgsx86_64_v3-core.bzip2 1.0.8 High-quality data compression program
https://www.sourceware.org/bzip2
pkgsx86_64_v3-core.coreutils 9.5 The GNU Core Utilities
https://www.gnu.org/software/coreutils/
pkgsx86_64_v3-core.cracklib 2.9.11 A library for checking the strength of passwords
https://github.com/cracklib/cracklib
pkgsx86_64_v3-core.cryptsetup 2.7.1 LUKS for dm-crypt
https://gitlab.com/cryptsetup/cryptsetup/
pkgsx86_64_v3-core.curl 8.7.1 A command line tool for transferring files with URL syntax
https://curl.se/
pkgsx86_64_v3-core.dash 0.5.12 A POSIX-compliant implementation of /bin/sh that aims to be as small as possible
http://gondor.apana.org.au/~herbert/dash/
pkgsx86_64_v3-core.db 5.3.28 Berkeley DB
https://www.oracle.com/database/technologies/related/berkeleydb.html
pkgsx86_64_v3-core.dbus 1.14.10 Simple interprocess messaging system
https://www.freedesktop.org/wiki/Software/dbus/
pkgsx86_64_v3-core.debugedit 5.0 Provides programs and scripts for creating debuginfo and source file distributions, collect build-ids and rewrite source paths in DWARF data for debugging, tracing and profiling
https://sourceware.org/debugedit/
pkgsx86_64_v3-core.dialog 1.3-20231002 Display dialog boxes from shell
https://invisible-island.net/dialog/dialog.html
pkgsx86_64_v3-core.diffutils 3.10 Commands for showing the differences between files (diff, cmp, etc.)
https://www.gnu.org/software/diffutils/diffutils.html
pkgsx86_64_v3-core.elfutils 0.191 A set of utilities to handle ELF objects
https://sourceware.org/elfutils/
pkgsx86_64_v3-core.expat 2.6.2 A stream-oriented XML parser library written in C
https://libexpat.github.io/
pkgsx86_64_v3-core.file 5.45 A program that shows the type of files
https://darwinsys.com/file
pkgsx86_64_v3-core.findutils 4.9.0 GNU Find Utilities, the basic directory searching utilities of the GNU operating system
https://www.gnu.org/software/findutils/
pkgsx86_64_v3-core.flex 2.6.4 A fast lexical analyser generator
https://github.com/westes/flex
pkgsx86_64_v3-core.gawk 5.2.2 GNU implementation of the Awk programming language
https://www.gnu.org/software/gawk/
pkgsx86_64_v3-core.gcc 13.2.0 GNU Compiler Collection, version 13.2.0 (wrapper script)
https://gcc.gnu.org/
pkgsx86_64_v3-core.gdbm 1.23 GNU dbm key/value database library
https://www.gnu.org/software/gdbm/
pkgsx86_64_v3-core.gettext 0.21.1 Well integrated set of translation tools and documentation
https://www.gnu.org/software/gettext/
pkgsx86_64_v3-core.glib 2.80.0 C library of programming buildings blocks
https://gitlab.gnome.org/GNOME/glib
pkgsx86_64_v3-core.glibc 2.39 The GNU C Library
https://www.gnu.org/software/libc/
pkgsx86_64_v3-core.gmp 6.3.0 GNU multiple precision arithmetic library
https://gmplib.org/
pkgsx86_64_v3-core.gnugrep 3.11 GNU implementation of the Unix grep command
https://www.gnu.org/software/grep/
pkgsx86_64_v3-core.gnumake 4.4.1 A tool to control the generation of non-source files from sources
https://www.gnu.org/software/make/
pkgsx86_64_v3-core.gnused 4.9 GNU sed, a batch stream editor
https://www.gnu.org/software/sed/
pkgsx86_64_v3-core.gnutar 1.35 GNU implementation of the `tar' archiver
https://www.gnu.org/software/tar/
pkgsx86_64_v3-core.gnutls 3.8.4 The GNU Transport Layer Security Library
https://gnutls.org/
pkgsx86_64_v3-core.gpgme 1.23.2 Library for making GnuPG easier to use
https://gnupg.org/software/gpgme/index.html
pkgsx86_64_v3-core.gpm unstable-2020-06-17 A daemon that provides mouse support on the Linux console
https://www.nico.schottelius.org/software/gpm/
pkgsx86_64_v3-core.groff 1.23.0 GNU Troff, a typesetting package that reads plain text and produces formatted output
https://www.gnu.org/software/groff/
pkgsx86_64_v3-core.gsasl 2.2.1 GNU SASL, Simple Authentication and Security Layer library
https://www.gnu.org/software/gsasl/
pkgsx86_64_v3-core.guile 3.0.9 Embeddable Scheme implementation
https://www.gnu.org/software/guile/
pkgsx86_64_v3-core.gzip 1.13 GNU zip compression program
https://www.gnu.org/software/gzip/
pkgsx86_64_v3-core.hwdata 0.381 Hardware Database, including Monitors, pci.ids, usb.ids, and video cards
https://github.com/vcrhonek/hwdata
pkgsx86_64_v3-core.iana-etc 20240318 IANA protocol and port number assignments (/etc/protocols and /etc/services)
https://github.com/Mic92/iana-etc
pkgsx86_64_v3-core.icu - Unicode and globalization support library
https://icu.unicode.org/
pkgsx86_64_v3-core.inetutils 2.5 Collection of common network programs
https://www.gnu.org/software/inetutils/
pkgsx86_64_v3-core.inih 58 Simple .INI file parser in C, good for embedded systems
https://github.com/benhoyt/inih
pkgsx86_64_v3-core.iproute2 6.8.0 A collection of utilities for controlling TCP/IP networking and traffic control in Linux
https://wiki.linuxfoundation.org/networking/iproute2
pkgsx86_64_v3-core.iptables 1.8.10 A program to configure the Linux IP packet filtering ruleset
https://www.netfilter.org/projects/iptables/index.html
pkgsx86_64_v3-core.iputils 20240117 A set of small useful utilities for Linux networking
https://github.com/iputils/iputils
pkgsx86_64_v3-core.isl 0.20 A library for manipulating sets and relations of integer points bounded by linear constraints
https://libisl.sourceforge.io/
pkgsx86_64_v3-core.jansson 2.14 C library for encoding, decoding and manipulating JSON data
https://github.com/akheron/jansson
pkgsx86_64_v3-core.jfsutils 1.1.15 IBM JFS utilities
https://jfs.sourceforge.net
pkgsx86_64_v3-core.json_c 0.17 A JSON implementation in C
https://github.com/json-c/json-c/wiki
pkgsx86_64_v3-core.kbd 2.6.4 Linux keyboard tools and keyboard maps
https://kbd-project.org/
pkgsx86_64_v3-core.keyutils 1.6.3 Tools used to control the Linux kernel key management system
https://people.redhat.com/dhowells/keyutils/
pkgsx86_64_v3-core.kmod 31 Tools for loading and managing Linux kernel modules
https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/
pkgsx86_64_v3-core.krb5 1.21.2 MIT Kerberos 5
http://web.mit.edu/kerberos/
pkgsx86_64_v3-core.ldns 1.8.3 Library with the aim of simplifying DNS programming in C
http://www.nlnetlabs.nl/projects/ldns/
pkgsx86_64_v3-core.lemon 1.69 An LALR(1) parser generator
http://www.hwaci.com/sw/lemon/
pkgsx86_64_v3-core.less 643 A more advanced file pager than 'more'
https://www.greenwoodsoftware.com/less/
pkgsx86_64_v3-core.libaio 0.3.113 Library for asynchronous I/O in Linux
https://lse.sourceforge.net/io/aio.html
pkgsx86_64_v3-core.libarchive 3.7.3 Multi-format archive and compression library
http://libarchive.org
pkgsx86_64_v3-core.libargon2 20190702 A key derivation function that was selected as the winner of the Password Hashing Competition in July 2015
https://www.argon2.com/
pkgsx86_64_v3-core.libcap 2.69 Library for working with POSIX capabilities
https://sites.google.com/site/fullycapable
pkgsx86_64_v3-core.libedit 20230828-3.1 A port of the NetBSD Editline library (libedit)
http://www.thrysoee.dk/editline/
pkgsx86_64_v3-core.libelf 0.8.13 ELF object file access library
https://github.com/Distrotech/libelf
pkgsx86_64_v3-core.libevent 2.1.12 Event notification library
https://libevent.org/
pkgsx86_64_v3-core.libffi 3.4.6 A foreign function call interface library
http://sourceware.org/libffi/
pkgsx86_64_v3-core.libgcc 13.2.0 GNU Compiler Collection, version 13.2.0
https://gcc.gnu.org/
pkgsx86_64_v3-core.libgccjit 13.2.0 GNU Compiler Collection, version 13.2.0
https://gcc.gnu.org/
pkgsx86_64_v3-core.libgcrypt 1.10.3 General-purpose cryptographic library
https://www.gnu.org/software/libgcrypt/
pkgsx86_64_v3-core.libgpg-error 1.48 A small library that defines common error values for all GnuPG components
https://www.gnupg.org/software/libgpg-error/index.html
pkgsx86_64_v3-core.libgssglue 0.4 Exports a gssapi interface which calls other random gssapi libraries
http://www.citi.umich.edu/projects/nfsv4/linux/
pkgsx86_64_v3-core.libidn2 - Free software implementation of IDNA2008 and TR46
https://www.gnu.org/software/libidn/#libidn2
pkgsx86_64_v3-core.libksba 1.6.6 CMS and X.509 access library
https://www.gnupg.org
pkgsx86_64_v3-core.libmicrohttpd 0.9.77 Embeddable HTTP server library
https://www.gnu.org/software/libmicrohttpd/
pkgsx86_64_v3-core.libmnl 1.0.5 Minimalistic user-space library oriented to Netlink developers
https://netfilter.org/projects/libmnl/index.html
pkgsx86_64_v3-core.libmpc 1.3.1 Library for multiprecision complex arithmetic with exact rounding
https://www.multiprecision.org/mpc/
pkgsx86_64_v3-core.libnetfilter_conntrack 1.0.9 Userspace library providing an API to the in-kernel connection tracking state table
https://netfilter.org/projects/libnetfilter_conntrack/
pkgsx86_64_v3-core.libnfnetlink 1.0.2 Low-level library for netfilter related kernel/userspace communication
https://www.netfilter.org/projects/libnfnetlink/index.html
pkgsx86_64_v3-core.libnftnl 1.2.6 A userspace library providing a low-level netlink API to the in-kernel nf_tables subsystem
https://netfilter.org/projects/libnftnl/
pkgsx86_64_v3-core.libnghttp2 1.61.0 HTTP/2 C library and tools
https://nghttp2.org/
pkgsx86_64_v3-core.libnl 3.8.0 Linux Netlink interface library suite
http://www.infradead.org/~tgr/libnl/
pkgsx86_64_v3-core.libnsl 2.0.1 Client interface library for NIS(YP) and NIS+
https://github.com/thkukuk/libnsl
pkgsx86_64_v3-core.libpcap 1.10.4 Packet Capture Library
https://www.tcpdump.org
pkgsx86_64_v3-core.libpipeline 1.5.7 C library for manipulating pipelines of subprocesses in a flexible and convenient way
http://libpipeline.nongnu.org
pkgsx86_64_v3-core.libpsl 0.21.5 C library for the Publix Suffix List
https://rockdaboot.github.io/libpsl/
pkgsx86_64_v3-core.libseccomp 2.5.5 High level library for the Linux Kernel seccomp filter
https://github.com/seccomp/libseccomp
pkgsx86_64_v3-core.libsecret 0.21.4 A library for storing and retrieving passwords and other secrets
https://gitlab.gnome.org/GNOME/libsecret
pkgsx86_64_v3-core.libssh2 1.11.0 A client-side C library implementing the SSH2 protocol
https://www.libssh2.org
pkgsx86_64_v3-core.libtasn1 4.19.0 An ASN.1 library
https://www.gnu.org/software/libtasn1/
pkgsx86_64_v3-core.libtirpc 1.3.4 The transport-independent Sun RPC implementation (TI-RPC)
https://sourceforge.net/projects/libtirpc/
pkgsx86_64_v3-core.libtool 2.4.7 GNU Libtool, a generic library support script
https://www.gnu.org/software/libtool/
pkgsx86_64_v3-core.libunistring 1.1 Unicode string library
https://www.gnu.org/software/libunistring/
pkgsx86_64_v3-core.libusb 1.0.27 cross-platform user-mode USB device library
https://libusb.info/
pkgsx86_64_v3-core.libuv 1.48.0 A multi-platform support library with a focus on asynchronous I/O
https://libuv.org/
pkgsx86_64_v3-core.libverto 0.3.2 Asynchronous event loop abstraction library
https://github.com/latchset/libverto
pkgsx86_64_v3-core.libxcrypt 4.4.36 Extended crypt library for descrypt, md5crypt, bcrypt, and others
https://github.com/besser82/libxcrypt/
pkgsx86_64_v3-core.libxml2 2.12.6 XML parsing library for C
https://gitlab.gnome.org/GNOME/libxml2
pkgsx86_64_v3-core.links2 2.29 A small browser with some graphics support
http://links.twibright.com/
pkgsx86_64_v3-core.logrotate 3.21.0 Rotates and compresses system logs
https://github.com/logrotate/logrotate
pkgsx86_64_v3-core.lz4 1.9.4 Extremely fast compression algorithm
https://lz4.github.io/lz4/
pkgsx86_64_v3-core.lzo 2.10 Real-time data (de)compression library
http://www.oberhumer.com/opensource/lzo
pkgsx86_64_v3-core.m4 1.4.19 GNU M4, a macro processor
https://www.gnu.org/software/m4/
pkgsx86_64_v3-core.man-db 2.12.1 An implementation of the standard Unix documentation system accessed using the man command
http://man-db.nongnu.org
pkgsx86_64_v3-core.mdadm 4.3 Programs for managing RAID arrays under Linux
https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git
pkgsx86_64_v3-core.minizip 1.3.1 Compression library implementing the deflate compression method found in gzip and PKZIP
https://zlib.net
pkgsx86_64_v3-core.mlocate 0.26 Merging locate is an utility to index and quickly search for files
https://pagure.io/mlocate
pkgsx86_64_v3-core.mpfr 4.2.1 Library for multiple-precision floating-point arithmetic
https://www.mpfr.org/
pkgsx86_64_v3-core.ncurses 6.4 Free software emulation of curses in SVR4 and more
https://www.gnu.org/software/ncurses/
pkgsx86_64_v3-core.nettools 2.10 A set of tools for controlling the network subsystem in Linux
http://net-tools.sourceforge.net/
pkgsx86_64_v3-core.npth 1.7 The New GNU Portable Threads Library
http://www.gnupg.org
pkgsx86_64_v3-core.nspr 4.35 Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions
pkgsx86_64_v3-core.nss 3.90.2 A set of libraries for development of security-enabled client and server applications
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
pkgsx86_64_v3-core.openssl 3.0.13 A cryptographic library that implements the SSL and TLS protocols
https://www.openssl.org/
pkgsx86_64_v3-core.p11-kit 0.25.3 Library for loading and sharing PKCS#11 modules
https://p11-glue.github.io/p11-glue/p11-kit.html
pkgsx86_64_v3-core.patch 2.7.6 GNU Patch, a program to apply differences to files
https://savannah.gnu.org/projects/patch
pkgsx86_64_v3-core.pciutils 3.12.0 A collection of programs for inspecting and manipulating configuration of PCI devices
https://mj.ucw.cz/sw/pciutils/
pkgsx86_64_v3-core.pcre 8.45 A library for Perl Compatible Regular Expressions
http://www.pcre.org/
pkgsx86_64_v3-core.pcre2 10.43 Perl Compatible Regular Expressions
https://www.pcre.org/
pkgsx86_64_v3-core.perl 5.38.2 The standard implementation of the Perl 5 programming language
https://www.perl.org/
pkgsx86_64_v3-core.python3 3.11.9 A high-level dynamically-typed programming language
https://www.python.org
pkgsx86_64_v3-core.readline 8.2p10 Library for interactive line editing
https://savannah.gnu.org/projects/readline/
pkgsx86_64_v3-core.rpcbind 1.2.6 ONC RPC portmapper
https://linux-nfs.org/
pkgsx86_64_v3-core.sqlite 3.45.2 A self-contained, serverless, zero-configuration, transactional SQL database engine
https://www.sqlite.org/
pkgsx86_64_v3-core.texinfo 7.0.3 The GNU documentation system
https://www.gnu.org/software/texinfo/
pkgsx86_64_v3-core.tzdata 2024a Database of current and historical time zones
http://www.iana.org/time-zones
pkgsx86_64_v3-core.util-linux 2.39.3 A set of system utilities for Linux
https://www.kernel.org/pub/linux/utils/util-linux/
pkgsx86_64_v3-core.which 2.21 Shows the full path of (shell) commands
https://www.gnu.org/software/which/
pkgsx86_64_v3-core.xz 5.4.6 A general-purpose data compression software, successor of LZMA
https://tukaani.org/xz/
pkgsx86_64_v3-core.zlib 1.3.1 Lossless data-compression library
https://zlib.net
pkgsx86_64_v3-core.zstd 1.5.6 Zstandard real-time compression algorithm
https://facebook.github.io/zstd/
pkgsx86_64_v4 - Nixpkgs + Chaotic_nyx packages built for the x86-64-v4 microarchitecture.
plasma6-applet-window-buttons 0.11.1 Plasma 6 applet in order to show window buttons in your panels
proton-ge-custom 9.4 Compatibility tool for Steam Play based on Wine and additional components
https://github.com/GloriousEggroll/proton-ge-custom
qtile-extras_git 0.25.0.99 Extra modules and widgets for the Qtile tiling window manager
https://github.com/elParaguayo/qtile-extras
qtile-module_git 0.25.0.99 A small, flexible, scriptable tiling window manager written in Python
http://www.qtile.org/
qtile_git 0.25.0.99 A small, flexible, scriptable tiling window manager written in Python
http://www.qtile.org/
river_git unstable-20240502120834-e29d66f A dynamic tiling wayland compositor
https://codeberg.org/river/river
scx unstable-20240429-b1bb2a5c5 sched_ext schedulers and tools
https://bit.ly/scx_slack
sdl_git unstable-20240508214812-793622f A cross-platform multimedia library
http://www.libsdl.org/
spirv-headers_git unstable-20240508155713-49a1fce Machine-readable components of the Khronos SPIR-V Registry
https://github.com/KhronosGroup/SPIRV-Headers
sway-unwrapped_git unstable-20240412225528-087226d An i3-compatible tiling Wayland compositor
https://swaywm.org
sway_git unstable-20240412225528-087226d An i3-compatible tiling Wayland compositor
https://swaywm.org
swaylock-plugin_git unstable-20240223235827-1dd15b6 Screen locker for Wayland
https://github.com/swaywm/swaylock
telegram-desktop_git unstable-20240508081037-15697f4 Telegram Desktop messaging app
https://desktop.telegram.org/
tg-owt_git unstable-20231221162300-afd9d5d -
vulkanPackages_latest.gfxreconstruct 1.0.3 Graphics API Capture and Replay Tools
https://github.com/LunarG/gfxreconstruct/
vulkanPackages_latest.glslang 14.2.0 Khronos reference front-end for GLSL and ESSL
https://github.com/KhronosGroup/glslang
vulkanPackages_latest.spirv-cross 1.3.280.0 A tool designed for parsing and converting SPIR-V to other shader languages
https://github.com/KhronosGroup/SPIRV-Cross
vulkanPackages_latest.spirv-headers 1.3.280.0 Machine-readable components of the Khronos SPIR-V Registry
https://github.com/KhronosGroup/SPIRV-Headers
vulkanPackages_latest.spirv-tools 2024.2.rc1 The SPIR-V Tools project provides an API and commands for processing SPIR-V modules
https://github.com/KhronosGroup/SPIRV-Tools
vulkanPackages_latest.vulkan-extension-layer 1.3.283 Layers providing Vulkan features when native support is unavailable
https://github.com/KhronosGroup/Vulkan-ExtensionLayer/
vulkanPackages_latest.vulkan-headers 1.3.284 Vulkan Header files and API registry
https://www.lunarg.com
vulkanPackages_latest.vulkan-loader 1.3.284 LunarG Vulkan loader
https://www.lunarg.com
vulkanPackages_latest.vulkan-tools 1.3.284 Khronos official Vulkan Tools and Utilities
https://github.com/KhronosGroup/Vulkan-Tools
vulkanPackages_latest.vulkan-tools-lunarg 1.3.283 LunarG Vulkan Tools and Utilities
https://github.com/LunarG/VulkanTools
vulkanPackages_latest.vulkan-utility-libraries 1.3.284 A set of utility libraries for Vulkan
https://github.com/KhronosGroup/Vulkan-Utility-Libraries
vulkanPackages_latest.vulkan-validation-layers 1.3.284 The official Khronos Vulkan validation layers
https://github.com/KhronosGroup/Vulkan-ValidationLayers
vulkanPackages_latest.vulkan-volk 1.3.280.0 Meta loader for Vulkan API
https://github.com/zeux/volk
wayland-protocols_git 1.34 Wayland protocol extensions
https://gitlab.freedesktop.org/wayland/wayland-protocols
wayland-scanner_git unstable-20240425154607-6963320 Core Wayland window system code and protocol
https://wayland.freedesktop.org/
wayland_git unstable-20240425154607-6963320 Core Wayland window system code and protocol
https://wayland.freedesktop.org/
waynergy_git unstable-20240425172827-7f014df A synergy client for Wayland compositors
https://github.com/r-c-f/waynergy
wlroots_git unstable-20240418144709-cc10a52 A modular Wayland compositor library
https://gitlab.freedesktop.org/wlroots/wlroots/
xdg-desktop-portal-wlr_git unstable-20240425194347-388c484 xdg-desktop-portal backend for wlroots
https://github.com/emersion/xdg-desktop-portal-wlr
yt-dlp_git unstable-20240508221006-6b54ccc Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)
https://github.com/yt-dlp/yt-dlp/
zfs_cachyos 2.2.4 ZFS Filesystem Linux Userspace Tools
https://github.com/openzfs/zfs

NixOS Options

KeyDefaultDescription
chaotic.appmenu-gtk3-module.enable false Sets the proper environment variable to use appmenu-gtk3-module.

Example: true
chaotic.duckdns.certs.enable false Whether to enable generate HTTPS cert via ACME/Let's Encrypt.
Example: true
chaotic.duckdns.certs.useHttpServer false Whether to enable use Lego's built-in HTTP server instead a request to DuckDNS.
Example: true
chaotic.duckdns.domain N/A Full domain to be updated, including the TLD.
chaotic.duckdns.enable false Whether to enable DuckDNS config.
Example: true
chaotic.duckdns.environmentFile "/etc/duckdns-updater/envs" Environment file from systemd, ensure it is set to 600 permissions.

Must contain DUCKDNS_TOKEN entry.
chaotic.duckdns.ipv6.device "eth0" Device to get IPv6.
chaotic.duckdns.ipv6.enable false Whether to enable enable IPv6.
Example: true
chaotic.duckdns.onCalendar "*:0/5" How often the DNS entry is updated.

The format is described in {manpage}`systemd.time(7)`.

Example: "hourly"
chaotic.hdr.enable false Whether to enable AMD-HDR as seen in
        https://lore.kernel.org/amd-gfx/20230810160314.48225-1-mwen@igalia.com/
.
Example: true
chaotic.hdr.kernelPackages pkgs.linuxPackages_cachyos Kernel+packages with "AMD Color Management" patches applied.

Example: pkgs.linuxKernel.packages.linux_hdr
chaotic.hdr.specialisation.enable true Isolates the changes in a specialisation.

Example: false
chaotic.hdr.wsiPackage pkgs.gamescope-wsi Gamescope WSI package to use

Example: pkgs.gamescope-wsi_git
chaotic.mesa-git.enable false Whether to use latest Mesa drivers.

WARNING: It will break NVIDIA's libgbm, don't use with NVIDIA Optimus setups.

Example: true
chaotic.mesa-git.extraPackages [ ] Additional packages to add to OpenGL drivers.
This can be used to add OpenCL drivers, VA-API/VDPAU drivers etc.

WARNING: Don't use any of the `mesa.*`, replace with `pkgs.mesa_git.*`.

Example: with pkgs; [ mesa_git.opencl intel-media-driver intel-ocl vaapiIntel ]
chaotic.mesa-git.extraPackages32 [ ] Additional packages to add to 32-bit OpenGL drivers on 64-bit systems.

WARNING: Don't use any of the `mesa.*`, replace with `pkgs.mesa32_git.*`.

Example: with pkgs.pkgsi686Linux; [ pkgs.mesa32_git.opencl intel-media-driver vaapiIntel ]
chaotic.mesa-git.fallbackSpecialisation true Whether to add a specialisation with stable Mesa.
Recommended.

Example: false
chaotic.mesa-git.method "GBM_BACKENDS_PATH" There are three available methods to replace your video drivers system-wide:

- GBM_BACKENDS_PATH:
  The default one that tricks any package linked against nixpkgs' libgbm to
  load our newer one;
- replaceRuntimeDependencies:
  The second most recommended, which impurely replaces nixpkgs' libgbm with
  ours in the nix store (requires "--impure");

Enum: one of "replaceRuntimeDependencies", "GBM_BACKENDS_PATH"

Example: "replaceRuntimeDependencies"
chaotic.nordvpn.enable false Whether to enable the NordVPN daemon. Note that you'll have to set
`networking.firewall.checkReversePath = false;`, add UDP 1194
and TCP 443 to the list of allowed ports in the firewall and add your
user to the "nordvpn" group (`users.users..extraGroups`).
chaotic.nyx.cache.enable true Whether to add Chaotic-Nyx's binary cache to settings.

Example: false
chaotic.nyx.overlay.enable true Whether to add Chaotic-Nyx's overlay to system's pkgs.

Example: false
chaotic.nyx.overlay.flakeNixpkgs.config pkgs.config Matches `nixpkgs.config` from the configuration of the Nix Packages collection.

Example: { allowBroken = true; allowUnfree = true; }

chaotic.nyx.overlay.onTopOf "flake-nixpkgs" Build Chaotic-Nyx's packages based on nyx's flake flakes or the system's pkgs.

Enum: one of "flake-nixpkgs", "user-pkgs"

Example: "user-pkgs"
chaotic.qtile.enable false Whether to enable a wayland-session package and a `start-qtile` binary for using with `services.xserver.windowManager.qtile` options.
Example: true
chaotic.scx.enable false Whether to enable scx service.
Example: true
chaotic.scx.package pkgs.scx The scx package to use.
chaotic.scx.scheduler "scx_rustland" Which of the SCX's schedulers to use.

Example: "scx_rusty"
chaotic.steam.extraCompatPackages [ ] Extra packages to be used as compatibility tools for Steam on Linux. Packages will be included
in the `STEAM_EXTRA_COMPAT_TOOLS_PATHS` environmental variable.

Example: with pkgs; [
  luxtorpeda
  proton-ge-custom
]

chaotic.zfs-impermanence-on-shutdown.enable false Whether to enable Impermanence on safe-shutdown through ZFS snapshots.
Example: true
chaotic.zfs-impermanence-on-shutdown.snapshot null Snapshot of the volume in an "empty" state to roll back to.

Example: "start"
chaotic.zfs-impermanence-on-shutdown.volume null Full description to the volume including pool.
This volume must have a snapshot to an "empty" state.

WARNING: The volume will be rolled back to the snapshot on every safe-shutdown.

Example: "zroot/ROOT/empty"

Home-Manager Options

KeyDefaultDescription
chaotic.nyx.cache.enable true Whether to add Chaotic-Nyx's binary cache to settings.

Example: false
chaotic.nyx.overlay.enable true Whether to add Chaotic-Nyx's overlay to system's pkgs.

Example: false
chaotic.nyx.overlay.flakeNixpkgs.config pkgs.config Matches `nixpkgs.config` from the configuration of the Nix Packages collection.

Example: {
  allowBroken = true;
}

chaotic.nyx.overlay.onTopOf "flake-nixpkgs" Build Chaotic-Nyx's packages based on nyx's flake flakes or the system's pkgs.

Enum: one of "flake-nixpkgs", "user-pkgs"

Example: "user-pkgs"

Harder stuff

Some packages are harder to use, I'll go into details in the following paragraphs.

Using linux-cachyos with sched-ext

Since sched-ext patches have been added to linux-chachyos, you can just use that kernel.

First, add this to your configuration:


{
  boot.kernelPackages = pkgs.linuxPackages_cachyos;
  environment.systemPackages =  [ pkgs.scx ];
}

Then, with the new kernel booted, check if the correct kernel booted:


╰─λ zgrep 'SCHED_CLASS' /proc/config.gz
CONFIG_SCHED_CLASS_EXT=y

The last step is to start a scheduler:


╰─λ sudo scx_rusty
21:38:53 [INFO] CPUs: online/possible = 24/32
21:38:53 [INFO] DOM[00] cpumask 00000000FF03F03F (20 cpus)
21:38:53 [INFO] DOM[01] cpumask 0000000000FC0FC0 (12 cpus)
21:38:53 [INFO] Rusty Scheduler Attached

There are other scx_* binaries for you to play with, or head to github.com/sched-ext/scx for instructions on how to write one of your own.

Using qtile from git


{
  services.xserver.windowManager.qtile = {
    enable = true;
    backend = "wayland";
    package = pkgs.qtile-module_git;
    extraPackages = _pythonPackages: [ pkgs.qtile-extras_git ];
  };
  # if you want a proper wayland+qtile session, and/or a "start-qtile" executable in PATH:
  chaotic.qtile.enable = true;
}

Notes

Our branches

:godmode: Our nyxpkgs-unstable branch is the one that's always cached.

:shipit: The main branch is the primary target for contribution.

Contributions

We do accept third-party authored PRs.

Upstream to nixpkgs

If you are interested in pushing any of these packages to the upstream nixpkgs, you have our blessing.

If one of our contributors is mentioned in the deveriation's mantainers list (in this repository) please keep it when pushing to nixpkgs. But, please, tag us on the PR so we can participate in the reviewing.

Forks and partial code-taking

You are free to use our code, or portions of our code, following the MIT license restrictions.

Suggestions

If you have any suggestion to enhance our packages, modules, or even the CI's codes, let us know through the GitHub repo's issues.

Building over the user's pkgs

For cache reasons, Chaotic-Nyx now defaults to always use nixpkgs as provider of its dependencies.

If you need to change this behavior, set chaotic.nyx.onTopOf = "user-pkgs";. Be warned that you mostly won't be able to benefit from our binary cache after this change.

You can also disable our overlay entirely by configuring chaotic.nyx.overlay.enable = false;.

Why am I building a kernel? Basic cache troubleshooting

For starters, suppose you're using our linuxPackages_cachyos as the kernel and an up-to-date flake lock. Check if all these three hashes prompt the same:


╰─λ nix eval 'github:chaotic-cx/nyx/nyxpkgs-unstable#linuxPackages_cachyos.kernel.outPath'
"/nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7"

╰─λ nix eval 'chaotic#linuxPackages_cachyos.kernel.outPath'
"/nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7"

╰─λ nix eval '/etc/nixos#nixosConfigurations.{{HOSTNAME}}.config.boot.kernelPackages.kernel.outPath'
"/nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7"

If the second is different from the first, you're probably adding a inputs.nixpkgs.follows to chaotic, simply remove it.

If the third is different from the first, you're most likely using an overlay that's changing the kernel or one of its dependencies; check your nixpkgs.overlays config.


If they all match, and you're still rebuilding the kernel, copy the hash from the result above, then change it in the following curl command:


╰─λ curl -L 'https://nyx.chaotic.cx/441qhriiz5fa4l3xvvjw3h4bps7xfk08.narinfo'
StorePath: /nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7
URL: nar/e5ccded34e4608448c49d3e9fdc92441cd564ae629a4b93fd3f8a334bca7c71d.nar.zst
Compression: zstd
FileHash: sha256:e5ccded34e4608448c49d3e9fdc92441cd564ae629a4b93fd3f8a334bca7c71d
FileSize: 172226528
NarHash: sha256:1v410bnc3qazxscwxvm80c40i0fxzp0amvp93y0y4x3kikdwz035
NarSize: 184989384
References:
Deriver: snb6mg44fflzp3vm5fh4ybxa5j4nlfa5-linux-6.8.7.drv
Sig: chaotic-nyx.cachix.org-1:L0D5GiJf/VEc1brcqYSB+vzYDDV6ZoDP59b+0mrX3bm2b5bbvtH3xOR4XEXy7QILYoIx2Pd64qWN+6okOMQZCA==

If the command above fails without an 404, then you have an issue with your internet connection. If it fails with 404, then tag pedrohlc (Matrix, Telegram or GitHub), he really broke the cache.

If the command succeeds, and you're still building the cache, it can happen because of two things: (1) you might have tried to fetch said package before we deployed, then Nix will cache the 404 and won't try again; (2) you might have a misconfigured /etc/nix/nix.conf or outdated nix-daemon.

For the second one, check if it looks like this (the word “chaotic” should appear three times):


╰─λ grep chaotic /etc/nix/nix.conf
substituters = https://nix-community.cachix.org/ https://nyx.chaotic.cx/ https://cache.nixos.org/
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8= chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8

An outdated nix-daemon can happen when you change nix settings, then nixos-rebuilt your system, but you didn't restart the nix-daemon service. The easiest way to fix it is to reboot.

Maintainence

The code in the devshells directory is used to automate our CIs and maintainence processes.

Build them all

To build all the packages and push their cache usptream, use:


nix develop . -c chaotic-nyx-build

This commands will properly skip already-known failures, evaluation failures, building failures, and even skip any chain of failures caused by internal-dependecies. It will also avoid to download what it's already in our cache and in the upstream nixpkgs' cache.

A list of what successfully built, failed to build, hashes of all failures, paths to push to cache and logs will be available at the /tmp/nix-shell.*/tmp.*/ directory. This directory can be specified with the NYX_WD envvar.

Check for evaluation differerences

You can compare a branch with another like this:


machine=$(uname -m)-linux
A='github:chaotic-cx/nyx/branch-a'
B='github:chaotic-cx/nyx/branch-b'

nix build --impure --expr \
  "(builtins.getFlake \"$A\").devShells.$machine.comparer.passthru.any \"$B\""

After running, you'll find all the derivations that changed in the result file.

Known failures

All the hashes that are known to produce build-time failures are kept in devshells/failures.nix.

Our builder produces a new-failures.nix that must be used to update this file in every PR.

Banished and rejected packages

There are none (so far).

About this page

Generated for github:chaotic-cx/nyx/dcb0f06376629577a71a5322566acaf5c33bc232 from 20240509155030Z.