diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 0f417d9..6b70631 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,9 +11,13 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install nix - uses: https://github.com/DeterminateSystems/nix-installer-action@main + uses: DeterminateSystems/nix-installer-action@main + - name: Setup Action cache for nix + uses: DeterminateSystems/magic-nix-cache-action@main + with: + fail-mode: true - name: Check Nix flake inputs - uses: https://github.com/DeterminateSystems/flake-checker-action@v4 # This action + uses: DeterminateSystems/flake-checker-action@v4 # This action - name: Run nix fmt run: nix fmt -- --check . @@ -22,9 +26,13 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install nix - uses: https://github.com/DeterminateSystems/nix-installer-action@main + uses: DeterminateSystems/nix-installer-action@main + - name: Setup Action cache for nix + uses: DeterminateSystems/magic-nix-cache-action@main + with: + fail-mode: true - name: Check Nix flake inputs - uses: https://github.com/DeterminateSystems/flake-checker-action@v4 # This action + uses: DeterminateSystems/flake-checker-action@v4 # This action - name: Run nix flake check run: nix flake check @@ -33,8 +41,12 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install nix - uses: https://github.com/DeterminateSystems/nix-installer-action@main + uses: DeterminateSystems/nix-installer-action@main + - name: Setup Action cache for nix + uses: DeterminateSystems/magic-nix-cache-action@main + with: + fail-mode: true - name: Check Nix flake inputs - uses: https://github.com/DeterminateSystems/flake-checker-action@v4 # This action + uses: DeterminateSystems/flake-checker-action@v4 # This action - name: Build nvim run: nix build .\#default diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index da1827e..982d05e 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -2,7 +2,7 @@ name: Update `flake.lock` on: workflow_dispatch: schedule: - - cron: '0 0 * * 6' # runs weekly on Saturday at 00:00 + - cron: '0 0 * * 0' # runs weekly on Sunday at 00:00 jobs: update_lockfile: @@ -11,72 +11,20 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - name: Install nix - uses: https://github.com/DeterminateSystems/nix-installer-action@main - + uses: DeterminateSystems/nix-installer-action@main + - name: Setup Action cache for nix + uses: DeterminateSystems/magic-nix-cache-action@main + with: + fail-mode: true - name: Update flake.lock - id: update - run: | - nix flake update 2> >(tee /dev/stderr) | awk ' - /^• Updated input/ {in_update = 1; print; next} - in_update && !/^warning:/ {print} - /^$/ {in_update = 0} - ' > update.log - - echo "UPDATE_LOG<<EOF" >> $GITHUB_ENV - cat update.log >> $GITHUB_ENV - echo "EOF" >> $GITHUB_ENV - - rm update.log - - - name: Write PR body template - uses: https://github.com/DamianReeves/write-file-action@v1.3 + uses: DeterminateSystems/update-flake-lock@main with: - path: pr_body.template - contents: | - - The following Nix Flake inputs were updated: - - ``` - ${{ env.UPDATE_LOG }} - ``` - - Auto-generated by [update.yml][1] with the help of - [create-pull-request][2]. - - [1]: https://forgejo.stefka.eu/jiriks74/nix.nvim/src/branch/main/.github/workflows/update.yml - [2]: https://forgejo.stefka.eu/jiriks74/create-pull-request - - - name: Generate PR body - uses: pedrolamas/handlebars-action@v2.4.0 # v2.4.0 - with: - files: "pr_body.template" - output-filename: "pr_body.md" - - name: Save PR body - id: pr_body - uses: juliangruber/read-file-action@v1 - with: - path: "pr_body.md" - - - name: Remove temporary files - run: | - rm pr_body.template - rm pr_body.md - - - name: Create Pull Request - id: create-pull-request - uses: https://forgejo.stefka.eu/jiriks74/create-pull-request@7174d368c2e4450dea17b297819eb28ae93ee645 - with: - token: ${{ secrets.FORGEJO_TOKEN_FOR_UPDATES }} - body: ${{ steps.pr_body.outputs.content }} - author: '"github-actions[bot]" <github-actions[bot]@users.noreply.github.com>' - title: 'automated: Update `flake.lock`' - commit-message: | - automated: Update `flake.lock` - - ${{ steps.pr_body.outputs.content }} - - branch: update-flake-lock - delete-branch: true + # inputs: dzgui dzgui-testing # We'll see whether I want to limit the updates to dzgui + token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + pr-title: "Update flake.lock" + pr-assignees: jiriks74 + pr-labels: | + flake.lock + automated - name: Print PR number - run: | - echo "Pull request number is ${{ steps.create-pull-request.outputs.pull-request-number }}." - echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" + run: echo Pull request number is ${{ steps.update.outputs.pull-request-number }}. diff --git a/flake.lock b/flake.lock index e31bc9b..825b71f 100644 --- a/flake.lock +++ b/flake.lock @@ -181,11 +181,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748460289, - "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", + "lastModified": 1732521221, + "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", + "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", "type": "github" }, "original": { @@ -198,11 +198,11 @@ "presence-nvim": { "flake": false, "locked": { - "lastModified": 1734057239, + "lastModified": 1728312592, "narHash": "sha256-NuoXsCOA5Uz7XOtC5B1pIXLytLaod6wUzrE+m5uEHcs=", "owner": "jiriks74", "repo": "presence.nvim", - "rev": "c850b9e245f310e040478ab54808c7ce098919ed", + "rev": "df0a0b52cd0799e99d1b76805d1357ae9c0d017d", "type": "github" }, "original": { @@ -238,11 +238,11 @@ "workspace-diagnostics-nvim": { "flake": false, "locked": { - "lastModified": 1748191681, - "narHash": "sha256-jSpKaKnGyip/nzqU52ypWLgoCtvccYN+qb5jzlwAnd4=", + "lastModified": 1723294887, + "narHash": "sha256-lBj4KUPmmhtpffYky/HpaTwY++d/Q9socp/Ys+4VeX0=", "owner": "artemave", "repo": "workspace-diagnostics.nvim", - "rev": "60f9175b2501ae3f8b1aba9719c0df8827610c8e", + "rev": "573ff93c47898967efdfbc6587a1a39e3c2d365e", "type": "github" }, "original": { diff --git a/nix/neovim-overlay.nix b/nix/neovim-overlay.nix index 2e3f2fb..3e96063 100644 --- a/nix/neovim-overlay.nix +++ b/nix/neovim-overlay.nix @@ -120,27 +120,18 @@ with final.pkgs.lib; let # ^ bleeding-edge plugins from flake inputs ]; - extraPackages = with pkgs; - [ - # Dependencies - ripgrep + extraPackages = with pkgs; [ + # Dependencies + ripgrep - # language servers, etc. - asm-lsp # Assembly language server - clang-tools # C/C++ language server - (callPackage ./cpptools.nix {}) # C/C++ debugger from VSCode | https://github.com/microsoft/vscode-cpptools - nil # nix LSP - nodePackages.bash-language-server # Bash language server - lua-language-server - ] - ++ [ - (pkgs.python312.withPackages (python-pkgs: [ - python-pkgs.python-lsp-server - python-pkgs.python-lsp-ruff - python-pkgs.pylsp-mypy - python-pkgs.pylsp-rope - ])) - ]; + # language servers, etc. + asm-lsp # Assembly language server + clang-tools # C/C++ language server + (callPackage ./cpptools.nix {}) # C/C++ debugger from VSCode | https://github.com/microsoft/vscode-cpptools + nodePackages.bash-language-server # Bash language server + lua-language-server + nil # nix LSP + ]; in { # This is the neovim derivation # returned by the overlay diff --git a/nvim/ftplugin/c.lua b/nvim/ftplugin/c.lua index 7475a5e..4f13718 100644 --- a/nvim/ftplugin/c.lua +++ b/nvim/ftplugin/c.lua @@ -11,12 +11,10 @@ local root_files = { '.git', } -local root = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]) - vim.lsp.start { name = 'clangd', cmd = { 'clangd' }, - root_dir = root, + root_dir = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]), capabilities = require('user.lsp').make_client_capabilities(), filetypes = { "c" }, on_attach = function(client, bufnr) @@ -41,7 +39,7 @@ if vim.fn.executable('gdb') == 1 then end -- DAP loads this automatically as of now. May be needed to load the debugger for asm? --- if require('user.file_exists').file_exists(root .. "/.vscode/launch.json") then +-- if require('user.file_exists').file_exists(vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]) .. "/.vscode/launch.json") then -- require("dap.ext.vscode").load_launchjs(nil, { cppdbg = { "c", "cpp", "asm" } }) -- require("dap.ext.vscode").load_launchjs(nil, { gdb = { "c", "cpp", "asm" } }) -- end diff --git a/nvim/ftplugin/python.lua b/nvim/ftplugin/python.lua deleted file mode 100644 index 5d04524..0000000 --- a/nvim/ftplugin/python.lua +++ /dev/null @@ -1,36 +0,0 @@ --- Exit if the language server isn't available -if vim.fn.executable('pylsp') ~= 1 then - return -end - -local root_files = { - 'pyproject.toml', - 'setup.py', - 'setup.cfg', - 'requirements.txt', - 'Pipfile', - 'pyrightconfig.json', - '.git', -} - -vim.lsp.start({ - name = 'python-lsp-server', - cmd = { "pylsp" }, - root_dir = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]), - capabilities = require('user.lsp').make_client_capabilities(), - filetypes = { 'python' }, - on_attach = function(client, bufnr) - require("nvim-navic").attach(client, bufnr) - require("workspace-diagnostics").populate_workspace_diagnostics(client, bufnr) - end, - settings = { - pylsp = { - plugins = { - mypy = { enabled = true, }, - rope = { enabled = true, }, - ruff = { enabled = true, }, - }, - }, - }, - single_file_support = true -}) diff --git a/nvim/plugin/overseer.lua b/nvim/plugin/overseer.lua index 7d4514b..c5c93e7 100644 --- a/nvim/plugin/overseer.lua +++ b/nvim/plugin/overseer.lua @@ -8,7 +8,7 @@ local file_exists = require("user.file_exists").file_exists require("which-key").add({ { "<leader>o", group = "[o]verseer", icon = "" }, { "<leader>ot", "<Cmd>OverseerToggle<CR>", desc = "[o]verseer: [t]oggle " }, - { "<leader>oc", "<Cmd>OverseerRunCmd<CR>", desc = "[o]verseer: run [c]ommand" }, + { "<leader>oc", "<Cmd>OverseerRunCmd<CR>", desc = "[o]verseer: run [c]ommand" }, { "<leader>or", "<Cmd>OverseerRun<CR>", desc = "[o]verseer: [r]un task" }, { "<leader>oq", "<Cmd>OverseerQuickAction<CR>", desc = "[o]verseer: [q]uick action" }, { "<leader>oa", "<Cmd>OverseerTaskAction<CR>", desc = "[o]verseer: task [a]ction" }, @@ -20,10 +20,10 @@ local root_files = { '.git', } -local root = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]) +local root = vim.fs.find(root_files, { upward = true })[1] if root then - if file_exists(root .. "/.vscode/tasks.json") then + if file_exists(root .. ".vscode/tasks.json") then require('overseer').setup({ strategy = { "toggleterm",