431: Make this repository digga r=Pacman99 a=Pacman99
closes: #430
This is just some git hacking to preserve both project's commit histories.
Commands that I ran:
```sh
git remote add digga git@github.com:divnix/digga
git checkout -b digga-main digga/main
git checkout -b merge-digga upstream/main
mkdir ../devos
mv * .editorconfig .envrc .gitignore ../devos/
mkdir examples
mv ../devos examples/
git add . && git commit -m "tree: move everything into examples/devos"
git checkout digga-main
git rebase merge-digga # there were 3 merge conflicts with src/pkgs-lib/shell, not sure why but that file has been deleted so I just delt with them
git checkout merge-digga
git merge digga-main --ff-only
git push upstream merge-digga
```
There are a lot of changes, so it'll be easier to review what exactly I did with git to get it this way.
The only actual changes I personally made:
- removed .gitmodules and downstream submodule
- move devos into examples/devos
- removed bud template from devos and added `devos` template to digga
This doesn't cover devos docs, I think we will need a separate effort to merge devos docs into digga docs. Probably as a digga usage section or something. For now devos docs are just sitting in `examples/devos`.
This PR should theoretically have the same amount of commits being added as the number of commits in digga itself. I think it ended up being around 50 less because bors commits aren't included for some reason.
Co-authored-by: Parthiv Seetharaman <pachum99@myrdd.info>
Co-authored-by: Pacman99 <pachum99@gmail.com>
Co-authored-by: David Arnold <dar@xoe.solutions>
Co-authored-by: Pacman99 <pachum99@myrdd.info>
Co-authored-by: Dusk Banks <me@bb010g.com>
Co-authored-by: Pacman99 <Pacman99@users.noreply.github.com>
The divnix fork paches don't actually matter because we always pass fup
a channel input. Digga will error out early if there is any issues, so
fup channel input auto-detection never gets called.
Type-check such configs as modules ("moduleType") rather than as
functions evaluating to attribute sets ("functionTo attrs"). This
ensures that they get invoked with all expected module arguments
("pkgs", "lib", etc.).
Update ./examples/hmOnly so that the testuser config references the pkgs
module arg, thus testing that the switch to moduleType works as
intended.
Closes#119
This experimental feature has been removed from Nix in unstable
versions recently, and with this set, it now pops up an unsupressable
warning message. Not so bad on its own, but when using <kbd>Tab</kbd>
completion it corrupts the output.
After nixpkgs pr #140284, attrset outputs of functions of type
`anything` are now processed as modules.
This is not the expected behavior for overlays, devshell modules, and
nixos tests. Use new option types instead of `anything`, fixing this
issue.
now that we have per-host custom tests, it does not make sense anymore
to have magic lumpsum tests.
users are encouraged to use the new digga.lib.allProfilesTest standard
test and add it to a host's test like so:
`nixos.<host>.tests = [ digga.lib.allPrefilesTest ];`
prior to this commit the bootstrapping iso deactivated _all_ profiles
that were somehow contained in a suite.
that is an error, since it deactivates all profiles, even the most basic
and desired ones.
the impetus had been to prevent unwantes systemd services from launching
however, there seems no reliable approach to achieve that.
the now proposed alternative model is to add a bootsrap host akin to
the followint config:
```nix
# os/hosts/bootstrap.nix
{ profiles, ... }:
{
imports = [
profiles.networking
profiles.users.root
profiles.users.nixos
];
}
```