nixos-config/docs/content/en-US/02-lay-of-the-land/04-channels-support/index.adoc

36 lines
1.7 KiB
Plaintext
Raw Normal View History

---
title: Channels support
---
= Channels support
While this primarily uses flakes as its main form of distribution, this project does keep some use cases for traditional channels.
2023-07-20 09:45:47 +00:00
It's not guaranteed to be good as xref:../../05-using-parts-of-my-configuration/index.adoc#using-my-config-with-flakes[Using my config with flakes] but it's an option.
Anyhow, there is a section for using my configuration with channels as shown in xref:../../05-using-parts-of-my-configuration/index.adoc#using-my-config-with-channels[Using my config with channels].
The entry point is found at github:{github-repo}[`./default.nix`, path=./default.nix, rev=master].
2023-07-09 06:07:59 +00:00
.`default.nix`
[source, nix]
----
include::../../../../../default.nix[]
----
However, you have to keep some limitations and guidelines in mind.
* It exports an attribute based from the github:nix-community/NUR/[NUR template].
+
--
Several exports includes...
* My custom library at `lib`.
* Custom NixOS modules at `modules`.
* Custom home-manager modules at `hmModules`.
* An overlay of my custom packages at `overlays.foo-dogsquared-pkgs`.
* My packages as the rest of the top-level attributes from the attrset.
--
* Keep in mind it doesn't export the NixOS hosts and home-manager user configurations.
It would be pointless as it is duplicating effort plus **I really like managing my NixOS config more with the flakes way** compared to setting up channels.
It has a lot of advantages such as the ease of provisioning and updating your setups along with its dependencies, enforcing certain values in a certain attribute that can be seen in the revised Nix CLI, and nicer interface overall.
While possible with channels, this is just better experience overall and I have no interest in maintaining setups in both ways.