GithubHelp home page GithubHelp logo

Comments (6)

roberth avatar roberth commented on June 18, 2024 2

Hi @x10an14,

The way flake-parts uses the module system is more complicated than NixOS, so don't despair :)
It seems that I've underestimated the difficulty of developing new modules. I'll make an attempt at filling in some of the missing documentation about the module system specifically.

at some times/places these are different configs,

That deserves an article of its own.

from flake-parts.

roberth avatar roberth commented on June 18, 2024 1

self is only a module argument, not an option, let alone an option you can define a value for. The value of self comes directly from Nix.

In order to make your allowedUnfreePackages global, it doesn't have to be in flake, but you do have to declare it, as it seems that you want to merge definitions from multiple places.

What you're trying to solve is not a unique problem though. I think the right solution is to have a better nixpkgs module, and perhaps also a home manager module that integrates with the pkgs constructed by that nixpkgs module.

Refs #74

from flake-parts.

x10an14 avatar x10an14 commented on June 18, 2024 1

(...) I'll close this, but feel free to ask questions.

Thanks!

Aren't you invoking those functions from within a scope that has the flake-parts config? You could then forward it.

I already tried asking for guidance/help with that over at your Matrix channel, but I didn't feel comfortable continuing the discussion to be honest.

I felt there was too much of a disconnect between the respective perspectives of the ones in the know, and the newbie who knows next to nothing (me). It didn't make me feel as if I could ask for help without becoming too much of a bother.

To be clear; I suspect no ill will - a lot gets missed/misunderstood with written chat.
I just didn't feel like it was possible to communicate due to lack of what I'd call a "common platform of understanding".


I still do not understand the differences/similarities/intricacies of config from within the contexts of the referenced function invocations here, and the config.flake mentioned in your documentation. I have no idea what I don't understand, which makes it nigh impossible for me to know what questions to ask, let alone how to formulate them correctly.

(And this from a ~2yrs nix(os) user who has experience from writing and using of options with the nixos/home-manager config specialArgs variable).

I just know that at some times/places these are different configs, and at others they are not. Not really managed to find examples showing this interplay between them/how to leverage config.flake.

from flake-parts.

x10an14 avatar x10an14 commented on June 18, 2024

I solved it without flake-parts for now. Subscribed to #74 for progress updates.

Ideally, I wish to assign this allowedUnfreePackages option to a flake-global variable, instead of config.
(Due config only being available after home-manager.lib.homeManagerConfiguration or nixpkgs.lib.nixosSystem invocations).

from flake-parts.

roberth avatar roberth commented on June 18, 2024

Aren't you invoking those functions from within a scope that has the flake-parts config? You could then forward it.

I'll close this, but feel free to ask questions.

from flake-parts.

drupol avatar drupol commented on June 18, 2024

Looking forward to it!'

from flake-parts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.