frappix icon indicating copy to clipboard operation
frappix copied to clipboard

`erpnext` Template Not Found During Project Initialization

Open SebastianWendel opened this issue 1 year ago • 1 comments

When attempting to initialize a project using the erpnext template as shown by nix flake show, the process fails because the defined template does not exist. This issue is not detected by nix flake check since it fails earlier due to unrelated errors.

Steps to Reproduce

  1. Follow the Documentation

  2. List all available templates:

    nix flake show "github:blaggacao/frappix"
    

    Output:

    ├───templates
    │   ├───erpnext: template: Get started with an ERPNext frappix template
    │   └───frappe: template: Get started with a minimal Frappe-only frappix template
    
  3. Attempt to create a new project using the erpnext template:

    nix flake new test-frappix-erpnext -t "github:blaggacao/frappix#erpnext"
    
    • Expected Result: The project is successfully initialized using the erpnext template.
    • Actual Result:
      error: filesystem error: directory iterator cannot open directory: No such file or directory [/nix/store/nb489c79qxx7ygqgidlivl41jwac4lsa-incl/examples/templates/erpnext]
      
  4. Run nix flake check to validate the flake:

    git clone https://github.com/blaggacao/frappix/
    cd frappix/
    direnv allow
    nix flake check
    
    • Errors and Warnings:
      warning: unknown flake output '__functor'
      warning: unknown flake output 'shellModule'
      warning: unknown flake output 'toolsOverlay'
      error:
        … while checking flake output 'templates'
        … while checking the template 'templates.frappe'
          at /nix/store/nb489c79qxx7ygqgidlivl41jwac4lsa-incl/examples/templates.nix:2:3:
            1| {
            2|   frappe = rec {
            3|     path = ./templates/frappe;
      
        error: template 'templates.frappe' has unsupported attribute 'meta'
      

Expected Behavior

  • Running the nix flake new command with the erpnext template should successfully initialize the project with the relevant files.
  • The nix flake check should detect any missing templates or directories and provide clear error messages.

Actual Behavior

  • The erpnext template is not found, despite being referenced in both the documentation and nix flake show.
  • The nix flake check fails prematurely due to other issues, preventing it from identifying the missing erpnext template.

Potential Causes

  • The erpnext template might be missing or incorrectly defined in the flake.nix file.
  • The nix flake check might not be performing a comprehensive scan before failing due to unrelated issues like unsupported attributes (meta) in other templates.

System Information

  • System: x86_64-linux
  • OS: Linux 6.6.58, NixOS 24.11 (Vicuna)
  • Sandboxing: Enabled
  • Nix Version: 2.24.9

Suggested Fixes

  1. Verify that the erpnext template is properly defined in the flake.nix file.
  2. Ensure all necessary files for the erpnext template exist in the examples/templates/erpnext directory.
  3. Improve the nix flake check to validate template integrity before failing due to unrelated issues.

Thank you for looking into this issue! 😊

SebastianWendel avatar Nov 13 '24 17:11 SebastianWendel

Thanks for the interest and playbook.

Without promise, I'm aware and will try to find some time to polish the onboarding, after I had left it in an unfinished state while maturing and backporting the dependency on the unix domain socket feature to v15.

As of quite recently, it's backported and we have a real chance at a decent enough onboarding experience, without too many manual expert interventions.

See also: https://github.com/blaggacao/frappix/pull/16

blaggacao avatar Nov 13 '24 22:11 blaggacao