mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-26 09:20:08 +00:00 
			
		
		
		
	Merge branch 'main' into diniamo-moment
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Check for typos in the source tree / check-typos (push) Has been cancelled
				
			
		
		
	
	
		
	
		
			Some checks failed
		
		
	
	Check for typos in the source tree / check-typos (push) Has been cancelled
				
			This commit is contained in:
		
				commit
				
					
						4aa183d734
					
				
			
		
					 8 changed files with 215 additions and 99 deletions
				
			
		
							
								
								
									
										185
									
								
								.github/workflows/docs-preview.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								.github/workflows/docs-preview.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,185 @@ | |||
| name: Build and Preview Manual | ||||
| 
 | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|   pull_request: | ||||
|     types: [opened, synchronize, reopened, closed] | ||||
|     paths: | ||||
|       - ".github/workflows/docs-preview.yml" | ||||
|       - "modules/**" | ||||
|       - "docs/**" | ||||
| 
 | ||||
| # Defining permissions here passes it to all workflows. | ||||
| # https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token | ||||
| permissions: | ||||
|   contents: write | ||||
|   pull-requests: write | ||||
|   issues: write | ||||
| 
 | ||||
| concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.ref }} | ||||
|   cancel-in-progress: true | ||||
| 
 | ||||
| jobs: | ||||
|   build-preview: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Install Nix | ||||
|         uses: DeterminateSystems/nix-installer-action@main | ||||
|       - uses: DeterminateSystems/magic-nix-cache-action@main | ||||
| 
 | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: Set default git branch (to reduce log spam) | ||||
|         run: git config --global init.defaultBranch main | ||||
| 
 | ||||
|       - name: Build documentation packages | ||||
|         run: nix build .#docs-html --print-build-logs | ||||
| 
 | ||||
|       - name: Deploy to GitHub Pages preview | ||||
|         run: | | ||||
|           PR_NUMBER=${{ github.event.pull_request.number }} | ||||
|           BRANCH_NAME="gh-pages" | ||||
|           PREVIEW_DIR="docs-preview-${PR_NUMBER}" | ||||
| 
 | ||||
|           # Clone the gh-pages branch and move to the preview subdirectory | ||||
|           git clone --single-branch --branch $BRANCH_NAME https://github.com/${{ github.repository }} gh-pages | ||||
|           cd gh-pages | ||||
| 
 | ||||
|           mkdir -p $PREVIEW_DIR | ||||
| 
 | ||||
