GithubHelp home page GithubHelp logo

blueprint's People

Contributors

brianmcgee avatar phaer avatar srounce avatar zimbatm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

phaer srounce

blueprint's Issues

add support for aliases

We need some way to alias package names. Either to map to the "default", or to deprecate/rename names.

flake modules don't capture the flake attributes

As a publisher, I might want to expose modules that use flake and inputs attributes.

At the moment, those arguments will be filled with values from the consumer flake.

The flake author should be able to reason about the content of these attributes.

=> somehow lock those arguments to contain the values of the publisher flake

Add separation for user specific configuration?

How will blueprint solve the problem of user-specific configuration?

Let's say, i'm adding Hyprland to my nixos configuration.
For configuring it, it expects to have a user config in ~/.config/hypr/hyprland.conf.

We can't do this system-wide - we have to do this per user.

But, for example, what if i want to add modules like "themes" that enable a desktop-manager and automatically set a bunch of style options. We would need to configure some stuff per-user, but ideally only have a system-module.

This is my problem atm, the only possible option, is, to introduce a differentiation between system and user modules. But import both, to make it work as a theme.

Could blueprint solve this issue?
Is there even an elegant solution to this?

formatter.nix & flake checks

Is your feature request related to a problem? Please describe.

I love simply adding a formatter nix to invoke treefmt-nix by just adding a treefmt-nix.mkWrapper call as e.g. in nixos-facter.

But I'd like to use the same treefmt-nix configuration as a flake check. As afaik there's no generic interface to tell a given formatter to enter "check mode", I believe we can't add such a feature to blueprint automatically.

Describe the solution you'd like

Not sure, hence this issue: I one thing could be to make the treefmt-nix wrapper expose passthru.check or so which would enable something like checks.format = perSystem.formatter.passthru.check in a quite generic way.

Describe alternatives you've considered

Maybe adapting formatter.nix to be able to return formatter and some checks? This would allow just using treefmt-nix.lib.evalModule and then treefmt.config.build.wrapper, treefmt.config.build.check, ... as needed.

Additional context

The former would of course affect treefmt-nix, happy to create a PR there, just wanted to collect feedback here as i ran into this with blueprint specifically

support multiple instances of nixpkgs

At the moment, only the "nixpkgs" input is used to:

  • instantiate nixos instances.
  • configure the pkgs argument.

Some users might want to use different versions of nixpkgs for different machines (eg: stable and unstable)

Merge legacyPackages and packages in perSystem

Is your feature request related to a problem? Please describe.

When using https://github.com/numtide/devshell I cannot use perSystem.devshell.mkShell because of the following:

perSystem = lib.mapAttrs (
_: flake: (flake.packages or flake.legacyPackages or { }).${system} or { }
) inputs;

This prefers the packages attribute over legacyPackages, and in the case of devshell it exposes different things between those two attribute sets.

Describe the solution you'd like

I'm not sure what the correct solution looks like. Maybe a recursive merge, giving precedence to packages?

Describe alternatives you've considered

For now I'm using inputs.devshell.legacyPackages.${system}.mkShell.

formatter.nix

Is your feature request related to a problem? Please describe.

It's not clear how to set a custom formatted e.g. treefmt. set the flake formatter.

Describe the solution you'd like

Just like with devshell.nix, if a formatter.nix is present it could be used to set the flake formatted.

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.