| 6 Apr 2024 |
accelbread | IMO the latter is cleaner with importing common config, but if you want to not have common lines, the former works too. Whichever you like the best | 22:27:49 |
accelbread | lunik1: LMK if that helps; I might be able to give better advice if you have the code available somewhere as well | 22:36:41 |
accelbread | * Assuming ./nix as nixDIr,
./nix/nixos/default.nix can be:
{ flakelight, lib, inputs, ... }:
let
addCommonCfg = prev: prev // {
modules = prev.modules or [ ] ++ [ inputs.some-flake.nixosModules.default ];
};
in
lib.mapAttrs (_: addCommonCfg) (flakelight.importDir ./.)
and that will add some-flake.nixosModules.default to all you nixos systems, assuming you define your nixos systems something like follows:
./nix/nixos/machineA/default.nix (or ./nix/nixos/machineA.nix):
{
system = "x86_64-linux";
modules = [
./configuration.nix
{ system.stateVersion = "22.11"; }
];
}
| 22:42:27 |
accelbread | * Or as another option, you can add inputs.self.nixosModules.common to each of your system, and import your common modules there I do that for my config here: https://github.com/accelbread/config-flake/blob/ae52725fd660af550d66750707d649082786e332/nix/nixosModules/common.nix#L7 https://github.com/accelbread/config-flake/blob/ae52725fd660af550d66750707d649082786e332/nix/nixos/solace/configuration.nix#L5 | 22:43:47 |
lunik1 | My code is here https://gitlab.com/lunik1/nix-config/-/tree/flakelight | 23:29:28 |
lunik1 | In reply to@accelbread:matrix.org Hey, thanks for reaching out! I appreciate hearing back
For, withOverlays and NixOS/home-manager, you'd either have to use the short form (where flakelight calls nixosSystem/homeManagerConfiguration for you) or pass propagationModule to the function yourself
Theres a line here (https://github.com/nix-community/flakelight/blob/a55ef9097613d99f293a532356d67b8ba8aff37f/API_GUIDE.md?plain=1#L959); I'll see about making it clearer. I'll add an example for it too.
For packages from other flakes' packages outputs, I'll add some docs/examples as well I could have sworn when I did this that the nixos config immediately complained about nonfree packages, indicating the config had not been carried over. I will take another look. | 23:31:04 |
lunik1 | Those options for the common config look good. Is flakelight.importDir documented anywhere? I don't remember seeing it. | 23:32:07 |
| 7 Apr 2024 |
lunik1 | In reply to@lunik1:lunik.one I could have sworn when I did this that the nixos config immediately complained about nonfree packages, indicating the config had not been carried over. I will take another look. Here's a mwe of the issue
{
inputs = {
flakelight = {
url = "github:nix-community/flakelight";
};
};
outputs = { flakelight, ... }:
flakelight ./. {
nixpkgs.config.allowUnfree = true;
nixosConfigurations = {
host = {
system = "x86_64-linux";
modules = [
{
boot.loader.grub.device = "/dev/sda";
fileSystems."/" = {
device = "/dev/sda";
fsType = "xfs";
};
hardware.enableAllFirmware = true;
}
];
};
};
};
}
This system configuration fails to build with
Failed assertions:
- the list of hardware.enableAllFirmware contains non-redistributable licensed firmware files.
This requires nixpkgs.config.allowUnfree to be true.
An alternative is to use the hardware.enableRedistributableFirmware option.
| 00:02:23 |
accelbread | Yeah importDir is not documented yet; I need to add a section of lib functions. It does the same thing autoimport with nixDir would do | 00:03:48 |
accelbread | Ah yeah, the overlays are carried over currently but not config
Hmm
Propagating config probably makes sense, yeah
Can add that | 00:05:26 |
accelbread | * Ah yeah, the overlays are carried over currently but not nixpkgs config
Hmm
Propagating config probably makes sense, yeah
Can add that | 00:05:49 |
accelbread | lunik1: Pushed a change to also propagate the nixpkgs.config option. Tested it with nixpkgs.config.allowUnfreePredicate on my systems | 01:06:54 |
accelbread | https://github.com/nix-community/flakelight/commit/fb530e878f701795fe608f499796860ca303a624 | 01:07:13 |
accelbread | will add the other docs updates later today or tomorrow
| 01:08:20 |
| 10 Apr 2024 |
| Sam Lehman joined the room. | 15:47:00 |
| 17 Apr 2024 |
| JoelMcCracken joined the room. | 16:29:59 |
| 28 Apr 2024 |
| kenji joined the room. | 10:00:29 |
| 29 Apr 2024 |
| NixOS Moderation Botchanged room power levels. | 15:28:34 |
| 1 May 2024 |
| thirdofmay18081814goya joined the room. | 04:01:44 |
thirdofmay18081814goya | hi, how do you make flakelight load the nix/ folder in the same directory as the flake? | 04:02:26 |
accelbread | loading ./nix in flake dir is default | 04:02:53 |
accelbread | Is is not working for you? | 04:03:04 |
accelbread | is the directory added to git?? | 04:03:12 |
accelbread | * is the directory added to git? | 04:03:13 |
thirdofmay18081814goya | ty for the fast response, I'm finding flakelight to be super neat | 04:03:43 |
thirdofmay18081814goya | I'll sure it'll get adopted quick | 04:03:49 |
thirdofmay18081814goya | wrt my problem: oh I didn't add it to git | 04:03:59 |
thirdofmay18081814goya | let me try that a second, am on a new install | 04:04:05 |
thirdofmay18081814goya | * I'm sure it'll get adopted quick | 04:04:23 |
thirdofmay18081814goya | I think it's my home-manager config that's not written right; I'll work a bit more on this and I'll get back to you | 04:27:54 |