NiXium-org / NiXium

Open-Source Infrastructure as Code Management Solution for Multiple Systems designed to be reliable in mission-critical tasks on paranoid and high-security environment.
European Union Public License 1.2
25 stars 3 forks source link

Making NiXium release-flexible + PAC + Remanagement of tasks #124

Closed Kreyren closed 3 months ago

Kreyren commented 4 months ago

Needed for: https://github.com/NiXium-org/NiXium/pull/121

To Be Managed

trace: evaluation warning: The ‘gnome.dconf-editor’ was moved to top-level. Please use ‘pkgs.dconf-editor’ directly.
trace: evaluation warning: The option `hardware.opengl.driSupport32Bit' defined in `/nix/store/5d5f7vk5ygy95rpa7r8rj67ymviw7iwm-source/src/nixos/machines/sinnenfreude/config/hardware-acceleration.nix' has been renamed to `hardware.graphics.enable32Bit'.
trace: evaluation warning: The option `hardware.opengl.enable' defined in `/nix/store/5d5f7vk5ygy95rpa7r8rj67ymviw7iwm-source/src/nixos/machines/sinnenfreude/config/hardware-acceleration.nix' has been renamed to `hardware.graphics.enable'.
trace: evaluation warning: i18n.inputMethod.enabled will be removed in a future release. Please use .type, and .enable = true instead
Kreyren commented 4 months ago

Fails with:

