diff --git a/.abcde.conf b/.abcde.conf new file mode 100644 index 0000000..3416485 --- /dev/null +++ b/.abcde.conf @@ -0,0 +1,93 @@ +# -----------------$HOME/.abcde.conf----------------- # +# +# A sample configuration file to convert music cds to +# m4a/aac using fdkaac and abcde version 2.9.3 +# +# https://andrews-corner.org/abcde/ +# -------------------------------------------------- # + +# Encode tracks immediately after reading. Saves disk space, gives +# better reading of 'scratchy' disks and better troubleshooting of +# encoding process but slows the operation of abcde quite a bit: +LOWDISK=y + +# Specify the method to use to retrieve the track information, +# the alternative is to specify 'musicbrainz': +CDDBMETHOD=musicbrainz + +# With the demise of freedb (thanks for the years of service!) +# we move to an alternative: +CDDBURL="http://gnudb.gnudb.org/~cddb/cddb.cgi" + +# Make a local cache of cddb entries and then volunteer to use +# these entries when and if they match the cd: +CDDBCOPYLOCAL="y" +CDDBLOCALDIR="$HOME/.cache/cddb" +CDDBLOCALRECURSIVE="y" +CDDBUSELOCAL="y" + +# Specify the encoder to use for m4a/aac. fdkaac is the +# best choice under native Linux at the moment: +AACENCODERSYNTAX=fdkaac + +# Specify the path to the selected encoder. In most cases the encoder +# should be in your $PATH as I illustrate below, otherwise you will +# need to specify the full path. For example: /usr/bin/fdkaac +FDKAAC=fdkaac + +# Specify your required encoding options here, the correct options +# can be seen by running: 'fdkaac -h' in a Terminal. Some nice +# examples of encoding options here: http://askubuntu.com/a/783890/57576 +FDKAACENCOPTS='-p 2 -m 5 -a 1' + +# Output type for m4a/aac. +OUTPUTTYPE="m4a" + +# The cd ripping program to use. There are a few choices here: cdda2wav, +# dagrab, cddafs (Mac OS X only) and flac. New to abcde 2.7 is 'libcdio'. +CDROMREADERSYNTAX=cdparanoia + +# Give the location of the ripping program and pass any extra options, +# if using libcdio set 'CD_PARANOIA=cd-paranoia'. +CDPARANOIA=cdparanoia +CDPARANOIAOPTS="--never-skip=40" + +# Give the location of the CD identification program: +CDDISCID=cd-discid + +# Give the base location here for the encoded music files. +OUTPUTDIR="$HOME/Music" + +# The default actions that abcde will take. +ACTIONS=cddb,playlist,read,encode,tag,move,clean + +# Decide here how you want the tracks labelled for a standard 'single-artist', +# multi-track encode and also for a multi-track, 'various-artist' encode: +OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} ${TRACKFILE}' +VAOUTPUTFORMAT='${OUTPUT}/Various Artists/${ALBUMFILE}/${TRACKNUM} ${ARTISTFILE}-${TRACKFILE}' + +# Decide here how you want the tracks labelled for a standard 'single-artist', +# single-track encode and also for a single-track 'various-artist' encode. +# (Create a single-track encode with 'abcde -1' from the commandline.) +ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}' +VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various Artists/${ALBUMFILE}' + +# Create playlists for single and various-artist encodes. I would suggest +# commenting these out for single-track encoding. +#PLAYLISTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}.m3u' +#VAPLAYLISTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}.m3u' + +# This function takes out dots preceding the album name, and removes a grab +# bag of illegal characters. It allows spaces, if you do not wish spaces add +# in -e 's/ /_/g' after the first sed command. +mungefilename () +{ + echo "$@" | sed -e 's/^\.*//' | tr -d ":><|*/\"'?[:cntrl:]" +} + +# What extra options? +MAXPROCS=2 # Run a few encoders simultaneously +PADTRACKS=y # Makes tracks 01 02 not 1 2 +EXTRAVERBOSE=2 # Useful for debugging +COMMENT='abcde version 2.9.3' # Place a comment... +EJECTCD=y # Please eject cd when finished :-) diff --git a/.config/nvim/lua/plugins/llm.lua b/.config/nvim/lua/plugins/llm.lua index 1a080a1..8b76856 100644 --- a/.config/nvim/lua/plugins/llm.lua +++ b/.config/nvim/lua/plugins/llm.lua @@ -1,43 +1,86 @@ return { - { - "github/copilot.vim", - config = function() - vim.keymap.set("n", "ce", ":Copilot enable", { desc = "Enable Copilot Completions" }) - vim.keymap.set("n", "cd", ":Copilot disable", { desc = "Disable Copilot Completions" }) - vim.keymap.set("i", "", "copilot#Accept()", { - expr = true, - silent = true, - replace_keycodes = false, - }) - vim.g.copilot_no_tab_map = true - end, - }, - { - "CopilotC-Nvim/CopilotChat.nvim", - tag = "v3.4.0", - dependencies = { - { "nvim-lua/plenary.nvim" }, - { "github/copilot.vim" }, - }, - build = "make tiktoken", - config = function() - vim.keymap.set("n", "cc", ":CopilotChatToggle", { desc = "Toggle Copilot Chat" }) - vim.keymap.set("n", "cx", ":CopilotChatReset", { desc = "Reset Copilot Chat" }) - require("CopilotChat").setup({ - question_header = "", - answer_header = "", - separator = "", - error_header = "> [!ERROR] Error", - window = { - layout = "horizontal", - height = 0.3, - width = 0.25, - }, - auto_insert_mode = false, - chat_autocomplete = false, - highlight_headers = false, - show_help = false, - }) - end, - }, + { + "github/copilot.vim", + config = function() + vim.keymap.set("n", "ce", ":Copilot enable", { desc = "Enable Copilot Completions" }) + vim.keymap.set("n", "cd", ":Copilot disable", { desc = "Disable Copilot Completions" }) + vim.keymap.set("i", "", "copilot#Accept()", { + expr = true, + silent = true, + replace_keycodes = false, + }) + vim.g.copilot_no_tab_map = true + end, + }, + { + "CopilotC-Nvim/CopilotChat.nvim", + tag = "v3.4.0", + dependencies = { + { "nvim-lua/plenary.nvim" }, + { "github/copilot.vim" }, + }, + build = "make tiktoken", + config = function() + -- vim.keymap.set("n", "cc", ":CopilotChatToggle", { desc = "Toggle Copilot Chat" }) + -- vim.keymap.set("n", "cx", ":CopilotChatReset", { desc = "Reset Copilot Chat" }) + require("CopilotChat").setup({ + question_header = "", + answer_header = "", + separator = "", + error_header = "> [!ERROR] Error", + window = { + layout = "horizontal", + height = 0.3, + width = 0.25, + }, + auto_insert_mode = false, + chat_autocomplete = false, + highlight_headers = false, + show_help = false, + }) + end, + }, + { + "olimorris/codecompanion.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "franco-ruggeri/codecompanion-spinner.nvim", + }, + config = function() + vim.keymap.set("n", "cc", ":CodeCompanionChat Toggle", { desc = "Toggle CodeCompanion Chat" }) + vim.keymap.set("v", "cc", ":CodeCompanionChat Add", { desc = "Add Context to CodeCompanion Chat" }) + vim.keymap.set( + "n", + "cx", + ":CodeCompanion chat clear", + { desc = "Clear CodeCompanion Chat History" } + ) + + require("codecompanion").setup({ + strategies = { + chat = { + adapter = "copilot", + model = "claude-3.5-sonnet", + }, + }, + extensions = { + spinner = {}, + }, + display = { + action_palette = { + width = 95, + height = 10, + prompt = "Prompt ", -- Prompt used for interactive LLM calls + provider = "default", + opts = { + show_default_actions = true, -- Show the default actions in the action palette? + show_default_prompt_library = true, -- Show the default prompt library in the action palette? + title = "CodeCompanion actions", -- The title of the action palette + }, + }, + }, + log_level = "DEBUG", + }) + end, + }, }