diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 162fed05..8ca4ed01 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,11 +1,7 @@ version: 2 updates: - package-ecosystem: github-actions + open-pull-requests-limit: 15 directory: "/" schedule: interval: daily - open-pull-requests-limit: 15 - reviewers: - - NotAShelf - assignees: - - NotAShelf diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 331048b6..90bfb431 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -101,7 +101,7 @@ jobs: run: echo "date=$(date +'%Y-%m-%d-%H%M%S')" >> ${GITHUB_OUTPUT} - name: Upload doc artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: "${{ matrix.package }}" path: result/share/doc/nvf diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 00000000..10bf2089 --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,91 @@ +name: Weekly Dependency Updates +on: + workflow_dispatch: + schedule: + # 8 PM UTC every Friday + - cron: '0 20 * * 5' +jobs: + update-dependencies: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v5 + + - name: "Install Nix" + uses: cachix/install-nix-action@v31.8.2 + + - name: Set up Git + run: | + git config user.name "GitHub Actions Bot" + git config user.email "actions@github.com" + + - name: Create branch for updates + run: | + DATE=$(date +%Y-%m-%d) + BRANCH_NAME="update/dependencies-$DATE" + git checkout -b $BRANCH_NAME + echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV + + - name: Update npins + run: nix run nixpkgs#npins update + + # Only update Nixpkgs. mnw might break on update, better to track it manually to avoid + # unexpected breakage. + - name: Update nixpkgs + run: nix flake update nixpkgs + + - name: Check for changes + id: check_changes + run: | + if git diff --quiet; then + echo "No changes detected" + echo "changes_detected=false" >> "$GITHUB_OUTPUT" + exit 0 + else + echo "Changes detected" + echo "changes_detected=true" >> "$GITHUB_OUTPUT" + fi + + # FIXME: Worth adding additional checks for, e.g., fragile plugins + # or modules + # nix build .#checks.. + # We'll probably want to handle this with machine tests + - name: Verify changes + if: steps.check_changes.outputs.changes_detected == 'true' + run: | + # Run verification tests to ensure updates don't break anything + nix flake check + + + - name: Set date variable + run: echo "DATE=$(date +%Y-%m-%d)" >> "$GITHUB_ENV" + + - name: Commit and push changes + if: steps.check_changes.outputs.changes_detected == 'true' + run: | + git add . + git commit -m "pins: bump all plugins (${{ env.DATE }})" + git push -u origin $BRANCH_NAME + + - name: Create Pull Request + if: steps.check_changes.outputs.changes_detected == 'true' + uses: peter-evans/create-pull-request@v7 + with: + branch: ${{ env.BRANCH_NAME }} + base: main + labels: dependencies,automated pr + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "npins: bump all plugins (${{ env.DATE }})" + title: "Weekly Dependency Updates: ${{ env.DATE }}" + body: | + > [!NOTE] + > This PR was automatically generated by the Weekly Dependency Updates workflow. Please wait + > for all CI steps to complete, and test any major changes personally. + + Updates Performed: + + - Updated dependencies using `npins update` + - Updated nixpkgs using `nix flake update nixpkgs` + + If the verification steps have passed, updates should be safe to merge. For failing CI steps + submit a Pull Request targetting ${{ env.BRANCH_NAME }} diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 40a846b6..e3dce037 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -569,6 +569,10 @@ - Add [nvim-highlight-colors] plugin in `vim.ui.nvim-highlight-colors` with `enable` and `setupOpts` +- Fix [blink.cmp] keymap preset types to allow alternate cmdline, terminal, etc + modes to `inherit` the default mode keymaps. This is an option as per the + [blink.cmp] docs and is now supported in nvf. + [PartyWumpus](https://github.com/PartyWumpus): [typst-concealer]: https://github.com/PartyWumpus/typst-concealer diff --git a/flake.lock b/flake.lock index e7788c60..5a357a75 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -53,11 +53,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1759386674, - "narHash": "sha256-wg1Lz/1FC5Q13R+mM5a2oTV9TA9L/CHHTm3/PiLayfA=", + "lastModified": 1761880412, + "narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "625ad6366178f03acd79f9e3822606dd7985b657", + "rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386", "type": "github" }, "original": { diff --git a/lib/types/custom.nix b/lib/types/custom.nix index ae509f59..1fd57a7f 100644 --- a/lib/types/custom.nix +++ b/lib/types/custom.nix @@ -4,13 +4,11 @@ inherit (lib.strings) isString stringLength match; inherit (lib.types) listOf mkOptionType coercedTo; in { - mergelessListOf = elemType: let - super = listOf elemType; - in - super - // { + mergelessListOf = elemType: + mkOptionType { name = "mergelessListOf"; - description = "mergeless ${super.description}"; + description = "mergeless list of ${elemType.description or "values"}"; + inherit (lib.types.listOf elemType) check; merge = mergeEqualOption; }; diff --git a/lib/types/dag.nix b/lib/types/dag.nix index a42ed513..6d289e27 100644 --- a/lib/types/dag.nix +++ b/lib/types/dag.nix @@ -62,7 +62,13 @@ in rec { inherit (elemType) getSubModules; getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); substSubModules = m: dagOf (elemType.substSubModules m); - functor = (defaultFunctor name) // {wrapped = elemType;}; + functor = { + name = name; + type = dagOf; + wrapped = elemType; + payload = elemType; + binOp = a: b: a; + }; nestedTypes.elemType = elemType; }; } diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index d07c777e..d0f0328a 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -9,7 +9,7 @@ freeformType = attrsOf (listOf (either str luaInline)); options = { preset = mkOption { - type = enum ["default" "none" "super-tab" "enter" "cmdline"]; + type = enum ["inherit" "default" "none" "super-tab" "enter" "cmdline"]; default = "none"; description = "keymap presets"; }; diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index c60e5147..c2a5e1ca 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -46,6 +46,18 @@ in { }: '' require('tokyonight').setup { transparent = ${boolToString transparent}; + styles = { + sidebars = ${ + if transparent + then ''"transparent"'' + else ''"dark"'' + }, + floats = ${ + if transparent + then ''"transparent"'' + else ''"dark"'' + }, + }, } vim.cmd[[colorscheme tokyonight-${style}]] ''; diff --git a/npins/sources.json b/npins/sources.json index 6b75a42f..1c6ffe7c 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2401,10 +2401,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v2.23.0", - "revision": "da230e3ca8146da4b73752daaf0a1d07d343c12d", - "url": "https://api.github.com/repos/folke/snacks.nvim/tarball/v2.23.0", - "hash": "15zcvxsxkihjk5x0bfa1zgx1ky7icjbi9iihsqw8wbi5jyfwnasm" + "version": "v2.30.0", + "revision": "a4e46becca45eb65c73a388634b1ce8aad629ae0", + "url": "https://api.github.com/repos/folke/snacks.nvim/tarball/v2.30.0", + "hash": "0ri4ymm9w3ylawc7dbd7p872697snkwkks5rpwyk239sywdbjvp6" }, "solarized": { "type": "GitRelease",