| 19 Jun 2023 |
rendakuenthusiast | no, it's exactly the same path as originalUrl | 05:50:37 |
Zhaofeng Li | In reply to @rendakuenthusiast:imperishable.name no, it's exactly the same path as originalUrl Hmm, then it should be correct | 05:50:54 |
rendakuenthusiast | well the deploy works now, as long as I don't put -f flake.nix | 05:51:18 |
rendakuenthusiast | I was more mentioning that b/c the error message was confusing | 05:51:25 |
rendakuenthusiast | anyway, I have a new question: currently I have my colmena config set up such that outputs.colmena.<system-name> = { deployment.targetHost = <url>; imports = [./system-name.nix]; } | 05:52:37 |
rendakuenthusiast | so that each machine's configuration is in its own file in this repo and I don't have one giant flake.nix (or previously default.nix) | 05:52:53 |
Zhaofeng Li | Aha, there is something wonky with the path-to-flake resolution | 05:53:10 |
rendakuenthusiast | but some of those imported configuration modules are themselves importing a local flake with bulitins.getFlake /absolute/path/to/another/flake/on/my/system | 05:53:34 |
Zhaofeng Li | -f ./flake.nix works but -f flake.nix doesn't - probably a behavior change on Nix but it's still Colmena's fault | 05:53:47 |
Zhaofeng Li | * -f ./flake.nix works but -f flake.nix doesn't - probably a behavior change in Nix but it's still Colmena's fault | 05:53:52 |
rendakuenthusiast | and so this requires me to pass in --impure and I think those aren't getting tracked in the flake.lock file | 05:54:19 |
rendakuenthusiast | hm I'll try -f ./flake.nix | 05:54:28 |
rendakuenthusiast | seems like that works fine. although of course if I stick to the flake.nix naming convention, which I have no reason to break from anyway, I don't need -f at all | 05:55:03 |
rendakuenthusiast | anyway, I'd like to be able to define a few more external flakes in flake.nix, and then pass them as arguments to the specific submodles that need them | 05:55:41 |
Zhaofeng Li | I usually just do meta.specialArgs = inputs so any config module can access all flake inputs | 05:56:29 |
rendakuenthusiast | oh hm | 05:56:51 |
rendakuenthusiast | so, if I set that, then I should be able to access {config, pkgs, inputs, ...}: in any submodule I declare? | 05:57:28 |
Zhaofeng Li | yeah | 05:57:42 |
Zhaofeng Li | like
{ pkgs, inputs, ... }:
{
imports = [ inputs.home-manager.nixosModules.default ];
}
| 05:57:49 |
rendakuenthusiast | it would be great if you could put that example here: https://colmena.cli.rs/unstable/reference/meta.html#specialargs | 05:57:59 |
rendakuenthusiast | it's not obvious to me what a "special arg" is, even if I'm reading that documentation | 05:58:13 |
rendakuenthusiast | also an example of how to use nodeSpecialArgs, although I don't think I personally need that | 05:59:15 |
Zhaofeng Li | In reply to @zhaofeng:zhaofeng.li I usually just do meta.specialArgs = inputs so any config module can access all flake inputs Wait oops, should be specialArgs = { inherit inputs; }; | 06:00:08 |
rendakuenthusiast | error: syntax error, unexpected INHERIT | 06:00:37 |
rendakuenthusiast | oh wait need to wrap it in a set | 06:00:53 |
Zhaofeng Li | otherwise it will look like { pkgs, config, home-manager, ... } etc, but might be fine depending on what you like | 06:00:58 |
rendakuenthusiast | although now it objects to specialArgs = { inherit inputs }; | 06:01:16 |
rendakuenthusiast | er, forgot the closing ; | 06:01:30 |
rendakuenthusiast | inputs is undefined within the body of the outputs fn | 06:01:54 |
rendakuenthusiast | does it need to be self.inputs? | 06:02:05 |