{"id":13799647,"url":"https://github.com/chaotic-cx/nyx","last_synced_at":"2025-05-13T08:31:44.762Z","repository":{"id":152047243,"uuid":"619996867","full_name":"chaotic-cx/nyx","owner":"chaotic-cx","description":"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).","archived":false,"fork":false,"pushed_at":"2025-05-10T23:19:54.000Z","size":5406,"stargazers_count":458,"open_issues_count":12,"forks_count":47,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-10T23:25:17.238Z","etag":null,"topics":["bleeding-edge","nix","nix-flakes"],"latest_commit_sha":null,"homepage":"https://nyx.chaotic.cx","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chaotic-cx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-27T20:33:14.000Z","updated_at":"2025-05-10T23:19:57.000Z","dependencies_parsed_at":"2023-09-24T08:37:36.801Z","dependency_job_id":"cbf030f9-7565-4384-82c7-9ea9d585deb2","html_url":"https://github.com/chaotic-cx/nyx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaotic-cx%2Fnyx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaotic-cx%2Fnyx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaotic-cx%2Fnyx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaotic-cx%2Fnyx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chaotic-cx","download_url":"https://codeload.github.com/chaotic-cx/nyx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253903799,"owners_count":21981752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bleeding-edge","nix","nix-flakes"],"created_at":"2024-08-04T00:01:04.813Z","updated_at":"2025-05-13T08:31:44.752Z","avatar_url":"https://github.com/chaotic-cx.png","language":"Nix","funding_links":[],"categories":["Nix","others","Overlays"],"sub_categories":["Webinterface"],"readme":"\u003ch1\u003eChaotic's Nyx\u003c/h1\u003e\n\n\u003cimg alt=\"Six frogs with capes, aligned like the NixOS logo, with intercalated shades of green\" src=\"https://gist.githubusercontent.com/PedroHLC/f6eaa9dfcf190e18b753e98fd265c8d3/raw/nix-frog-with-capes-web.svg\" width=\"35%\" /\u003e\u003cbr/\u003e\n\n\u003cimg alt=\"GitHub's menu buttons re-ordered and re-labeled to say: Make Pull requests Not Issues. Sounding like Make Love Not War\" src=\"https://gist.githubusercontent.com/PedroHLC/eba5644666a1f2f007319d566ab77a83/raw/91c6064eb0d5cd1e19ac76a48acda87996f330f9/make-pr-not-issues.svg\" width=\"330\" height=\"49\" /\u003e\u003cbr/\u003e\n\n\u003cp\u003eNix 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).\u003c/p\u003e\n\n\u003cp\u003eFrom the \u003ca href=\"https://github.com/chaotic-cx\"\u003eChaotic Linux User Group (LUG)\u003c/a\u003e, the same one that maintains \u003ca href=\"https://aur.chaotic.cx\"\u003eChaotic-AUR\u003c/a\u003e! 🧑🏻‍💻\u003c/p\u003e\n\n\u003cp\u003eThe official source-code repository is available \u003ca href=\"https://github.com/chaotic-cx/nyx\"\u003eas \"chaotic-cx/nyx\" at GitHub\u003c/a\u003e.\u003c/p\u003e\n\n\u003cstrong\u003ePLEASE AVOID POSTING ISSUES IN NIXOS' MATRIX, DISCOURSE, DISCORD, ETC. USE \u003ca href=\"https://github.com/chaotic-cx/nyx/issues\"\u003eOUR REPO'S ISSUES\u003c/a\u003e, \u003ca href=\"https://t.me/chaotic_nyx_sac\" target=\"_blank\"\u003eTELEGRAM GROUP\u003c/a\u003e, OR \u003ccode\u003e#chaotic-nyx:ubiquelambda.dev\u003c/code\u003e ON \u003ca href=\"https://matrix.to/#/#chaotic-nyx:ubiquelambda.dev\" target=\"_blank\"\u003eMATRIX\u003c/a\u003e INSTEAD.\u003c/strong\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"#news\"\u003eNews\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#how-to-use-it\"\u003eHow to use it\u003c/a\u003e\u003cbr/\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#on-nixos-unstable\"\u003eOn NixOS unstable\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#on-nixos-stable\"\u003eOn NixOS stable\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#on-home-manager\"\u003eOn Home-Manager\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#running-packages-without-installing\"\u003eRunning packages (without installing)\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#binary-cache-notes\"\u003eBinary Cache notes\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#flakehub-notes\"\u003eFlakeHub notes\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#using-sched-ext-schedulers\"\u003eUsing linux-cachyos with sched-ext\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#using-with-read-only-pkgs\"\u003eUsing with read-only pkgs\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#using-with-jovian\"\u003eUsing with Jovian\u003c/a\u003e\u003cbr/\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#lists-of-options-and-packages\"\u003eLists of options and packages\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#notes\"\u003eNotes\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#why-am-i-building-a-kernel-basic-cache-troubleshooting\"\u003eWhy am I building a kernel? Basic cache troubleshooting\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2 id=\"news\"\u003eNews\u003c/h2\u003e\n\n\u003cp\u003eA news channel can be found \u003ca href=\"https://t.me/s/chaotic_nyx\"\u003eon Telegram\u003c/a\u003e.\u003c/p\u003e\n\n\u003ch2 id=\"how-to-use-it\"\u003eHow to use it\u003c/h2\u003e\n\n\u003ch3 id=\"on-nixos-unstable\"\u003eOn NixOS unstable\u003c/h3\u003e\n\n\u003cp\u003eThis tutorial does not apply for users using NixOS 24.11 and other stable channels. This tutorial is for unstable users.\u003c/p\u003e\n\n\u003cp\u003eWe recommend integrating this repo using Flakes:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# flake.nix\n{\n  description = \"My configuration\";\n\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n    chaotic.url = \"github:chaotic-cx/nyx/nyxpkgs-unstable\"; # IMPORTANT\n  };\n\n  outputs = { nixpkgs, chaotic, ... }: {\n    nixosConfigurations = {\n      hostname = nixpkgs.lib.nixosSystem { # Replace \"hostname\" with your system's hostname\n        system = \"x86_64-linux\";\n        modules = [\n          ./configuration.nix\n          chaotic.nixosModules.default # IMPORTANT\n        ];\n      };\n    };\n  };\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eIn your \u003ccode\u003econfiguration.nix\u003c/code\u003e enable the packages and options that you prefer:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# configuration.nix\n{ pkgs, ... }:\n{\n  environment.systemPackages = [ pkgs.lan-mouse_git ];\n  chaotic.mesa-git.enable = true;\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3 id=\"on-nixos-stable\"\u003eOn NixOS stable\u003c/h3\u003e\n\n\u003cp\u003eThis tutorial does not apply for users using NixOS unstable channel. This tutorial is for 24.11 and other stable channels.\u003c/p\u003e\n\n\u003cp\u003eYou won't have access to all the modules and options available to unstable users, as those are prone to breaking due to the divergence between the channels.\nBut you'll have access to all packages, the cache, and the registry.\u003c/p\u003e\n\n\u003cp\u003eWe recommend integrating this repo using Flakes:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# flake.nix\n{\n  description = \"My configuration\";\n\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-24.11\";\n    chaotic.url = \"github:chaotic-cx/nyx/nyxpkgs-unstable\";\n  };\n\n  outputs = { nixpkgs, chaotic, ... }: {\n    nixosConfigurations = {\n      hostname = nixpkgs.lib.nixosSystem { # Replace \"hostname\" with your system's hostname\n        system = \"x86_64-linux\";\n        modules = [\n          ./configuration.nix # Your system configuration.\n          chaotic.nixosModules.nyx-cache\n          chaotic.nixosModules.nyx-overlay\n          chaotic.nixosModules.nyx-registry\n        ];\n      };\n    };\n  };\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eIn your \u003ccode\u003econfiguration.nix\u003c/code\u003e enable the packages that you prefer:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# configuration.nix\n{ pkgs, ... }:\n{\n  environment.systemPackages = [ pkgs.lan-mouse_git ];\n  boot.kernelPackages = pkgs.linuxPackages_cachyos;\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3 id=\"on-home-manager\"\u003eOn Home-Manager\u003c/h3\u003e\n\n\u003cp\u003eThis method is for home-manager setups \u003cstrong\u003ewithout NixOS\u003c/strong\u003e.\u003c/p\u003e\n\n\u003cp\u003eWe recommend integrating this repo using Flakes:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# flake.nix\n{\n  description = \"My configuration\";\n\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n    chaotic.url = \"github:chaotic-cx/nyx/nyxpkgs-unstable\"; # IMPORTANT\n    home-manager = {\n      url = \"github:nix-community/home-manager\";\n      inputs.nixpkgs.follows = \"nixpkgs\";\n    };\n  };\n\n  outputs = { nixpkgs, chaotic, ... }: {\n    # ... other outputs\n    homeConfigurations = {\n      # ... other configs\n      configName = home-manager.lib.homeManagerConfiguration { # Replace \"configName\" with a significant unique name\n        pkgs = nixpkgs.legacyPackages.x86_64-linux;\n        modules = [\n          ./home-manager/default.nix\n          chaotic.homeManagerModules.default # IMPORTANT\n        ];\n      };\n    };\n  };\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eIn your \u003ccode\u003ehome-manager/default.nix\u003c/code\u003e add a \u003ccode\u003enix.package\u003c/code\u003e, and enable the desired packages:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# configuration.nix\n{ pkgs, ... }:\n{\n  nix.package = pkgs.nix;\n  home.packages = [ pkgs.lan-mouse_git ];\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3 id=\"running-packages-without-installing\"\u003eRunning packages (without installing)\u003c/h2\u003e\n\n\u003cp\u003eBesides using our module/overlay, you can run packages (without installing them) using:\u003c/p\u003e\n\n\u003cpre lang=\"sh\"\u003e\u003ccode class=\"language-sh\"\u003e\nnix run github:chaotic-cx/nyx/nyxpkgs-unstable#firefox_nightly\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3 id=\"binary-cache-notes\"\u003eBinary Cache notes\u003c/h3\u003e\n\n\u003cp\u003eYou'll get the binary cache added to your configuration as soon as you add our default module.\nWe do this automatically, so we can gracefully update the cache's address and keys without prompting you for manual work.\u003c/p\u003e\n\n\u003cp\u003eIf you dislike this behavior for any reason, you can disable it with \u003ccode\u003echaotic.nyx.cache.enable = false\u003c/code\u003e.\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eRemember\u003c/strong\u003e: If you want to fetch derivations from our cache, you'll need to enable our module and rebuild your system \u003cstrong\u003ebefore\u003c/strong\u003e adding these derivations to your configuration.\u003c/p\u003e\n\n\u003cp\u003eCommands like \u003ccode\u003enix run ...\u003c/code\u003e, \u003ccode\u003enix develop ...\u003c/code\u003e, and others, when using our flake as input, will ask you to add the cache interactively when missing from your user's nix settings.\u003c/p\u003e\n\n\u003cp\u003eIf you want to use the cache right from the \u003cstrong\u003einstallation media\u003c/strong\u003e, install your system using \u003ccode\u003enixos-install --flake /mnt/etc/nixos#mymachine --option 'extra-substituters' 'https://chaotic-nyx.cachix.org/' --option extra-trusted-public-keys \"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=\"\u003c/code\u003e (replace \u003ccode\u003emymachine\u003c/code\u003e with your new host's name).\u003c/p\u003e\n\n\u003cp\u003eWe offer cache for \u003ccode\u003ex86_64-linux\u003c/code\u003e, \u003ccode\u003eaarch64-linux\u003c/code\u003e, and \u003ccode\u003eaarch64-darwin\u003c/code\u003e.\u003c/p\u003e\n\n\u003ch3 id=\"flakehub-notes\"\u003eFlakeHub notes\u003c/h3\u003e\n\n\u003ca href=\"https://flakehub.com/flake/chaotic-cx/nyx\"\u003e\u003cimg alt=\"FlakeHub\" src=\"https://img.shields.io/endpoint?url=https://flakehub.com/f/chaotic-cx/nyx/badge\" /\u003e\u003c/a\u003e\n\n\u003cp\u003eAdd chaotic to your \u003ccode\u003eflake.nix\u003c/code\u003e, make sure to use the rolling \u003ccode\u003e*.tar.gz\u003c/code\u003e to keep using the latest packages:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# flake.nix\n{\n  # ... description\n  inputs = {\n    # ... nixpkgs, home-manager, etc\n    chaotic.url = \"https://flakehub.com/f/chaotic-cx/nyx/*.tar.gz\";\n  };\n  # ... outputs\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eThen follow one of the guides above.\u003c/p\u003e\n\n\u003ch3 id=\"using-sched-ext-schedulers\"\u003eUsing sched-ext schedulers\u003c/h3\u003e\n\n\u003cp\u003e From version 6.12 onwards, sched-ext support is officially available on the upstream kernel. You can use the latest kernel (\u003ccode\u003epkgs.linuxPackages_latest\u003c/code\u003e) or our provided CachyOS kernel (\u003ccode\u003epkgs.linuxPackages_cachyos\u003c/code\u003e). \u003c/p\u003e\n\n\u003cp\u003eJust add this to your configuration:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# configuration.nix\n{\n  boot.kernelPackages = pkgs.linuxPackages_cachyos;\n  services.scx.enable = true; # by default uses scx_rustland scheduler\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003e Then, reboot with the new configuration, check if the scheduler is running: \u003c/p\u003e\n\n\u003cpre lang=\"text\"\u003e\u003ccode class=\"language-text\"\u003e\n╰─λ systemctl status scx.service\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003e If this is not working, check if the current kernel support \u003ccode\u003esched-ext\u003c/code\u003e feature. \u003c/p\u003e\n\n\u003cpre lang=\"text\"\u003e\u003ccode class=\"language-text\"\u003e\n╰─λ ls /sys/kernel/sched_ext/\nenable_seq  hotplug_seq  nr_rejected  root  state  switch_all\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003e You can also manually start a scheduler like: \u003c/p\u003e\n\n\u003cpre lang=\"text\"\u003e\u003ccode class=\"language-text\"\u003e\n╰─λ sudo scx_rusty\n21:38:53 [INFO] CPUs: online/possible = 24/32\n21:38:53 [INFO] DOM[00] cpumask 00000000FF03F03F (20 cpus)\n21:38:53 [INFO] DOM[01] cpumask 0000000000FC0FC0 (12 cpus)\n21:38:53 [INFO] Rusty Scheduler Attached\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eYou can choose a different scheduler too.\u003c/p\u003e\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# configuration.nix\n{\n  services.scx.scheduler = \"scx_rusty\";\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003e We also provide a git version of scx to stay up to date on the latest features. \u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# configuration.nix\n{\n  services.scx.package = pkgs.scx_git.full;\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eThere are other scx_* binaries for you to play with, or head to \u003ca href=\"https://github.com/sched-ext/scx\" target=\"_blank\"\u003egithub.com/sched-ext/scx\u003c/a\u003e for instructions on how to write one of your own.\u003c/p\u003e\n\n\u003ch3 id=\"using-with-read-only-pkgs\"\u003eUsing with read-only pkgs\u003c/h3\u003e\n\n\u003cp\u003eIf you use \u003ccode\u003enixpkgs.nixosModules.readOnlyPkgs\u003c/code\u003e in your setup, you need to disable our overlay module, and import the cache-friendly overlay directly instead.\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# flake.nix\n{\n  # ... description, inputs\n  outputs = { nixpkgs, chaotic, ... }: {\n    nixosConfigurations = {\n      # ... other systems\n      hostname = nixpkgs.lib.nixosSystem { # Replace \"hostname\" with your system's hostname\n        modules = [\n          nixpkgs.nixosModules.readOnlyPkgs\n          # ... ./configuration.nix, ./hardware-configuration.nix, etc\n          {\n            nixpkgs.pkgs = import nixpkgs {\n              system = \"x86_64-linux\";\n              config = { allowUnfree = true; };\n              overlays = [ chaotic.overlays.cache-friendly ]; # IMPORTANT\n            };\n            chaotic.nyx.overlay.enable = false; # IMPORTANT\n          }\n          chaotic.nixosModules.default # IMPORTANT\n        ];\n      };\n    };\n  };\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch3 id=\"using-with-jovian\"\u003eUsing with Jovian\u003c/h3\u003e\n\n\u003cp\u003eWe provide binary cache for most packages in \u003ca href=\"https://github.com/Jovian-Experiments/Jovian-NixOS\" target=\"_blank\"\u003eJovian NixOS\u003c/a\u003e.\u003c/p\u003e\n\n\u003cp\u003eRemember to read all our \u003ca href=\"#binary-cache-notes\"\u003eBinary Cache notes\u003c/a\u003e, and you \u003cb\u003emust follow jovian through chaotic\u003c/b\u003e to avoid hash mismatches:\u003c/p\u003e\n\n\u003cpre lang=\"nix\"\u003e\u003ccode class=\"language-nix\"\u003e\n# flake.nix\n{\n    # ... description\n    inputs = {\n      # ... nixpkgs, home-manager, etc\n      chaotic.url = \"github:chaotic-cx/nyx/nyxpkgs-unstable\";\n      jovian.follows = \"chaotic/jovian\";\n    };\n    # ... outputs\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2 id=\"lists-of-options-and-packages\"\u003eLists of options and packages\u003c/h2\u003e\n\n\u003c!-- cut here --\u003e\u003cp\u003eAn always up-to-date list of all our options and packages is available at: \u003ca href=\"https://www.nyx.chaotic.cx/#lists\"\u003eList page\u003c/a\u003e.\u003c/p\u003e\u003c!-- cut here --\u003e\n\n\u003ch2 id=\"notes\"\u003eNotes\u003c/h2\u003e\n\n\u003ch3\u003eOur branches\u003c/h3\u003e\n\n\u003cp\u003e:godmode: Our \u003ccode\u003enyxpkgs-unstable\u003c/code\u003e branch is the one that's always cached.\u003c/p\u003e\n\n\u003cp\u003e:shipit: The \u003ccode\u003emain\u003c/code\u003e branch is the primary target for contribution.\u003c/p\u003e\n\n\u003ch3\u003eContributions\u003c/h3\u003e\n\n\u003cp\u003eWe do accept third-party authored PRs.\u003c/p\u003e\n\n\u003ch3\u003eUpstream to nixpkgs\u003c/h3\u003e\n\n\u003cp\u003eIf you are interested in pushing any of these packages to the upstream nixpkgs, you have our blessing.\u003c/p\u003e\n\n\u003cp\u003eIf 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.\u003c/p\u003e\n\n\u003ch3\u003eForks and partial code-taking\u003c/h3\u003e\n\n\u003cp\u003eYou are free to use our code, or portions of our code, following the MIT license restrictions.\u003c/p\u003e\n\n\u003ch3\u003eSuggestions\u003c/h3\u003e\n\n\u003cp\u003eIf you have any suggestion to enhance our packages, modules, or even the CI's codes, let us know through the GitHub repo's issues.\u003c/p\u003e\n\n\u003ch3\u003eBuilding over the user's pkgs\u003c/h3\u003e\n\n\u003cp\u003eFor cache reasons, Chaotic-Nyx now defaults to always use nixpkgs as provider of its dependencies.\u003c/p\u003e\n\n\u003cp\u003eIf you need to change this behavior, set \u003ccode\u003echaotic.nyx.onTopOf = \"user-pkgs\";\u003c/code\u003e. Be warned that you mostly won't be able to benefit from our binary cache after this change.\u003c/p\u003e\n\n\u003cp\u003eYou can also disable our overlay entirely by configuring \u003ccode\u003echaotic.nyx.overlay.enable = false;\u003c/code\u003e.\u003c/p\u003e\n\n\u003ch3\u003eCachyOS kernels\u003c/h3\u003e\n\n\u003cp\u003eEven though we provide \u003ccode\u003elinuxPackages_cachyos-lto\u003c/code\u003e, we don't maintain the kernel modules in it. Nixpkgs, where the derivations originate from, doesn't provide kernels built with Clang. Consequentially, adding later support for all the kernel modules available in Nixpkgs wouldn't be easy. Presently, \u003ccode\u003exone\u003c/code\u003e is the only one guaranteed to work, and \u003cstrong\u003eZFS is known to not work\u003c/strong\u003e.\u003c/p\u003e\n\n\u003cp\u003eOther variations of \u003ccode\u003elinuxPackages_cachyos\u003c/code\u003e works without any issues. But, we don't build the ones in \u003ccode\u003elinuxPackages_cachyos-rc\u003c/code\u003e, they should work, but don't expect cache for them.\u003c/p\u003e\n\n\u003cp\u003eYou may install the CachyOS kernel directly using the default modules and overlays with \u003ccode\u003epkgs.linuxPackages_cachyos\u003c/code\u003e. Alternatively, use \u003ccode\u003echaotic.legacyPackages.x86_64-linux.linuxPackages_cachyos\u003c/code\u003e if you would like to use the package directly without using modules and overlay\u003c/p\u003e\n\n\u003ch2 id=\"why-am-i-building-a-kernel-basic-cache-troubleshooting\"\u003eWhy am I building a kernel? Basic cache troubleshooting\u003c/h2\u003e\n\n\u003cp\u003eFor starters, suppose you're using our \u003ccode\u003elinuxPackages_cachyos\u003c/code\u003e as the kernel and an up-to-date flake lock. Check if all these three hashes prompt the same:\u003c/p\u003e\n\n\u003cpre lang=\"text\"\u003e\u003ccode class=\"language-text\"\u003e\n╰─λ nix eval 'github:chaotic-cx/nyx/nyxpkgs-unstable#linuxPackages_cachyos.kernel.outPath'\n\"/nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7\"\n\n╰─λ nix eval 'chaotic#linuxPackages_cachyos.kernel.outPath'\n\"/nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7\"\n\n╰─λ nix eval '/etc/nixos#nixosConfigurations.{{HOSTNAME}}.config.boot.kernelPackages.kernel.outPath'\n\"/nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7\"\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eIf the second is different from the first, you're probably adding a \u003ccode\u003einputs.nixpkgs.follows\u003c/code\u003e to \u003ccode\u003echaotic\u003c/code\u003e, simply remove it.\u003c/p\u003e\n\n\u003cp\u003eIf 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 \u003ccode\u003enixpkgs.overlays\u003c/code\u003e config.\u003c/p\u003e\n\n\u003chr width=\"50%\" /\u003e\n\n\u003cp\u003eIf they all match, and you're still rebuilding the kernel, copy the hash from the result above, then change it in the following \u003ccode\u003ecurl\u003c/code\u003e command:\u003c/p\u003e\n\n\u003cpre lang=\"text\"\u003e\u003ccode class=\"language-text\"\u003e\n╰─λ curl -L 'https://chaotic-nyx.cachix.org/441qhriiz5fa4l3xvvjw3h4bps7xfk08.narinfo'\nStorePath: /nix/store/441qhriiz5fa4l3xvvjw3h4bps7xfk08-linux-6.8.7\nURL: nar/e5ccded34e4608448c49d3e9fdc92441cd564ae629a4b93fd3f8a334bca7c71d.nar.zst\nCompression: zstd\nFileHash: sha256:e5ccded34e4608448c49d3e9fdc92441cd564ae629a4b93fd3f8a334bca7c71d\nFileSize: 172226528\nNarHash: sha256:1v410bnc3qazxscwxvm80c40i0fxzp0amvp93y0y4x3kikdwz035\nNarSize: 184989384\nReferences:\nDeriver: snb6mg44fflzp3vm5fh4ybxa5j4nlfa5-linux-6.8.7.drv\nSig: chaotic-nyx.cachix.org-1:L0D5GiJf/VEc1brcqYSB+vzYDDV6ZoDP59b+0mrX3bm2b5bbvtH3xOR4XEXy7QILYoIx2Pd64qWN+6okOMQZCA==\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eIf the command above fails without an 404, then you have an issue with your internet connection. If it fails with 404, then tag \u003ccode\u003epedrohlc\u003c/code\u003e (Matrix, Telegram or GitHub), he really broke the cache.\u003c/p\u003e\n\n\u003cp\u003eIf 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 \u003ccode\u003e/etc/nix/nix.conf\u003c/code\u003e or outdated nix-daemon.\u003c/p\u003e\n\n\u003cp\u003eFor the second one, check if it looks like this (the word “chaotic” should appear three times):\u003c/p\u003e\n\n\u003cpre lang=\"text\"\u003e\u003ccode class=\"language-text\"\u003e\n╰─λ grep chaotic /etc/nix/nix.conf\nsubstituters = https://nix-community.cachix.org/ https://chaotic-nyx.cachix.org/ https://cache.nixos.org/\ntrusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cp\u003eAn 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.\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaotic-cx%2Fnyx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaotic-cx%2Fnyx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaotic-cx%2Fnyx/lists"}