A basic template

Sure, but this is our license. We licensed it under AGPL (our default). We should talk to Pinea about changing that to MIT if we want to let Aux pull from it.

3 Likes

prā€™ed a small C template based on the rust one

2 Likes

pr is ready, if anyone willing to review :eyes:

I can take a look to confirm the nix stuff but someone more well versed in C should also take a look

1 Like

Iā€™m pretty aware of nix stuff, so i can take a look.

1 Like

Hopefully, itā€™s good enough :sweat_smile:

1 Like

Is there a need to split the flake into multiple files?
It seems to only add complexity to the template to me

It allows it to have old nix compatibility. thatā€™s the main thing for me. Also prevents redeclaring the package a few times.

1 Like

Shouldnā€™t be default.nix file be eelcoā€™s flake-compat?

Thatā€™s only for channels support.

What does this do?

 overlays.default = final: prev: {
   hello = final.callPackage ./default.nix {};
 };

this allows the user to consume the overlay and it will be added the nixpkgs list. so i could use enviroment.systemPackages = [ pkgs.hello ]; instead.

doesnā€™t this cause conflict with the nixpkgsā€™s hello pkgs?

The overlay replaces it, which is the point, it is usually used to replace older versions of a package with a newer one.

I had a thought related to this and figured Iā€™d add it to this thread instead of starting a new one. Iā€™m trying to get my thoughts down quickly - sorry if this post seems rushed!

tl;dr: Could we create basically mini-distro templates to help new folks get started more easily?

Full post:

I think a small template to help folks get up and running is still a good idea, but Iā€™d also propose going bigger and creating complete system templates.

For instance, what if someone came to Aux looking to get a KDE desktop? We could tell them to check the wiki and search GitHub for other peopleā€™s examples, or we could have a NixOS template with a KDE module already configured as a module. Then, they could just add or uncomment something like aux.desktops.kde.enable = true. Same for Gnome, Hyperland, Sway, etc. These configs could also include Pipewire, bluetooth, maybe import nixos-hardware if thereā€™s a way to check system attributes.

Itā€™d basically just be a wrapper module that condenses common system options and boilerplate into a single (ideally) config option.

8 Likes

@jakehamilton If I start hacking on something, can I check it into the Labs repo? If not, I donā€™t mind creating a new repo.

I personally think this could be put it in the sig:docs templates repo under a new template, best to keep them in the same place. That or a new repository for all the options we want under the aux option namespace.

4 Likes

Initial version is available to play with, and hereā€™s the PR. Would any other docs folks care to take a look and/or leave feedback?

4 Likes

Overall I love how this is looking, Some places Iā€™m seeing a funky Unicode single quote, wondering if maybe a backtick (`) would be better?

3 Likes