When I started using nvim  I barely struggled with the maintenance of plugins within my configuration. I was looking for a base setting with all known IDE features and can still tweak it. Then I discovered AstroNvim.

AstroNvim is a feature-rich nvim configuration that provides a stable base and a whole IDE experience. It comes with an extensible set of plugins, making it easy to use and customize.

If you have never heard about AstroNvim or if you want to get started, I strongly advise you to watch this video.

Sync the light mode according to the OS is something I’m getting used to in all my applications. AstroNvim doesn’t come with it out of the box for some reason. I browse the web and finally found dark-notify

First, let’s install dark-notify on your Mac:

brew install cormacrelf/tap/dark-notify

Enable auto toggle

In your plugins/user.lua, add the following lines:

  {
    "cormacrelf/dark-notify",
    event = "ColorScheme",
    config = function()
      require("dark_notify").run {
        schemes = {
          light = "rose-pine-dawn", -- your light theme
          dark = "rose-pine-main",  -- your dark thene
        },
      }
    end,
  },

Restart nvim and open the “Appearance” setting menu of your Mac:

Toggle with a shortcut

Sometimes during the day, you want to force the lightness mode because you change your spot. Then you can add the following lines to your mappings.lua:

    ["<leader>t"] = {
      function()
        local dn = require('dark_notify')
        dn.toggle()
      end,
    }

Now you can press leader + t and toggle the mode manually.

🎉 Your IDE is now ready for dark/light mode!