NiXium-dev-shell> , verify nixos sinnenfreude master
Checking system 'sinnenfreude' in distribution 'nixos'
building the system configuration...
warning: Git tree '/nix/persist/NiXium' is dirty
error:
       … while calling the 'seq' builtin

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:334:18:

          333|         options = checked options;
          334|         config = checked (removeAttrs config [ "_module" ]);
             |                  ^
          335|         _module = checked (config._module);

       … while evaluating a branch condition

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:273:9:

          272|       checkUnmatched =
          273|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
             |         ^
          274|           let

       … in the left operand of the AND (&&) operator

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:273:72:

          272|       checkUnmatched =
          273|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
             |                                                                        ^
          274|           let

       … in the left operand of the AND (&&) operator

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:273:33:

          272|       checkUnmatched =
          273|         if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
             |                                 ^
          274|           let

       … while evaluating a branch condition

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:266:12:

          265|
          266|         in if declaredConfig._module.freeformType == null then declaredConfig
             |            ^
          267|           # Because all definitions that had an associated option ended in

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:254:28:

          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                            ^
          255|

       … while calling 'mapAttrsRecursiveCond'

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/attrsets.nix:1201:5:

         1200|     f:
         1201|     set:
             |     ^
         1202|     let

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:246:33:

          245|           ({ inherit lib options config specialArgs; } // specialArgs);
          246|         in mergeModules prefix (reverseList collected);
             |                                 ^
          247|

       … while calling 'reverseList'

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/lists.nix:1116:17:

         1115|   */
         1116|   reverseList = xs:
             |                 ^
         1117|     let l = length xs; in genList (n: elemAt xs (l - n - 1)) l;

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:241:25:

          240|       merged =
          241|         let collected = collectModules
             |                         ^
          242|           class

       … while calling anonymous lambda

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:457:37:

          456|
          457|     in modulesPath: initialModules: args:
             |                                     ^
          458|       filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:458:7:

          457|     in modulesPath: initialModules: args:
          458|       filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
             |       ^
          459|

       … while calling 'filterModules'

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:425:36:

          424|       # modules recursively. It returns the final list of unique-by-key modules
          425|       filterModules = modulesPath: { disabled, modules }:
             |                                    ^
          426|         let

       … while calling anonymous lambda

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:451:31:

          450|           disabledKeys = concatMap ({ file, disabled }: map (moduleKey file) disabled) disabled;
          451|           keyFilter = filter (attrs: ! elem attrs.key disabledKeys);
             |                               ^
          452|         in map (attrs: attrs.module) (genericClosure {

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:412:22:

          411|           let
          412|             module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
             |                      ^
          413|             collectedImports = collectStructuredModules module._file module.key module.imports args;

       … while calling anonymous lambda

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:371:11:

          370|         then
          371|           m:
             |           ^
          372|             if m._class != null -> m._class == class

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:412:35:

          411|           let
          412|             module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
             |                                   ^
          413|             collectedImports = collectStructuredModules module._file module.key module.imports args;

       … while calling 'loadModule'

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:348:53:

          347|       # Like unifyModuleSyntax, but also imports paths and calls functions if necessary
          348|       loadModule = args: fallbackFile: fallbackKey: m:
             |                                                     ^
          349|         if isFunction m then

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:366:14:

          365|           throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
          366|         else unifyModuleSyntax (toString m) (toString m) (applyModuleArgsIfFunction (toString m) (import m) args);
             |              ^
          367|

       … while calling 'unifyModuleSyntax'

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:466:34:

          465|      of ‘options’, ‘config’ and ‘imports’ attributes. */
          466|   unifyModuleSyntax = file: key: m:
             |                                  ^
          467|     let

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:366:59:

          365|           throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
          366|         else unifyModuleSyntax (toString m) (toString m) (applyModuleArgsIfFunction (toString m) (import m) args);
             |                                                           ^
          367|

       … while calling 'applyModuleArgsIfFunction'

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:500:39:

          499|
          500|   applyModuleArgsIfFunction = key: f: args@{ config, ... }:
             |                                       ^
          501|     if isFunction f then applyModuleArgs key f args else f;

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:501:26:

          500|   applyModuleArgsIfFunction = key: f: args@{ config, ... }:
          501|     if isFunction f then applyModuleArgs key f args else f;
             |                          ^
          502|

       … while calling 'applyModuleArgs'

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:503:29:

          502|
          503|   applyModuleArgs = key: f: args@{ config, ... }:
             |                             ^
          504|     let

       … from call site

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:527:8:

          526|       # works.
          527|     in f (args // extraArgs);
             |        ^
          528|

       … while calling anonymous lambda

         at /nix/store/0p7gxv2d7di32rmslspl2lkv71y2ih8k-source/src/nixos/machines/sinnenfreude/config/hardware-acceleration.nix:1:1:

            1| { config, ... }:
             | ^
            2|

       … while calling anonymous lambda

         at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:518:35:

          517|       context = name: ''while evaluating the module argument `${name}' in "${key}":'';
          518|       extraArgs = mapAttrs (name: _:
             |                                   ^
          519|         addErrorContext (context name)

       … while evaluating the module argument `config' in "/nix/store/0p7gxv2d7di32rmslspl2lkv71y2ih8k-source/src/nixos/machines/sinnenfreude/config/hardware-acceleration.nix":

       error: infinite recursion encountered

       at /nix/store/sgykqfsa2xi9mfgnml6gj6c9pq60890x-source/lib/modules.nix:245:21:

          244|           (regularModules ++ [ internalModule ])
          245|           ({ inherit lib options config specialArgs; } // specialArgs);
             |                     ^
          246|         in mergeModules prefix (reverseList collected);
WARNING: System 'sinnenfreude' in distribution 'nixos' failed evaluation!
Kreyren commented 4 months ago

Help request submitted to the nixos forum: https://discourse.nixos.org/t/how-to-correctly-implement-release-flexible-nixos-modules/49869

Kreyren commented 3 months ago
, verify nixos tupac
Processing all available releases for machine 'tupac' in distribution 'nixos'
Checking system 'tupac' in distribution 'nixos', release 'master'
building the system configuration...
warning: Git tree '/nix/persist/NiXium' is dirty
trace: evaluation warning: The ‘gnome.gnome-keyring’ was moved to top-level. Please use ‘pkgs.gnome-keyring’ directly.
trace: evaluation warning: The ‘gnome.nautilus’ was moved to top-level. Please use ‘pkgs.nautilus’ directly.
trace: evaluation warning: The ‘gnome.dconf-editor’ was moved to top-level. Please use ‘pkgs.dconf-editor’ directly.
trace: warning: kira profile: You are using

  Home Manager version 24.11 and
  Nixpkgs version 24.05.

Using mismatched versions is likely to cause errors and unexpected
behavior. It is therefore highly recommended to use a release of Home
Manager that corresponds with your chosen release of Nixpkgs.

If you insist then you can disable this warning by adding

  home.enableNixpkgsReleaseCheck = false;

to your configuration.

To be managed.. requires the user modules to also be release-flexible

Kreyren commented 3 months ago

PAC fails due to user ragenix decrypt fail

Kreyren commented 3 months ago

PAC fixed, needed to add identityPaths, fails silently