Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation out of date #284

Closed
nova-nowiz opened this issue May 16, 2021 · 11 comments
Closed

Documentation out of date #284

nova-nowiz opened this issue May 16, 2021 · 11 comments
Labels
APIv1 related to 1.0 api stabilization documentation Improvements or additions to documentation

Comments

@nova-nowiz
Copy link
Contributor

The documentation of suites is out of date for the core repository.
Suites have moved to flake.nix and are not anymore in their own folder in the template.
Also, there is two different suites
One for the nixos configurations and one for home manager, what is this about and it that why in the community branch suites are seperated in system and user?

Also, it would be nice in #111 to state that in the review process, if a feature is new, changed place or in any way or form went out of sync with the documentation, the docs have to be changed in the pull request.
This would elevate that kind of problems for the project.

@blaggacao blaggacao changed the title Documentation of suites out of date Documentation out of date May 16, 2021
@blaggacao
Copy link
Contributor

Hi @Narice

Thank you for the report and apologies for the inconvenience. After having incorporated the new digga library & API on the road to a 1.0, we should scramble and update the docs for the devos template asap, which have become somewhat stale not only with respect to suites.


One for the nixos configurations and one for home manager, what is this about and it that why in the community branch suites are seperated in system and user?

The separation was made since we plan to add different configuration builders for different systems in the future. One such example would be a kubenix cluster config builder or a non-nixos distribution managed with nix.

Such config subsystems would need their own set of API semantica and since there is already a slight difference for hm configs (no hosts argument), we split it.

Suites are moved to the flake.nix because they where such a "shallow" concept and should be visible already in a repo's ebtry point. Tink "table of contents". In that move, it made sense to split the ones for home manager and nixos.


For interested parties who stumble over this, there is also #283 which is intended to specifically answer the most pressing questions while migrating.

@nova-nowiz
Copy link
Contributor Author

nova-nowiz commented May 16, 2021

Alright thanks for the quick response!
I'm actually trying to install devos on my machine and the script given in the documentation seems also out of date.
Here is the command that errors out and the error with trace:

nix-shell https://github.com/divnix/devos/archive/core.tar.gz -A shell --show-trace
error: getting status of '/nix/store/flake.nix': No such file or directory

       … while evaluating 'callLocklessFlake'

       at /nix/store/0n6nqnb6b6cs3hjqprq9k10a1nc2rgiy-source/default.nix:75:23:

           74|
           75|   callLocklessFlake = flakeSrc:
             |                       ^
           76|     let

       … from call site

       at /nix/store/0n6nqnb6b6cs3hjqprq9k10a1nc2rgiy-source/default.nix:173:10:

          172|     if !(builtins.pathExists lockFilePath)
          173|     then callLocklessFlake rootSrc
             |          ^
          174|     else if lockFile.version == 4

       … while evaluating the attribute 'defaultNix'

       at /nix/store/0n6nqnb6b6cs3hjqprq9k10a1nc2rgiy-source/default.nix:182:5:

          181|   rec {
          182|     defaultNix =
             |     ^
          183|       result

I'm using nix unstable for the flakes capabilities (currently on NixOS)
If this is not something on my part, what do you recommend, should I build my devos system out of a specific commit and wait until 1.0 for installing the new devos rework?
Also, is it interesting that I open another issue on the problem I am encountering?
Or If this is a problem related to the new API, should I post it in the thread you linked?

@blaggacao
Copy link
Contributor

blaggacao commented May 16, 2021

Also, is it interesting that I open another issue on the problem I am encountering?
Or If this is a problem related to the new API, should I post it in the thread you linked?

No rules. As long as you put it forth, the way you like, that's fine. 👍

If this is not something on my part, what do you recommend, should I build my devos system out of a specific commit and wait until 1.0 for installing the new devos rework

I think finishing off the rework will be a matter of a couple of more days, only. So In this case, patience until we fix this might ne the best course of action. It shouldn't take long, we are highly commited to make this a nice experience for everyone.

Thanks for reporting!

@blaggacao blaggacao added APIv1 related to 1.0 api stabilization documentation Improvements or additions to documentation labels May 16, 2021
@Pacman99
Copy link
Member

Pacman99 commented May 16, 2021

The documentation of suites is out of date for the core repository.
Suites have moved to flake.nix and are not anymore in their own folder in the template.

I remember updating this and reading the docs in core and the doc website, they indicate that suites are in the flake.nix. Is there some line I'm missing that wasn't updated?

Also, it would be nice in #111 to state that in the review process, if a feature is new, changed place or in any way or form went out of sync with the documentation, the docs have to be changed in the pull request.

This is a good request. For the most part we do follow this rule. But sometimes there are portions of the doc that we might miss. So thanks for reporting this, lets try and get the doc completely up to date.

One for the nixos configurations and one for home manager, what is this about and it that why in the community branch suites are seperated in system and user?

Keep in mind that devos goes through versions. And its common to see devos repositories that use a different version from core. core/develop will be the latest version. And the same applies to community, it is lagging behind on a different version of devos.
To answer the question: in the old devos version there was one suites file and system was for nixos and user would be the suites passed to home-manager modules. In the new API we made dedicated namespaces, for reasons as @blaggacao explained, so we gave each namespace their own suites argument.


I can actually reproduce your issue! I thought it happened to me because of a change I made in my repository. Your comment just helped me realize what it actually was.

@Pacman99
Copy link
Member

I opened a dedicated issue for the nix-shell problem #285. In the meantime as a workaround you can either clone the repository and run nix-shell in it. Or if you already have flakes enabled you can try nix develop github:divnix/devos.

@nova-nowiz
Copy link
Contributor Author

Oh! Thank you very much for the feedback and your answers ☺️.
I have tried the flakes way but it also results in an error:

nix develop github:divnix/devos
error (ignored): error: bad archive: input doesn't look like a Nix archive
error: getting status of '[current directory]/pkgs': No such file or directory
(use '--show-trace' to show detailed location information)

I didn't include the trace for this one as it is too long
Is it working for you?
I will probably clone the repository ;)

@Pacman99
Copy link
Member

I have tried the flakes way but it also results in an error:

nix develop github:divnix/devos
error (ignored): error: bad archive: input doesn't look like a Nix archive
error: getting status of '[current directory]/pkgs': No such file or directory
(use '--show-trace' to show detailed location information)

I didn't include the trace for this one as it is too long

Wow that is a very odd error. It does work for me. That could be a nix problem. Or maybe its because of our use of sub-flaking - guess based on the [current directory]/pkgs issue.

@nova-nowiz
Copy link
Contributor Author

If you execute the command in an empty directory, does it work?
The directory I am in is completely empty

@Pacman99
Copy link
Member

Yeah it still works then for me. Also can you try out #286, that should fix your original issue.

@nova-nowiz
Copy link
Contributor Author

Alright, thanks! My guess is that I don't have the proper version of nix unstable or something like that ;)
Thanks for the help and for the link!

@nova-nowiz
Copy link
Contributor Author

nova-nowiz commented Jun 13, 2021

with the new digga, the iso page is out of date:

dd bs=4M if=result/iso/*.iso of=/dev/$your_installation_device \
  status=progress oflag=sync

it should be:

dd bs=4M if=$DEVSHELL_ROOT/iso/NixOS.iso/iso/*.iso of=/dev/$your_installation_device \
  status=progress oflag=sync

EDIT: fixed comprehension mistake

@Pacman99 Pacman99 closed this as completed Apr 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
APIv1 related to 1.0 api stabilization documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants