Skip to content

Properly specify lang tags#268

Merged
luisnquin merged 1 commit into0xc000022070:mainfrom
PerchunPak:proper-lang-tags
Apr 9, 2026
Merged

Properly specify lang tags#268
luisnquin merged 1 commit into0xc000022070:mainfrom
PerchunPak:proper-lang-tags

Conversation

@PerchunPak
Copy link
Copy Markdown
Contributor

@PerchunPak PerchunPak commented Feb 28, 2026

#261 attempted to introduce language tags, but that did not work for me (in NeoVim, it did not highlight code blocks as expected) and raised a bunch of deprecation warnings by Lix. This introduces them properly (and btw please consider using nixfmt, it is already de-jure standart and adopted in nixpkgs)

warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/wxlsi86bzplwnfqvcaxmcc686prncn4n-source/hm-module/places.nix:502:85:
            501|
            502|           updateScript = pkgs.writeShellScript "zen-sessions-update-${profileName}" ''            # bash
               |                                                                                     ^
            503|             SESSIONS_FILE="${sessionsFile}"

Copy link
Copy Markdown
Member

@luisnquin luisnquin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now it doesn't highlight the code blocks on my end. Lix shouldn't care about it.

@luisnquin
Copy link
Copy Markdown
Member

Two options here:

  1. Remove the language tags to avoid the Lix warnings.

  2. Introduce nixfmt in this repository, although language tags will not work for me until I switch my editor extension.

@PerchunPak
Copy link
Copy Markdown
Contributor Author

Now it doesn't highlight the code blocks on my end. Lix shouldn't care about it.

What are you using?

@luisnquin
Copy link
Copy Markdown
Member

Now it doesn't highlight the code blocks on my end. Lix shouldn't care about it.

What are you using?

This extension

@PerchunPak
Copy link
Copy Markdown
Contributor Author

Can you try https://github.com/nix-community/vscode-nix-ide? This is the LSP for Nix

@luisnquin
Copy link
Copy Markdown
Member

Can you try nix-community/vscode-nix-ide? This is the LSP for Nix

I'm already using it

image image

@PerchunPak
Copy link
Copy Markdown
Contributor Author

You are using nil, which is IMO worse and has less features. Change nix.serverPath to nixd

@aw1cks
Copy link
Copy Markdown

aw1cks commented Apr 9, 2026

Hi, any further thoughts?
I would love to see it merged, I recently switched to Lix and the warnings are quite verbose

warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/asprs7j92yx6z2gjm7vv6m05lxhykvps-source/hm-module/places.nix:502:85:
            501|
            502|           updateScript = pkgs.writeShellScript "zen-sessions-update-${profileName}" ''            # bash
               |                                                                                     ^
            503|             SESSIONS_FILE="${sessionsFile}"
warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/asprs7j92yx6z2gjm7vv6m05lxhykvps-source/hm-module/places.nix:571:96:
            570|         in
            571|           nameValuePair "zen-sessions-${profileName}" (lib.hm.dag.entryAfter ["writeBoundary"] ''            # bash
               |                                                                                                ^
            572|             ${updateScript}
warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/asprs7j92yx6z2gjm7vv6m05lxhykvps-source/hm-module/mods.nix:63:85:
             62|
             63|           updateModsScript = pkgs.writeShellScript "zen-mods-update-${profileName}" ''            # bash
               |                                                                                     ^
             64|                       THEMES_FILE="${themesFilePath}"
warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/asprs7j92yx6z2gjm7vv6m05lxhykvps-source/hm-module/sine.nix:107:94:
            106|
            107|           updateSineModsScript = pkgs.writeShellScript "zen-sine-mods-update-${profileName}" ''            # bash
               |                                                                                              ^
            108|             MODS_FILE="${modsFilePath}"
warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/asprs7j92yx6z2gjm7vv6m05lxhykvps-source/hm-module/sine.nix:274:97:
            273|         in
            274|           nameValuePair "zen-sine-mods-${profileName}" (lib.hm.dag.entryAfter ["writeBoundary"] ''            # bash
               |                                                                                                 ^
            275|             ${updateSineModsScript}
warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/asprs7j92yx6z2gjm7vv6m05lxhykvps-source/package.nix:64:19:
             63|
             64|   installDarwin = ''    # bash
               |                   ^
             65|     runHook preInstall
warning: Whitespace calculations for indentation stripping in a multiline ''-string include the first line, so putting text on it will effectively disable all indentation stripping. To fix this, simply break the line right after the string starts. Use --extra-deprecated-features broken-string-indentation to silence this warning.
         at /nix/store/asprs7j92yx6z2gjm7vv6m05lxhykvps-source/package.nix:100:18:
             99|
            100|   installLinux = ''    # bash
               |                  ^
            101|     runHook preInstall

aw1cks added a commit to aw1cks-dotfiles/nix that referenced this pull request Apr 9, 2026
Introduce Lix and make the shared configuration default to the upstream source-build path while still allowing consumers to opt out via `repo.lix.enable = false`.

Add flake input wiring for `lix` and `lix-module`, export the upstream default nixos and darwin modules, and apply the upstream source-build overlay during nixpkgs imports when Lix is enabled. Update the standalone Home Manager `nix.package` fallback so enabling Lix does not get overridden back to `pkgs.nix`, and regenerate `flake.nix` and `flake.lock` to capture the new inputs.

Refresh the README to document a Lix-first bootstrap flow for darwin and standalone Home Manager hosts, fix the concrete installer invocation, and tighten the domain-joined machine guidance around the known `sssd`/`nscd` workaround.

Strengthen repo and agent guidance to require staging new Nix files before validation, since untracked files are ignored by flake evaluation and can lead to misleading test results.

Add a temporary `just rebuild` workaround that appends `extra-deprecated-features = broken-string-indentation` to `NIX_CONFIG` so upstream zen-browser-flake warnings stay out of local rebuild output until 0xc000022070/zen-browser-flake#268 lands.

BREAKING CHANGE: Lix is now the default daemon and package-manager wiring for this repo's shared configuration surface. Consumers that need the previous behavior must opt out explicitly with `repo.lix.enable = false`.
Copy link
Copy Markdown
Member

@luisnquin luisnquin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, why not? I won't say no to these kind of changes anymore :P

@luisnquin luisnquin merged commit 14a238b into 0xc000022070:main Apr 9, 2026
@PerchunPak PerchunPak deleted the proper-lang-tags branch April 9, 2026 14:25
aw1cks added a commit to aw1cks-dotfiles/nix that referenced this pull request Apr 9, 2026
Introduce Lix and make the shared configuration default to the upstream source-build path while still allowing consumers to opt out via `repo.lix.enable = false`.

Add flake input wiring for `lix` and `lix-module`, export the upstream default nixos and darwin modules, and apply the upstream source-build overlay during nixpkgs imports when Lix is enabled. Update the standalone Home Manager `nix.package` fallback so enabling Lix does not get overridden back to `pkgs.nix`, and regenerate `flake.nix` and `flake.lock` to capture the new inputs.

Refresh the README to document a Lix-first bootstrap flow for darwin and standalone Home Manager hosts, fix the concrete installer invocation, and tighten the domain-joined machine guidance around the known `sssd`/`nscd` workaround.

Strengthen repo and agent guidance to require staging new Nix files before validation, since untracked files are ignored by flake evaluation and can lead to misleading test results.

Add a temporary `just rebuild` workaround that appends `extra-deprecated-features = broken-string-indentation` to `NIX_CONFIG` so upstream zen-browser-flake warnings stay out of local rebuild output until 0xc000022070/zen-browser-flake#268 lands.

BREAKING CHANGE: Lix is now the default daemon and package-manager wiring for this repo's shared configuration surface. Consumers that need the previous behavior must opt out explicitly with `repo.lix.enable = false`.
aw1cks added a commit to aw1cks-dotfiles/nix that referenced this pull request Apr 9, 2026
Introduce Lix and make the shared configuration default to the upstream source-build path while still allowing consumers to opt out via `repo.lix.enable = false`.

Add flake input wiring for `lix` and `lix-module`, export the upstream default nixos and darwin modules, and apply the upstream source-build overlay during nixpkgs imports when Lix is enabled. Update the standalone Home Manager `nix.package` fallback so enabling Lix does not get overridden back to `pkgs.nix`, and regenerate `flake.nix` and `flake.lock` to capture the new inputs.

Refresh the README to document a Lix-first bootstrap flow for darwin and standalone Home Manager hosts, fix the concrete installer invocation, and tighten the domain-joined machine guidance around the known `sssd`/`nscd` workaround.

Strengthen repo and agent guidance to require staging new Nix files before validation, since untracked files are ignored by flake evaluation and can lead to misleading test results.

Add a temporary `just rebuild` workaround that appends `extra-deprecated-features = broken-string-indentation` to `NIX_CONFIG` so upstream zen-browser-flake warnings stay out of local rebuild output until 0xc000022070/zen-browser-flake#268 lands.

BREAKING CHANGE: Lix is now the default daemon and package-manager wiring for this repo's shared configuration surface. Consumers that need the previous behavior must opt out explicitly with `repo.lix.enable = false`.
@aw1cks
Copy link
Copy Markdown

aw1cks commented Apr 9, 2026

awesome, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants