haskell-config for nvim & ge_proton install script
This commit is contained in:
@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"extras": [
|
"extras": [
|
||||||
"lazyvim.plugins.extras.coding.blink",
|
"lazyvim.plugins.extras.coding.blink",
|
||||||
"lazyvim.plugins.extras.coding.luasnip",
|
|
||||||
"lazyvim.plugins.extras.coding.mini-comment",
|
"lazyvim.plugins.extras.coding.mini-comment",
|
||||||
"lazyvim.plugins.extras.coding.mini-snippets",
|
"lazyvim.plugins.extras.coding.mini-snippets",
|
||||||
"lazyvim.plugins.extras.coding.mini-surround",
|
"lazyvim.plugins.extras.coding.mini-surround",
|
||||||
@ -16,6 +15,7 @@
|
|||||||
"lazyvim.plugins.extras.editor.snacks_picker",
|
"lazyvim.plugins.extras.editor.snacks_picker",
|
||||||
"lazyvim.plugins.extras.editor.telescope",
|
"lazyvim.plugins.extras.editor.telescope",
|
||||||
"lazyvim.plugins.extras.formatting.prettier",
|
"lazyvim.plugins.extras.formatting.prettier",
|
||||||
|
"lazyvim.plugins.extras.lang.haskell",
|
||||||
"lazyvim.plugins.extras.lang.json",
|
"lazyvim.plugins.extras.lang.json",
|
||||||
"lazyvim.plugins.extras.lang.markdown",
|
"lazyvim.plugins.extras.lang.markdown",
|
||||||
"lazyvim.plugins.extras.lang.nix",
|
"lazyvim.plugins.extras.lang.nix",
|
||||||
|
@ -6,6 +6,8 @@ return {
|
|||||||
-- add any opts here
|
-- add any opts here
|
||||||
-- for example
|
-- for example
|
||||||
provider = "ollama",
|
provider = "ollama",
|
||||||
|
mode = "legacy",
|
||||||
|
disable_tools = true,
|
||||||
behaviour = {
|
behaviour = {
|
||||||
enable_cursor_planning_mode = true, -- enable cursor planning mode!
|
enable_cursor_planning_mode = true, -- enable cursor planning mode!
|
||||||
},
|
},
|
||||||
@ -18,6 +20,7 @@ return {
|
|||||||
max_completion_tokens = 40000, -- Increase this to include reasoning tokens (for reasoning models)
|
max_completion_tokens = 40000, -- Increase this to include reasoning tokens (for reasoning models)
|
||||||
stream = true,
|
stream = true,
|
||||||
thinking = true,
|
thinking = true,
|
||||||
|
disable_tools = true,
|
||||||
--system_prompt = "Enable deep thinking subroutine.",
|
--system_prompt = "Enable deep thinking subroutine.",
|
||||||
-- reasoning_effort = "high", -- low|medium|high, only used for reasoning models
|
-- reasoning_effort = "high", -- low|medium|high, only used for reasoning models
|
||||||
},
|
},
|
||||||
@ -26,10 +29,11 @@ return {
|
|||||||
model = "qwen3:32b",
|
model = "qwen3:32b",
|
||||||
max_completion_tokens = 40000,
|
max_completion_tokens = 40000,
|
||||||
reasoning_effort = "high",
|
reasoning_effort = "high",
|
||||||
|
disable_tools = true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
rag_service = {
|
rag_service = {
|
||||||
enabled = true, -- Enables the RAG service
|
enabled = false, -- Enables the RAG service
|
||||||
host_mount = os.getenv("HOME"), -- Host mount path for the rag service
|
host_mount = os.getenv("HOME"), -- Host mount path for the rag service
|
||||||
provider = "ollama", -- The provider to use for RAG service (e.g. openai or ollama)
|
provider = "ollama", -- The provider to use for RAG service (e.g. openai or ollama)
|
||||||
llm_model = "cogito", -- The LLM model to use for RAG service
|
llm_model = "cogito", -- The LLM model to use for RAG service
|
||||||
|
18
nvim-config/lua/plugins/haskell-snippets.lua
Normal file
18
nvim-config/lua/plugins/haskell-snippets.lua
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
return {
|
||||||
|
"mrcjkb/haskell-snippets.nvim",
|
||||||
|
ft = { "haskell", "lhaskell", "cabal" },
|
||||||
|
dependencies = { "L3MON4D3/LuaSnip" },
|
||||||
|
-- falls Lazy mal falsch cached: lade LuaSnip aktiv vorher
|
||||||
|
init = function()
|
||||||
|
if not package.loaded["luasnip"] then
|
||||||
|
local ok, lazy = pcall(require, "lazy")
|
||||||
|
if ok then
|
||||||
|
lazy.load({ plugins = { "LuaSnip" } })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
-- lade nur, wenn require("luasnip") wirklich klappt
|
||||||
|
cond = function()
|
||||||
|
return package.loaded["luasnip"] or pcall(require, "luasnip")
|
||||||
|
end,
|
||||||
|
}
|
25
nvim-config/lua/plugins/haskell.lua
Normal file
25
nvim-config/lua/plugins/haskell.lua
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
return {
|
||||||
|
"mrcjkb/haskell-tools.nvim",
|
||||||
|
ft = { "haskell", "lhaskell", "cabal" },
|
||||||
|
opts = {
|
||||||
|
|
||||||
|
hls = {
|
||||||
|
settings = {
|
||||||
|
haskell = {
|
||||||
|
formattingProvider = "fourmolu",
|
||||||
|
-- wir nutzen das interne Plugin, kein externes Binary nötig:
|
||||||
|
plugin = { fourmolu = { config = { external = false } } },
|
||||||
|
|
||||||
|
-- .cabal-Formatting komplett deaktivieren (sonst verlangt HLS cabal-fmt)
|
||||||
|
cabalFormattingProvider = "none",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- optional: Safety im on_attach
|
||||||
|
on_attach = function(client, bufnr)
|
||||||
|
if vim.bo[bufnr].filetype == "cabal" then
|
||||||
|
client.server_capabilities.documentFormattingProvider = false
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
21
nvim-config/lua/plugins/snippets.lua
Normal file
21
nvim-config/lua/plugins/snippets.lua
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
return {
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
version = "v2.*",
|
||||||
|
lazy = false, -- früh laden
|
||||||
|
priority = 1000, -- vor anderem Zeug
|
||||||
|
dependencies = { "rafamadriz/friendly-snippets" },
|
||||||
|
build = (function()
|
||||||
|
return (vim.fn.executable("make") == 1) and "make install_jsregexp" or nil
|
||||||
|
end)(),
|
||||||
|
config = function()
|
||||||
|
require("luasnip").config.set_config({
|
||||||
|
history = true,
|
||||||
|
updateevents = "TextChanged,TextChangedI",
|
||||||
|
enable_autosnippets = true,
|
||||||
|
})
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
require("luasnip.loaders.from_lua").lazy_load({
|
||||||
|
paths = vim.fn.stdpath("config") .. "/lua/snippets",
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
return {
|
return {
|
||||||
{ "nvim-neotest/neotest-plenary", "nvim-neotest/neotest-jest" },
|
"nvim-neotest/neotest-plenary",
|
||||||
|
"nvim-neotest/neotest-jest",
|
||||||
{
|
{
|
||||||
"nvim-neotest/neotest",
|
"nvim-neotest/neotest",
|
||||||
opts = {
|
opts = {
|
||||||
|
36
scripts/install_latest_ge_proton.bash
Executable file
36
scripts/install_latest_ge_proton.bash
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# make temp working directory
|
||||||
|
echo "Creating temporary working directory..."
|
||||||
|
rm -rf /tmp/proton-ge-custom
|
||||||
|
mkdir /tmp/proton-ge-custom
|
||||||
|
cd /tmp/proton-ge-custom
|
||||||
|
|
||||||
|
# download tarball
|
||||||
|
echo "Fetching tarball URL..."
|
||||||
|
tarball_url=$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | grep .tar.gz)
|
||||||
|
tarball_name=$(basename "$tarball_url")
|
||||||
|
echo "Downloading tarball: $tarball_name..."
|
||||||
|
curl -# -L "$tarball_url" -o "$tarball_name" --no-progress-meter
|
||||||
|
|
||||||
|
# download checksum
|
||||||
|
echo "Fetching checksum URL..."
|
||||||
|
checksum_url=$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | grep .sha512sum)
|
||||||
|
checksum_name=$(basename "$checksum_url")
|
||||||
|
echo "Downloading checksum: $checksum_name..."
|
||||||
|
curl -# -L "$checksum_url" -o "$checksum_name" --no-progress-meter
|
||||||
|
|
||||||
|
# check tarball with checksum
|
||||||
|
echo "Verifying tarball $tarball_name with checksum $checksum_name..."
|
||||||
|
sha512sum -c "$checksum_name"
|
||||||
|
# if result is ok, continue
|
||||||
|
|
||||||
|
# make steam directory if it does not exist
|
||||||
|
echo "Creating Steam directory if it does not exist..."
|
||||||
|
mkdir -p ~/.steam/steam/compatibilitytools.d
|
||||||
|
|
||||||
|
# extract proton tarball to steam directory
|
||||||
|
echo "Extracting $tarball_name to Steam directory..."
|
||||||
|
tar -xf "$tarball_name" -C ~/.steam/steam/compatibilitytools.d/
|
||||||
|
echo "All done :)"
|
Reference in New Issue
Block a user