diff --git a/flake.lock b/flake.lock index 0b82edd..3f1c406 100644 --- a/flake.lock +++ b/flake.lock @@ -164,38 +164,6 @@ "type": "github" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1747958103, - "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nomodoro": { "flake": false, "locked": { @@ -230,23 +198,6 @@ "type": "github" } }, - "parrot-nvim": { - "flake": false, - "locked": { - "lastModified": 1748727208, - "narHash": "sha256-HlZF5HvbivH6Kh5AgoZfO+q/d5KF1vU37fudu095LuE=", - "owner": "frankroeder", - "repo": "parrot.nvim", - "rev": "378d7706a392c06eabe0ddbbdc6ed5fa57ca4db0", - "type": "github" - }, - "original": { - "owner": "frankroeder", - "ref": "main", - "repo": "parrot.nvim", - "type": "github" - } - }, "pyproject-build-systems": { "inputs": { "nixpkgs": [ @@ -308,7 +259,6 @@ "nixpkgs-24-11": "nixpkgs-24-11", "nomodoro": "nomodoro", "nvim-web-devicons": "nvim-web-devicons", - "parrot-nvim": "parrot-nvim", "sops-nix": "sops-nix", "spaceport-nvim": "spaceport-nvim", "systems": "systems", @@ -318,7 +268,9 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": [ + "nixpkgs-24-11" + ] }, "locked": { "lastModified": 1747603214, @@ -385,7 +337,9 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": [ + "nixpkgs-24-11" + ] }, "locked": { "lastModified": 1748243702, diff --git a/flake.nix b/flake.nix index 775100e..f36ad7a 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,15 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-24-11.url = "github:NixOS/nixpkgs/nixos-24.11"; - treefmt-nix.url = "github:numtide/treefmt-nix"; - sops-nix.url = "github:Mic92/sops-nix"; + treefmt-nix = { + url = "github:numtide/treefmt-nix"; + inputs.nixpkgs.follows = "nixpkgs-24-11"; + }; + + sops-nix = { + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs-24-11"; + }; NixOS-WSL-2411 = { url = "github:nix-community/NixOS-WSL"; @@ -28,10 +35,10 @@ flake = false; }; - parrot-nvim = { - url = "github:frankroeder/parrot.nvim/main"; - flake = false; - }; + # parrot-nvim = { + # url = "github:frankroeder/parrot.nvim/main"; + # flake = false; + # }; nomodoro = { url = "github:dbinagi/nomodoro/main"; @@ -77,7 +84,7 @@ inherit spaceport-nvim; inherit inputs; inherit nomodoro; - parrot-nvim = inputs.parrot-nvim; + # parrot-nvim = inputs.parrot-nvim; }).overlay; # Small tool to iterate over each systems eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); diff --git a/home/deepak/home.nix b/home/deepak/home.nix index 04a55a5..7ae2acc 100644 --- a/home/deepak/home.nix +++ b/home/deepak/home.nix @@ -195,7 +195,7 @@ in pkgs.customVimPlugins.cmp-vimtex # pkgs.customVimPlugins.spaceport-nvim pkgs.customVimPlugins.nomodoro - pkgs.customVimPlugins.parrot-nvim + # pkgs.customVimPlugins.parrot-nvim pkgs.customVimPlugins.nvim-web-devicons # syntax highlighting diff --git a/home/deepak/neovim/init-vim.nix b/home/deepak/neovim/init-vim.nix index e533d1f..a7d7d28 100644 --- a/home/deepak/neovim/init-vim.nix +++ b/home/deepak/neovim/init-vim.nix @@ -92,170 +92,170 @@ vim.g.vimtex_fold_enabled = true ${builtins.readFile ./overseer.lua} - require("parrot").setup({ - providers = { - anthropic = { - api_key = { "cat", "${config.sops.secrets.anthropic_api_key.path}" }, - }, - }, - hooks = { - Complete = function(prt, params) - local template = [[ - I have the following code from {{filename}}: - - ```{{filetype}} - {{selection}} - ``` - - Please finish the code above carefully and logically. - Respond just with the snippet of code that should be inserted." - ]] - local model_obj = prt.get_model "command" - prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template) - end, - CompleteFullContext = function(prt, params) - local template = [[ - I have the following code from {{filename}}: - - ```{{filetype}} - {{filecontent}} - ``` - - Please look at the following section specifically: - ```{{filetype}} - {{selection}} - ``` - - Please finish the code above carefully and logically. - Respond just with the snippet of code that should be inserted. - ]] - local model_obj = prt.get_model "command" - prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template) - end, - CompleteMultiContext = function(prt, params) - local template = [[ - I have the following code from {{filename}} and other realted files: - - ```{{filetype}} - {{multifilecontent}} - ``` - - Please look at the following section specifically: - ```{{filetype}} - {{selection}} - ``` - - Please finish the code above carefully and logically. - Respond just with the snippet of code that should be inserted. - ]] - local model_obj = prt.get_model "command" - prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template) - end, - Explain = function(prt, params) - local template = [[ - Your task is to take the code snippet from {{filename}} and explain it with gradually increasing complexity. - Break down the code's functionality, purpose, and key components. - The goal is to help the reader understand what the code does and how it works. - - ```{{filetype}} - {{selection}} - ``` - - Use the markdown format with codeblocks and inline code. - Explanation of the code above: - ]] - local model = prt.get_model "command" - prt.logger.info("Explaining selection with model: " .. model.name) - prt.Prompt(params, prt.ui.Target.new, model, nil, template) - end, - ProofReader = function(prt, params) - local chat_prompt = [[ - I want you to act as a proofreader. I will provide you with texts and - I would like you to review them for any spelling, grammar, or - punctuation errors. Once you have finished reviewing the text, - provide me with any necessary corrections or suggestions to improve the - text. Highlight the corrected fragments (if any) using markdown backticks. - - When you have done that subsequently provide me with a slightly better - version of the text, but keep close to the original text. - - Finally provide me with an ideal version of the text. - - For each of these versions, you can elide sections which include long unchanged text with NO_CHANGES_HERE. - - Whenever I provide you with text, you reply in this format directly: - - - ## Summary of suggestions: - - {a brief list of spelling, grammar and punctuation errors, with brief snippets of the original text so I can search and find each change, followed by summaries of what types of changes are in the slightly better and ideal versions} - - ## Corrected text: - - {corrected text, or say "NO_CORRECTIONS_NEEDED" instead if there are no corrections made} - - ## Slightly better text - - {slightly better text} - - ## Ideal text - - {ideal text} - ]] - prt.ChatNew(params, chat_prompt) - end, - ProofReader2 = function(prt, params) - local chat_prompt = [[ - I want you to act as a professional proofreader and editor. When I provide you with text, please: - - 1. First, identify and correct errors in - - spelling - - grammar - - punctuation - - syntax errors. - - Technical accuracy (for domain-specific content especially) - Mark corrections using markdown backticks. - - 2. Second, analyze stylistic elements including - - clarity - - conciseness - - word choice - - sentence structure - - paragraph organization and transitions (as appropriate for text length) - - 3. Provide your response in this structured format: - - # Summary of the text: - Provide a concise overview of the text (1-2 sentences). - For longer texts (5+ paragraphs), include a brief outline of the content. - - - ## Summary of suggestions: - - List specific errors found with brief context - - Group similar issues together - - Note patterns if they exist - - Highlight 3-5 most impactful improvements - - Summarize the types of improvements made in each version - - ## Corrected text: - Present the text with technical errors fixed (or state "NO_CORRECTIONS_NEEDED" if appropriate) - - ## Enhanced text: - Provide a version with moderate improvements to readability and flow while preserving the original voice and style. You may use [NO_CHANGES_HERE] to indicate substantial unchanged sections to keep your response more concise. - - ## Optimal text: - Present an ideal version that maintains the original intent but optimizes for clarity, impact, and professional quality. Use [NO_CHANGES_HERE] as mentioned above. - - Please maintain the original meaning and tone while making your suggestions. If you're uncertain about the author's intent in any section, note this and provide alternative interpretations. - For very long texts, focus on the most impactful improvements. - ]] - prt.ChatNew(params, chat_prompt) - - end, - }, - }) - - vim.api.nvim_set_keymap("n", "pt", "PrtChatToggle", { noremap = true}) + # require("parrot").setup({ + # providers = { + # anthropic = { + # api_key = { "cat", "${config.sops.secrets.anthropic_api_key.path}" }, + # }, + # }, + # hooks = { + # Complete = function(prt, params) + # local template = [[ + # I have the following code from {{filename}}: + # + # ```{{filetype}} + # {{selection}} + # ``` + # + # Please finish the code above carefully and logically. + # Respond just with the snippet of code that should be inserted." + # ]] + # local model_obj = prt.get_model "command" + # prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template) + # end, + # CompleteFullContext = function(prt, params) + # local template = [[ + # I have the following code from {{filename}}: + # + # ```{{filetype}} + # {{filecontent}} + # ``` + # + # Please look at the following section specifically: + # ```{{filetype}} + # {{selection}} + # ``` + # + # Please finish the code above carefully and logically. + # Respond just with the snippet of code that should be inserted. + # ]] + # local model_obj = prt.get_model "command" + # prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template) + # end, + # CompleteMultiContext = function(prt, params) + # local template = [[ + # I have the following code from {{filename}} and other realted files: + # + # ```{{filetype}} + # {{multifilecontent}} + # ``` + # + # Please look at the following section specifically: + # ```{{filetype}} + # {{selection}} + # ``` + # + # Please finish the code above carefully and logically. + # Respond just with the snippet of code that should be inserted. + # ]] + # local model_obj = prt.get_model "command" + # prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template) + # end, + # Explain = function(prt, params) + # local template = [[ + # Your task is to take the code snippet from {{filename}} and explain it with gradually increasing complexity. + # Break down the code's functionality, purpose, and key components. + # The goal is to help the reader understand what the code does and how it works. + # + # ```{{filetype}} + # {{selection}} + # ``` + # + # Use the markdown format with codeblocks and inline code. + # Explanation of the code above: + # ]] + # local model = prt.get_model "command" + # prt.logger.info("Explaining selection with model: " .. model.name) + # prt.Prompt(params, prt.ui.Target.new, model, nil, template) + # end, + # ProofReader = function(prt, params) + # local chat_prompt = [[ + # I want you to act as a proofreader. I will provide you with texts and + # I would like you to review them for any spelling, grammar, or + # punctuation errors. Once you have finished reviewing the text, + # provide me with any necessary corrections or suggestions to improve the + # text. Highlight the corrected fragments (if any) using markdown backticks. + # + # When you have done that subsequently provide me with a slightly better + # version of the text, but keep close to the original text. + # + # Finally provide me with an ideal version of the text. + # + # For each of these versions, you can elide sections which include long unchanged text with NO_CHANGES_HERE. + # + # Whenever I provide you with text, you reply in this format directly: + # + # + # ## Summary of suggestions: + # + # {a brief list of spelling, grammar and punctuation errors, with brief snippets of the original text so I can search and find each change, followed by summaries of what types of changes are in the slightly better and ideal versions} + # + # ## Corrected text: + # + # {corrected text, or say "NO_CORRECTIONS_NEEDED" instead if there are no corrections made} + # + # ## Slightly better text + # + # {slightly better text} + # + # ## Ideal text + # + # {ideal text} + # ]] + # prt.ChatNew(params, chat_prompt) + # end, + # ProofReader2 = function(prt, params) + # local chat_prompt = [[ + # I want you to act as a professional proofreader and editor. When I provide you with text, please: + # + # 1. First, identify and correct errors in + # - spelling + # - grammar + # - punctuation + # - syntax errors. + # - Technical accuracy (for domain-specific content especially) + # Mark corrections using markdown backticks. + # + # 2. Second, analyze stylistic elements including + # - clarity + # - conciseness + # - word choice + # - sentence structure + # - paragraph organization and transitions (as appropriate for text length) + # + # 3. Provide your response in this structured format: + # + # # Summary of the text: + # Provide a concise overview of the text (1-2 sentences). + # For longer texts (5+ paragraphs), include a brief outline of the content. + # + # + # ## Summary of suggestions: + # - List specific errors found with brief context + # - Group similar issues together + # - Note patterns if they exist + # - Highlight 3-5 most impactful improvements + # - Summarize the types of improvements made in each version + # + # ## Corrected text: + # Present the text with technical errors fixed (or state "NO_CORRECTIONS_NEEDED" if appropriate) + # + # ## Enhanced text: + # Provide a version with moderate improvements to readability and flow while preserving the original voice and style. You may use [NO_CHANGES_HERE] to indicate substantial unchanged sections to keep your response more concise. + # + # ## Optimal text: + # Present an ideal version that maintains the original intent but optimizes for clarity, impact, and professional quality. Use [NO_CHANGES_HERE] as mentioned above. + # + # Please maintain the original meaning and tone while making your suggestions. If you're uncertain about the author's intent in any section, note this and provide alternative interpretations. + # For very long texts, focus on the most impactful improvements. + # ]] + # prt.ChatNew(params, chat_prompt) + # + # end, + # }, + # }) + # + # vim.api.nvim_set_keymap("n", "pt", "PrtChatToggle", { noremap = true}) require("nomodoro").setup({ work_time = 10, diff --git a/home/deepak/neovim/lualine.lua b/home/deepak/neovim/lualine.lua index 631a1de..998be73 100644 --- a/home/deepak/neovim/lualine.lua +++ b/home/deepak/neovim/lualine.lua @@ -26,7 +26,7 @@ require("lualine").setup({ icons_enabled = false, }, require("nomodoro").status, - parrot_status, + -- parrot_status, }, lualine_x = { "encoding", diff --git a/overlays/default.nix b/overlays/default.nix index 2559ba6..6397c4a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -2,7 +2,7 @@ cmp-vimtex, spaceport-nvim, nomodoro, - parrot-nvim, + # parrot-nvim, inputs, }: let @@ -22,10 +22,10 @@ let name = "nomodoro"; }; - parrotNvimPlugin = prev.vimUtils.buildVimPlugin { - src = parrot-nvim; - name = "parrot-nvim"; - }; + # parrotNvimPlugin = prev.vimUtils.buildVimPlugin { + # src = parrot-nvim; + # name = "parrot-nvim"; + # }; nvimWebDeviconPlugin = prev.vimUtils.buildVimPlugin { src = inputs.nvim-web-devicons; @@ -42,7 +42,7 @@ let cmp-vimtex = cmpVimtexPlugin; spaceport-nvim = spaceportNvimPlugin; nomodoro = nomodoroNvimPlugin; - parrot-nvim = parrotNvimPlugin; + # parrot-nvim = parrotNvimPlugin; nvim-web-devicons = nvimWebDeviconPlugin; };