cid-chan / peerix

Peer2Peer Nix-Binary-Cache
GNU General Public License v3.0
139 stars 13 forks source link

error: attribute 'peerix' missing #11

Open teto opened 2 years ago

teto commented 2 years ago

I've tried adding peerix to my current config:

      ```
      jedha = nixpkgs.lib.nixosSystem {
        inherit system;
        pkgs = nixpkgsFinal;
        modules = [
          self.inputs.sops-nix.nixosModules.sops
          self.inputs.peerix.nixosModules.peerix
        ];
    }
    ```

but I get:

error: attribute 'peerix' missing

       at /nix/store/haxyr9mdg4p93fgd4kviv17m1my72lnq-source/module.nix:74:53:

           73|         type = types.package;
           74|         default = (import ./default.nix).default or pkgs.peerix;
             |                                                     ^
           75|         defaultText = literalExpression "pkgs.peerix";

       … while evaluating the attribute 'default'

       at /nix/store/haxyr9mdg4p93fgd4kviv17m1my72lnq-source/module.nix:74:9:

           73|         type = types.package;
           74|         default = (import ./default.nix).default or pkgs.peerix;
             |         ^
           75|         defaultText = literalExpression "pkgs.peerix";

       … while evaluating the attribute 'value.content'

       at /nix/store/77g3azw3wi7xq765097r5vqarf6vk3a2-source/lib/modules.nix:918:14:

seems like something is missing

here is a partial output of nix flake metadata:

├───peerix: github:cid-chan/peerix/4ada6bfb74ab46740adce091271e3bd7c8ade827
│   ├───flake-compat: github:edolstra/flake-compat/12c64ca55c1014cdc1b16ed5a804aa8576601ff2
│   ├───flake-utils: github:numtide/flake-utils/c91f3de5adaf1de973b797ef7485e441a65b8935
│   └───nixpkgs: github:NixOS/nixpkgs/5cb226a06c49f7a2d02863d0b5786a310599df6b
MaeIsBad commented 2 years ago

A quick fix is to set the services.peerix.package option

rapenne-s commented 2 years ago

How do you do that?

MaeIsBad commented 2 years ago

I can't see your entire configuration, so I'm not sure. That might work, but if it doesn't you should do(assuming,x86_64-linux, change according to your device

            {
              services.peerix.package = peerix.packages.x86_64-linux.peerix;
              services.peerix.enable = true;
            }

Feel free to ask if that doesn't clear it up

rapenne-s commented 2 years ago

This works :+1:

danth commented 2 years ago

You can also use peerix.packages.${pkgs.system}.peerix to detect the correct platform automatically