|           # Copy the build files to the preview subdirectory | ||||
|           cp -rvf ../result/share/doc/nvf/* ./$PREVIEW_DIR | ||||
| 
 | ||||
|           # Configure git to use the GitHub Actions token for authentication | ||||
|           git config --global user.name "GitHub Actions" | ||||
|           git config --global user.email "actions@github.com" | ||||
| 
 | ||||
|           # Set the GitHub token for authentication | ||||
|           git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} | ||||
| 
 | ||||
|           # Add and commit the changes | ||||
|           git add --all | ||||
|           git commit -m "Deploy PR #${PR_NUMBER} preview" || echo "No changes to commit" | ||||
|           git push --force origin $BRANCH_NAME | ||||
| 
 | ||||
|   comment-url: | ||||
|     needs: build-preview | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Prepare Environment | ||||
|         id: prelude | ||||
|         run: | | ||||
|           PR_NUMBER=${{ github.event.pull_request.number }} | ||||
|           URL="https://${{ github.repository_owner }}.github.io/nvf/docs-preview-${PR_NUMBER}/" | ||||
| 
 | ||||
|           # Propagate non-interpolatable environment vars | ||||
|           echo "URL=$URL" >> "$GITHUB_OUTPUT" | ||||
|           echo "REV=$GITHUB_SHA" >> "$GITHUB_OUTPUT" | ||||
|           echo "ACTOR=$GITHUB_ACTOR" >> "$GITHUB_OUTPUT" | ||||
|           echo "REF=$GITHUB_HEAD_REF" >> "$GITHUB_OUTPUT" | ||||
|           echo "RUNS=$GITHUB_RUN_NUMBER" >> "$GITHUB_OUTPUT" | ||||
| 
 | ||||
|           echo "Live Preview URL: $URL" | ||||
|           echo "Rev: $GITHUB_SHA" | ||||
|           echo "Actor: $GITHUB_ACTOR" | ||||
|           echo "Ref: "$GITHUB_HEAD_REF" | ||||
|           echo "Reruns: "$GITHUB_RUN_NUMBER" | ||||
| 
 | ||||
|           echo "### :rocket: Live Preview Deployed " >> "$GITHUB_STEP_SUMMARY" | ||||
|           echo "Preview can be found at ${URL}" >> "$GITHUB_STEP_SUMMARY" | ||||
| 
 | ||||
|       - name: Find Comment | ||||
|         uses: peter-evans/find-comment@v3 | ||||
|         id: fc | ||||
|         with: | ||||
|           comment-author: "github-actions[bot]" | ||||
|           issue-number: ${{ github.event.pull_request.number }} | ||||
|           body-includes: "Live preview deployed" | ||||
| 
 | ||||
|       - name: Post live preview comment | ||||
|         uses: peter-evans/create-or-update-comment@v4 | ||||
|         env: | ||||
|           COMMENT_ID: ${{ steps.fc.outputs.comment-id }} | ||||
|           URL: ${{ steps.prelude.outputs.URL }} | ||||
|           GITHUB_SHA: ${{ steps.prelude.outputs.REV }} | ||||
|           ACTOR: ${{ steps.prelude.outputs.ACTOR }} | ||||
|           REF: ${{ steps.prelude.outputs.REF }} | ||||
|           RUNS: ${{ steps.prelude.outputs.RUNS }} | ||||
|         with: | ||||
|           comment-id: ${{ env.COMMENT_ID }} | ||||
|           issue-number: ${{ github.event.pull_request.number }} # issue number also applies to pull requests | ||||
|           edit-mode: replace # replace previous body | ||||
|           body: | | ||||
|             ### :rocket: Live preview deployed from ${{ env.GITHUB_SHA }} | ||||
| 
 | ||||
|             View it [here](${{ env.URL }}): | ||||
| 
 | ||||
|             <details> | ||||
|               <summary><strong>Debug Information</strong></summary> | ||||
|               <p>Triggered by: ${{ env.ACTOR }}</p> | ||||
|               <p><code>HEAD</code> at: ${{ env.REF }}</p> | ||||
|               <p>Reruns: ${{ env.RUNS }}</p> | ||||
|             </details> | ||||
| 
 | ||||
|   cleanup: | ||||
|     if: ${{ github.event.pull_request.merged == true || github.event.pull_request.state == 'closed' }} | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: Delete preview for closed/merged PR | ||||
|         run: | | ||||
|           PR_NUMBER=${{ github.event.pull_request.number }} | ||||
|           BRANCH_NAME="gh-pages" | ||||
|           PREVIEW_DIR="docs-preview-${PR_NUMBER}" | ||||
| 
 | ||||
|           # Clone the gh-pages branch | ||||
|           git clone --single-branch --branch $BRANCH_NAME https://github.com/${{ github.repository }} gh-pages | ||||
|           cd gh-pages | ||||
| 
 | ||||
|           # Check if the preview directory exists, and delete it if it does | ||||
|           if [ -d "$PREVIEW_DIR" ]; then | ||||
|             echo "Deleting preview directory $PREVIEW_DIR" | ||||
|             rm -rf $PREVIEW_DIR | ||||
|           else | ||||
|             echo "Preview directory $PREVIEW_DIR does not exist. Skipping deletion." | ||||
|           fi | ||||
| 
 | ||||
|           # Configure git to use the GitHub Actions token for authentication | ||||
|           git config --global user.name "GitHub Actions" | ||||
|           git config --global user.email "actions@github.com" | ||||
| 
 | ||||
|           # Set the GitHub token for authentication | ||||
|           git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} | ||||
| 
 | ||||
|           # Add and commit the changes (only if there's something to delete) | ||||
|           git add . | ||||
|           git diff --quiet || git commit -m "Remove preview for PR #${PR_NUMBER}" | ||||
|           git push origin $BRANCH_NAME | ||||
| 
 | ||||
|   cleanup-comment: | ||||
|     needs: cleanup | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: Double check preview directory deletion | ||||
|         run: | | ||||
|           # Check if the preview directory exists, and delete it if it does | ||||
|           if [ -d "docs-preview-${{ github.event.pull_request.number }}" ]; then | ||||
|             echo "Something went wrong, preview directory is not deleted." | ||||
|             exit 1 | ||||
|           else | ||||
|             echo "Preview directory has been deleted successfully, proceeding." | ||||
|           fi | ||||
| 
 | ||||
|       - name: Post cleanup verification | ||||
|         uses: peter-evans/create-or-update-comment@v4 | ||||
|         with: | ||||
|           issue-number: ${{ github.event.pull_request.number }} | ||||
|           body: | | ||||
|             ✅ Preview has been deleted successfully! | ||||
|  | @ -21,9 +21,11 @@ | |||
|   warning you that it is invalid. Do keep in mind that this value is no longer | ||||
|   checked, so you will be responsible for ensuring its validity. | ||||
| 
 | ||||
| - Deprecated `vim.enableEditorconfig` in favor of | ||||
| - Deprecate `vim.enableEditorconfig` in favor of | ||||
|   [](#opt-vim.globals.editorconfig). | ||||
| 
 | ||||
| - Deprecate rnix-lsp as it has been abandoned and archived upstream. | ||||
| 
 | ||||
| [amadaluzia](https://github.com/amadaluzia): | ||||
| 
 | ||||
| [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim | ||||
|  | @ -44,3 +46,8 @@ | |||
| 
 | ||||
| - Add [aerial.nvim] | ||||
| - Add [nvim-ufo] | ||||
| 
 | ||||
| [LilleAila](https://github.com/LilleAila): | ||||
| 
 | ||||
| - Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes | ||||
|   issue with setting the workspace directory. | ||||
|  |  | |||
							
								
								
									
										73
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										73
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -51,27 +51,6 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "naersk": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "rnix-lsp", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1655042882, | ||||
|         "narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "naersk", | ||||
|         "rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "naersk", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nil": { | ||||
|       "inputs": { | ||||
|         "flake-utils": [ | ||||
|  | @ -124,22 +103,6 @@ | |||
|         "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1656753965, | ||||
|         "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nmd": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|  | @ -2110,26 +2073,6 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "rnix-lsp": { | ||||
|       "inputs": { | ||||
|         "naersk": "naersk", | ||||
|         "nixpkgs": "nixpkgs_2", | ||||
|         "utils": "utils" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1669555118, | ||||
|         "narHash": "sha256-F0s0m62S5bHNVWNHLZD6SeHiLrsDx98VQbRjDyIu+qQ=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "rnix-lsp", | ||||
|         "rev": "95d40673fe43642e2e1144341e86d0036abd95d9", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "rnix-lsp", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "root": { | ||||
|       "inputs": { | ||||
|         "flake-parts": "flake-parts", | ||||
|  | @ -2260,7 +2203,6 @@ | |||
|         "plugin-vim-repeat": "plugin-vim-repeat", | ||||
|         "plugin-vim-startify": "plugin-vim-startify", | ||||
|         "plugin-which-key": "plugin-which-key", | ||||
|         "rnix-lsp": "rnix-lsp", | ||||
|         "systems": "systems_2" | ||||
|       } | ||||
|     }, | ||||
|  | @ -2314,21 +2256,6 @@ | |||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "utils": { | ||||
|       "locked": { | ||||
|         "lastModified": 1656928814, | ||||
|         "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "root": "root", | ||||
|  |  | |||
|  | @ -89,7 +89,6 @@ | |||
|     }; | ||||
| 
 | ||||
|     # Language servers (use master instead of nixpkgs) | ||||
|     rnix-lsp.url = "github:nix-community/rnix-lsp"; | ||||
|     nil = { | ||||
|       url = "github:oxalica/nil"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|  |  | |||
|  | @ -8,8 +8,10 @@ | |||
|       inherit system; | ||||
|       overlays = [ | ||||
|         inputs.self.overlays.default | ||||
| 
 | ||||
|         (_: _: { | ||||
|           rnix-lsp = inputs'.rnix-lsp.defaultPackage; | ||||
|           # Build nil from source to get most recent | ||||
|           # features as they are added. | ||||
|           nil = inputs'.nil.packages.default; | ||||
|         }) | ||||
|       ]; | ||||
|  |  | |||
|  | @ -26,22 +26,6 @@ | |||
|     then expToLua package | ||||
|     else ''{"${package}/bin/${defaultCmd}"}''; | ||||
|   servers = { | ||||
|     rnix = { | ||||
|       package = pkgs.rnix-lsp; | ||||
|       internalFormatter = cfg.format.type == "nixpkgs-fmt"; | ||||
|       lspConfig = '' | ||||
|         lspconfig.rnix.setup{ | ||||
|           capabilities = capabilities, | ||||
|         ${ | ||||
|           if (cfg.format.enable && cfg.format.type == "nixpkgs-fmt") | ||||
|           then useFormat | ||||
|           else noFormat | ||||
|         }, | ||||
|           cmd = ${packageToCmd cfg.lsp.package "rnix-lsp"}, | ||||
|         } | ||||
|       ''; | ||||
|     }; | ||||
| 
 | ||||
|     nil = { | ||||
|       package = pkgs.nil; | ||||
|       internalFormatter = true; | ||||
|  | @ -165,6 +149,7 @@ in { | |||
|         type = enum (attrNames formats); | ||||
|         default = defaultFormat; | ||||
|       }; | ||||
| 
 | ||||
|       package = mkOption { | ||||
|         description = "Nix formatter package"; | ||||
|         type = package; | ||||
|  | @ -188,7 +173,18 @@ in { | |||
|       assertions = [ | ||||
|         { | ||||
|           assertion = cfg.format.type != "nixpkgs-fmt"; | ||||
|           message = "nixpkgs-fmt has been archived upstream. Please use one of the following instead: ${concatStringsSep ", " (attrNames formats)}"; | ||||
|           message = '' | ||||
|             nixpkgs-fmt has been archived upstream. Please use one of the following available formatters: | ||||
|             ${concatStringsSep ", " (attrNames formats)} | ||||
|           ''; | ||||
|         } | ||||
| 
 | ||||
|         { | ||||
|           assertion = cfg.lsp.server != "rnix"; | ||||
|           message = '' | ||||
|             rnix-lsp has been archived upstream. Please use one of the following available language servers: | ||||
|             ${concatStringsSep ", " (attrNames servers)} | ||||
|           ''; | ||||
|         } | ||||
|       ]; | ||||
|       vim.pluginRC.nix = '' | ||||
|  |  | |||
|  | @ -24,12 +24,6 @@ in { | |||
|       enable = mkEnableOption "complementary neovim plugins for Obsidian editor"; | ||||
| 
 | ||||
|       setupOpts = mkPluginSetupOption "Obsidian.nvim" { | ||||
|         dir = mkOption { | ||||
|           type = str; | ||||
|           default = "~/my-vault"; | ||||
|           description = "Obsidian vault directory"; | ||||
|         }; | ||||
| 
 | ||||
|         daily_notes = { | ||||
|           folder = mkOption { | ||||
|             type = nullOr str; | ||||
|  |  | |||
|  | @ -22,6 +22,12 @@ in { | |||
|         package = "telescope"; | ||||
|         setupModule = "telescope"; | ||||
|         inherit (cfg) setupOpts; | ||||
| 
 | ||||
|         # HACK: workaround until https://github.com/NotAShelf/nvf/issues/535 gets resolved | ||||
|         before = '' | ||||
|           vim.g.loaded_telescope = nil | ||||
|         ''; | ||||
| 
 | ||||
|         after = '' | ||||
|           local telescope = require("telescope") | ||||
|           ${optionalString config.vim.ui.noice.enable "telescope.load_extension('noice')"} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 GitHub
					GitHub