mainly xfce. And a lot of other things i dont remember
This commit is contained in:
@@ -4,20 +4,22 @@
|
||||
# ./ags
|
||||
./fuzzel
|
||||
./other
|
||||
./sway
|
||||
./swaync
|
||||
# ./sway
|
||||
# ./swaync
|
||||
./waybar
|
||||
./wpaperd
|
||||
./nvim
|
||||
./emacs
|
||||
./zed-editor
|
||||
# ./emacs
|
||||
./terminal
|
||||
./rofi
|
||||
# ./alacritty
|
||||
# ./tmux
|
||||
# ./mako
|
||||
# ./mako
|
||||
# ./qutebrowser
|
||||
./hyprland
|
||||
# ./hyprland
|
||||
./niri
|
||||
# ./vscode
|
||||
# ./zen
|
||||
];
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ input {
|
||||
|
||||
// For example:
|
||||
layout "us,de"
|
||||
options "grp:win_space_toggle"
|
||||
options "grp:alt_shift_toggle"
|
||||
}
|
||||
|
||||
// Enable numlock on startup, omitting this setting disables it.
|
||||
@@ -63,6 +63,7 @@ input {
|
||||
// focus-follows-mouse max-scroll-amount="0%"
|
||||
}
|
||||
|
||||
|
||||
// You can configure outputs by their name, which you can find
|
||||
// by running `niri msg outputs` while inside a niri instance.
|
||||
// The built-in laptop monitor is usually called "eDP-1".
|
||||
@@ -97,7 +98,14 @@ output "eDP-1" {
|
||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
||||
// If the position is unset or results in an overlap, the output is instead placed
|
||||
// automatically.
|
||||
// position x=1280 y=0
|
||||
position x=0 y=0
|
||||
}
|
||||
|
||||
output "HDMI-A-1" {
|
||||
mode "1920x1080"
|
||||
scale 1
|
||||
transform "normal"
|
||||
position x=1920 y=0
|
||||
}
|
||||
|
||||
// Settings that influence how windows are positioned and sized.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
gcc
|
||||
# gopls
|
||||
stylua
|
||||
# rustfmt
|
||||
rustfmt
|
||||
];
|
||||
|
||||
programs.neovim = {
|
||||
@@ -32,7 +32,8 @@ programs.neovim.plugins = [
|
||||
# ".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua;
|
||||
".config/nvim/lua/plugins/blink-cmp.lua".source = ./lua/plugins/blink-cmp.lua;
|
||||
".config/nvim/lua/plugins/lsp.lua".source = ./lua/plugins/lsp.lua;
|
||||
# ".config/nvim/lua/plugins/mason.lua".source = ./lua/plugins/mason.lua;
|
||||
".config/nvim/lua/plugins/mason.lua".source = ./lua/plugins/mason.lua;
|
||||
".config/nvim/lua/plugins/mason-lspconfig.lua".source = ./lua/plugins/mason-lspconfig.lua;
|
||||
# ".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua;
|
||||
".config/nvim/lua/plugins/catppuccin.lua".source = ./lua/plugins/catppuccin.lua;
|
||||
".config/nvim/lua/plugins/telescope.lua".source = ./lua/plugins/telescope.lua;
|
||||
@@ -44,7 +45,7 @@ programs.neovim.plugins = [
|
||||
".config/nvim/lua/plugins/trouble.lua".source = ./lua/plugins/trouble.lua;
|
||||
".config/nvim/lua/plugins/dap.lua".source = ./lua/plugins/dap.lua;
|
||||
".config/nvim/lua/plugins/blankline.lua".source = ./lua/plugins/blankline.lua;
|
||||
".config/nvim/lua/plugins/rustaceanvim.lua".source = ./lua/plugins/rustaceanvim.lua;
|
||||
# ".config/nvim/lua/plugins/rustaceanvim.lua".source = ./lua/plugins/rustaceanvim.lua;
|
||||
".config/nvim/lua/plugins/lazygit.lua".source = ./lua/plugins/lazygit.lua;
|
||||
".config/nvim/lua/plugins/toggleterm.lua".source = ./lua/plugins/toggleterm.lua;
|
||||
".config/nvim/lua/plugins/love.lua".source = ./lua/plugins/love.lua;
|
||||
@@ -56,8 +57,11 @@ programs.neovim.plugins = [
|
||||
".config/nvim/lua/plugins/vim-suda.lua".source = ./lua/plugins/vim-suda.lua;
|
||||
".config/nvim/lua/plugins/tiny-inline-diagnostic.lua".source = ./lua/plugins/tiny-inline-diagnostic.lua;
|
||||
".config/nvim/lua/plugins/conform.lua".source = ./lua/plugins/conform.lua;
|
||||
".config/nvim/lua/plugins/go.lua".source = ./lua/plugins/go.lua;
|
||||
# ".config/nvim/lua/plugins/arduino.lua".source = ./lua/plugins/arduino.lua;
|
||||
".config/nvim/lua/plugins/nvim-tree.lua".source = ./lua/plugins/nvim-tree.lua;
|
||||
".config/nvim/lua/plugins/notify.lua".source = ./lua/plugins/notify.lua;
|
||||
|
||||
# ".config/nvim/lua/plugins/go.lua".source = ./lua/plugins/go.lua;
|
||||
# ".config/nvim/lua/plugins/typst.lua".source = ./lua/plugins/typst.lua;
|
||||
|
||||
}
|
||||
];
|
||||
|
||||
@@ -38,7 +38,6 @@ vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
|
||||
-- jump to definition
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
|
||||
|
||||
|
||||
-- code actions
|
||||
vim.keymap.set("n", "<leader>ca", function()
|
||||
require("tiny-code-action").code_action()
|
||||
@@ -47,7 +46,6 @@ end, { noremap = true, silent = true })
|
||||
-- Lazy
|
||||
require("config.lazy")
|
||||
|
||||
-- require("flutter-tools").setup {} -- use defaults
|
||||
require("catppuccin").setup({})
|
||||
vim.cmd.colorscheme("catppuccin")
|
||||
|
||||
@@ -62,6 +60,7 @@ require("ibl").setup()
|
||||
require("telescope").load_extension("flutter")
|
||||
require("toggleterm").setup({})
|
||||
require("mini.animate").setup()
|
||||
require('nvim-autopairs').enable()
|
||||
|
||||
vim.o.showtabline = 2
|
||||
require("tabby").setup({
|
||||
@@ -77,7 +76,7 @@ require("conform").setup({})
|
||||
require("flutter-tools").setup({})
|
||||
|
||||
-- GO
|
||||
require("go").setup()
|
||||
-- require("go").setup()
|
||||
|
||||
------------- -- Debugger
|
||||
local dap, dapui = require("dap"), require("dapui")
|
||||
@@ -113,13 +112,8 @@ dap.configurations.rust = dap.configurations.gdb
|
||||
--------------------------------------------
|
||||
local builtin = require("telescope.builtin")
|
||||
local conform = require("conform")
|
||||
-- Rust binds
|
||||
vim.keymap.set("n", "<leader>rrr", ":RustRun<CR>", { desc = "Run rust program" })
|
||||
vim.keymap.set("n", "<leader>rd", ":RustLsp debug<CR>", { desc = "Debug rust program" })
|
||||
vim.keymap.set("n", "<leader>rh", ":RustLsp hover actions<CR>", { desc = "rust hover actions" })
|
||||
vim.keymap.set("n", "<leader>re", ":RustLsp explainError<CR>", { desc = "explain rust error" })
|
||||
vim.keymap.set("n", "<leader>rs", ":RustLsp openDocs<CR>", { desc = "open rust docs for symbol under cursor" })
|
||||
vim.keymap.set("n", "<leader>rrn", ":RustLsp ssr ", { desc = "rust rename" })
|
||||
-- Love binds
|
||||
vim.keymap.set("n", "<leader>lr", ":LoveRun<CR>", { desc = "Love run" })
|
||||
-- Telescope binds
|
||||
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Telescope find files" })
|
||||
vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Telescope live grep" })
|
||||
@@ -143,12 +137,15 @@ vim.keymap.set("n", "<leader>tf", ":ToggleTerm direction=float <CR>", { desc = "
|
||||
vim.keymap.set("n", "<leader>tt", ":ToggleTerm direction=tab size=50 <CR>", { desc = "Open terminal in new tab" })
|
||||
vim.keymap.set("n", "<leader>tv", ":ToggleTerm direction=vertical <CR>", { desc = "Open terminal vertical" })
|
||||
vim.keymap.set("n", "<leader>ts", ":ToggleTerm direction=vertical <CR>", { desc = "select open terminal" })
|
||||
-- file explorer binds (nvim-tree)
|
||||
vim.keymap.set("n", "<leader>fe", ":NvimTreeToggle <CR>", { desc = "Toggle nvim tree" })
|
||||
-- code actions
|
||||
vim.keymap.set("n", "<leader>ca", function()
|
||||
require("tiny-code-action").code_action()
|
||||
end, { desc = "Show code actions", noremap = true, silent = true })
|
||||
|
||||
|
||||
-- disable annoying inline type things
|
||||
vim.lsp.inlay_hint.enable(false)
|
||||
vim.diagnostic.config({virtual_text = false})
|
||||
|
||||
|
||||
|
||||
29
packages/nvim/lua/plugins/avante.lua
Normal file
29
packages/nvim/lua/plugins/avante.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
return {
|
||||
"yetone/avante.nvim",
|
||||
event = "VeryLazy",
|
||||
version = false, -- Never set this value to "*"! Never!
|
||||
opts = {
|
||||
-- add any opts here
|
||||
-- for example
|
||||
provider = "copilot",
|
||||
},
|
||||
build = "make",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"stevearc/dressing.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
--- The below dependencies are optional,
|
||||
"nvim-telescope/telescope.nvim", -- for file_selector provider telescope
|
||||
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
|
||||
"zbirenbaum/copilot.lua", -- for providers='copilot'
|
||||
{
|
||||
-- Make sure to set this up properly if you have lazy=true
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
opts = {
|
||||
file_types = { "markdown", "Avante" },
|
||||
},
|
||||
ft = { "markdown", "Avante" },
|
||||
},
|
||||
},
|
||||
}
|
||||
6
packages/nvim/lua/plugins/copilot.lua
Normal file
6
packages/nvim/lua/plugins/copilot.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
"zbirenbaum/copilot.lua",
|
||||
config = function ()
|
||||
require('copilot').setup({})
|
||||
end
|
||||
}
|
||||
@@ -1,32 +1,70 @@
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
dependencies = { 'saghen/blink.cmp' },
|
||||
config = function(_,_)
|
||||
|
||||
-- example using `opts` for defining servers
|
||||
opts = {
|
||||
servers = {
|
||||
lua_ls = {},
|
||||
nil_ls = {},
|
||||
-- rust_analyzer = {},
|
||||
gopls = {},
|
||||
-- arduino_language_server = {},
|
||||
local vue_language_server_path = vim.fn.expand '$MASON/packages' .. '/vue-language-server' .. '/node_modules/@vue/language-server'
|
||||
|
||||
local tsserver_filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' }
|
||||
local vue_plugin = {
|
||||
name = '@vue/typescript-plugin',
|
||||
location = vue_language_server_path,
|
||||
languages = { 'vue' },
|
||||
configNamespace = 'typescript',
|
||||
}
|
||||
},
|
||||
config = function(_, opts)
|
||||
local lspconfig = require('lspconfig')
|
||||
for server, config in pairs(opts.servers) do
|
||||
-- passing config.capabilities to blink.cmp merges with the capabilities in your
|
||||
-- `opts[server].capabilities, if you've defined it
|
||||
config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
|
||||
lspconfig[server].setup(config)
|
||||
end
|
||||
local vtsls_config = {
|
||||
settings = {
|
||||
vtsls = {
|
||||
tsserver = {
|
||||
globalPlugins = {
|
||||
vue_plugin,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
filetypes = tsserver_filetypes,
|
||||
}
|
||||
|
||||
local ts_ls_config = {
|
||||
init_options = {
|
||||
plugins = {
|
||||
vue_plugin,
|
||||
},
|
||||
},
|
||||
filetypes = tsserver_filetypes,
|
||||
}
|
||||
|
||||
-- If you are on most recent `nvim-lspconfig`
|
||||
local vue_ls_config = {}
|
||||
-- nvim 0.11 or above
|
||||
vim.lsp.config('vtsls', vtsls_config)
|
||||
vim.lsp.config('vue_ls', vue_ls_config)
|
||||
vim.lsp.config('lua_ls', {})
|
||||
-- vim.lsp.config('rust_analyzer', {})
|
||||
vim.lsp.enable({'vtsls', 'vue_ls', 'lua_ls'})
|
||||
end
|
||||
|
||||
-- -- example calling setup directly for each LSP
|
||||
-- config = function()
|
||||
-- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
-- local lspconfig = require('lspconfig')
|
||||
--
|
||||
-- lspconfig['lua_ls'].setup({ capabilities = capabilities })
|
||||
-- end
|
||||
|
||||
-- opts = {
|
||||
-- servers = {
|
||||
-- lua_ls = {},
|
||||
-- nil_ls = {},
|
||||
-- vstls = {},
|
||||
-- vue_ls = {},
|
||||
-- -- rust_analyzer = {},
|
||||
-- -- gopls = {},
|
||||
-- }
|
||||
-- },
|
||||
-- config = function(_, opts)
|
||||
-- for server, config in pairs(opts.servers) do
|
||||
-- config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
|
||||
--
|
||||
-- -- Verwende `vim.lsp.config` um die Konfiguration anzupassen
|
||||
-- vim.lsp.config(server, config)
|
||||
--
|
||||
-- -- Aktiviere die Konfiguration
|
||||
-- vim.lsp.enable(server)
|
||||
-- end
|
||||
-- end
|
||||
}
|
||||
|
||||
|
||||
8
packages/nvim/lua/plugins/mason-lspconfig.lua
Normal file
8
packages/nvim/lua/plugins/mason-lspconfig.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
opts = {},
|
||||
dependencies = {
|
||||
{ "mason-org/mason.nvim", opts = {} },
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
}
|
||||
@@ -1,37 +1,46 @@
|
||||
return {
|
||||
|
||||
"williamboman/mason.nvim",
|
||||
cmd = "Mason",
|
||||
keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
build = ":MasonUpdate",
|
||||
opts_extend = { "ensure_installed" },
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shfmt",
|
||||
},
|
||||
},
|
||||
---@param opts MasonSettings | {ensure_installed: string[]}
|
||||
config = function(_, opts)
|
||||
require("mason").setup(opts)
|
||||
local mr = require("mason-registry")
|
||||
mr:on("package:install:success", function()
|
||||
vim.defer_fn(function()
|
||||
-- trigger FileType event to possibly load this newly installed LSP server
|
||||
require("lazy.core.handler.event").trigger({
|
||||
event = "FileType",
|
||||
buf = vim.api.nvim_get_current_buf(),
|
||||
})
|
||||
end, 100)
|
||||
end)
|
||||
|
||||
mr.refresh(function()
|
||||
for _, tool in ipairs(opts.ensure_installed) do
|
||||
local p = mr.get_package(tool)
|
||||
if not p:is_installed() then
|
||||
p:install()
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
"mason-org/mason.nvim",
|
||||
config = function ()
|
||||
require("mason").setup()
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
-- return {
|
||||
--
|
||||
-- "williamboman/mason.nvim",
|
||||
-- cmd = "Mason",
|
||||
-- keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
-- build = ":MasonUpdate",
|
||||
-- opts_extend = { "ensure_installed" },
|
||||
-- opts = {
|
||||
-- ensure_installed = {
|
||||
-- -- "stylua",
|
||||
-- -- "shfmt",
|
||||
-- },
|
||||
-- },
|
||||
-- ---@param opts MasonSettings | {ensure_installed: string[]}
|
||||
-- config = function(_, opts)
|
||||
-- require("mason").setup(opts)
|
||||
-- local mr = require("mason-registry")
|
||||
-- mr:on("package:install:success", function()
|
||||
-- vim.defer_fn(function()
|
||||
-- -- trigger FileType event to possibly load this newly installed LSP server
|
||||
-- require("lazy.core.handler.event").trigger({
|
||||
-- event = "FileType",
|
||||
-- buf = vim.api.nvim_get_current_buf(),
|
||||
-- })
|
||||
-- end, 100)
|
||||
-- end)
|
||||
--
|
||||
-- mr.refresh(function()
|
||||
-- for _, tool in ipairs(opts.ensure_installed) do
|
||||
-- local p = mr.get_package(tool)
|
||||
-- if not p:is_installed() then
|
||||
-- p:install()
|
||||
-- end
|
||||
-- end
|
||||
-- end)
|
||||
-- end,
|
||||
-- }
|
||||
|
||||
|
||||
6
packages/nvim/lua/plugins/notify.lua
Normal file
6
packages/nvim/lua/plugins/notify.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
"rcarriga/nvim-notify",
|
||||
config = function ()
|
||||
vim.notify = require("notify")
|
||||
end
|
||||
}
|
||||
15
packages/nvim/lua/plugins/nvim-tree.lua
Normal file
15
packages/nvim/lua/plugins/nvim-tree.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
return {
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
version = "*",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("nvim-tree").setup({
|
||||
view = {
|
||||
width = 30,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
7
packages/nvim/lua/plugins/plugins/autopair.lua
Normal file
7
packages/nvim/lua/plugins/plugins/autopair.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
-- use opts = {} for passing setup options
|
||||
-- this is equivalent to setup({}) function
|
||||
}
|
||||
7
packages/nvim/lua/plugins/plugins/blankline.lua
Normal file
7
packages/nvim/lua/plugins/plugins/blankline.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
---@module "ibl"
|
||||
---@type ibl.config
|
||||
opts = {},
|
||||
}
|
||||
48
packages/nvim/lua/plugins/plugins/blink-cmp.lua
Normal file
48
packages/nvim/lua/plugins/plugins/blink-cmp.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '1.*',
|
||||
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
|
||||
-- build = 'cargo build --release',
|
||||
-- If you use nix, you can build from source using latest nightly rust with:
|
||||
-- build = 'nix run .#build-plugin',
|
||||
|
||||
---@module 'blink.cmp'
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = {
|
||||
preset = 'enter',
|
||||
-- map tap to cycle through
|
||||
['<S-Tab>'] = { 'select_prev', 'fallback' },
|
||||
['<Tab>'] = { 'select_next', 'fallback' },
|
||||
},
|
||||
|
||||
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" }
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}
|
||||
1
packages/nvim/lua/plugins/plugins/catppuccin.lua
Normal file
1
packages/nvim/lua/plugins/plugins/catppuccin.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "catppuccin/nvim", name = "catppuccin", priority = 1000 }
|
||||
6
packages/nvim/lua/plugins/plugins/comment.lua
Normal file
6
packages/nvim/lua/plugins/plugins/comment.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
'numToStr/Comment.nvim',
|
||||
opts = {
|
||||
-- add any options here
|
||||
}
|
||||
}
|
||||
0
packages/nvim/lua/plugins/plugins/comment.lua~
Normal file
0
packages/nvim/lua/plugins/plugins/comment.lua~
Normal file
30
packages/nvim/lua/plugins/plugins/coq.lua
Normal file
30
packages/nvim/lua/plugins/plugins/coq.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
return {
|
||||
"neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration
|
||||
lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
|
||||
dependencies = {
|
||||
-- main one
|
||||
{ "ms-jpq/coq_nvim", branch = "coq" },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ "ms-jpq/coq.artifacts", branch = "artifacts" },
|
||||
|
||||
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
|
||||
-- Need to **configure separately**
|
||||
{ 'ms-jpq/coq.thirdparty', branch = "3p" }
|
||||
-- - shell repl
|
||||
-- - nvim lua api
|
||||
-- - scientific calculator
|
||||
-- - comment banner
|
||||
-- - etc
|
||||
},
|
||||
init = function()
|
||||
vim.g.coq_settings = {
|
||||
auto_start = true, -- if you want to start COQ at startup
|
||||
-- Your COQ settings here
|
||||
}
|
||||
end,
|
||||
config = function()
|
||||
-- Your LSP settings here
|
||||
end,
|
||||
}
|
||||
1
packages/nvim/lua/plugins/plugins/dap.lua
Normal file
1
packages/nvim/lua/plugins/plugins/dap.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "rcarriga/nvim-dap-ui", dependencies = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"} }
|
||||
10
packages/nvim/lua/plugins/plugins/flutter.lua
Normal file
10
packages/nvim/lua/plugins/plugins/flutter.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
|
||||
'nvim-flutter/flutter-tools.nvim',
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'stevearc/dressing.nvim', -- optional for vim.ui.select
|
||||
},
|
||||
config = true,
|
||||
}
|
||||
1
packages/nvim/lua/plugins/plugins/highlight-colors.lua
Normal file
1
packages/nvim/lua/plugins/plugins/highlight-colors.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "brenoprata10/nvim-highlight-colors", name = "highlight-colotrs" }
|
||||
33
packages/nvim/lua/plugins/plugins/lazydev.lua
Normal file
33
packages/nvim/lua/plugins/plugins/lazydev.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
return {
|
||||
{
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua", -- only load on lua files
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
{ -- optional blink completion source for require statements and module annotations
|
||||
"saghen/blink.cmp",
|
||||
build = 'cargo +nightly build --release',
|
||||
|
||||
opts = {
|
||||
sources = {
|
||||
-- add lazydev to your completion providers
|
||||
default = { "lazydev", "lsp", "path", "snippets", "buffer" },
|
||||
providers = {
|
||||
lazydev = {
|
||||
name = "LazyDev",
|
||||
module = "lazydev.integrations.blink",
|
||||
-- make lazydev completions top priority (see `:h blink.cmp`)
|
||||
score_offset = 100,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
-- { "folke/neodev.nvim", enabled = false }, -- make sure to uninstall or disable neodev.nvim
|
||||
}
|
||||
0
packages/nvim/lua/plugins/plugins/lazydev.lua~
Normal file
0
packages/nvim/lua/plugins/plugins/lazydev.lua~
Normal file
21
packages/nvim/lua/plugins/plugins/lazygit.lua
Normal file
21
packages/nvim/lua/plugins/plugins/lazygit.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- nvim v0.8.0
|
||||
return {
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
"LazyGitCurrentFile",
|
||||
"LazyGitFilter",
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
||||
-- order to load the plugin when the command is run for the first time
|
||||
keys = {
|
||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||
}
|
||||
}
|
||||
30
packages/nvim/lua/plugins/plugins/lsp.lua
Normal file
30
packages/nvim/lua/plugins/plugins/lsp.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
dependencies = { 'saghen/blink.cmp' },
|
||||
|
||||
-- example using `opts` for defining servers
|
||||
opts = {
|
||||
servers = {
|
||||
lua_ls = {},
|
||||
nil_ls = {},
|
||||
-- rust_analyzer = {}
|
||||
}
|
||||
},
|
||||
config = function(_, opts)
|
||||
local lspconfig = require('lspconfig')
|
||||
for server, config in pairs(opts.servers) do
|
||||
-- passing config.capabilities to blink.cmp merges with the capabilities in your
|
||||
-- `opts[server].capabilities, if you've defined it
|
||||
config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
|
||||
lspconfig[server].setup(config)
|
||||
end
|
||||
end
|
||||
|
||||
-- -- example calling setup directly for each LSP
|
||||
-- config = function()
|
||||
-- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
-- local lspconfig = require('lspconfig')
|
||||
--
|
||||
-- lspconfig['lua_ls'].setup({ capabilities = capabilities })
|
||||
-- end
|
||||
}
|
||||
13
packages/nvim/lua/plugins/plugins/lsp.lua~
Normal file
13
packages/nvim/lua/plugins/plugins/lsp.lua~
Normal file
@@ -0,0 +1,13 @@
|
||||
return
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = function()
|
||||
local keys = require("lazyvim.plugins.lsp.keymaps").get()
|
||||
-- change a keymap
|
||||
keys[#keys + 1] = { "K", "<cmd>echo 'hello'<cr>" }
|
||||
-- disable a keymap
|
||||
keys[#keys + 1] = { "K", false }
|
||||
-- add a keymap
|
||||
keys[#keys + 1] = { "H", "<cmd>echo 'hello'<cr>" }
|
||||
end,
|
||||
}
|
||||
5
packages/nvim/lua/plugins/plugins/lualine.lua
Normal file
5
packages/nvim/lua/plugins/plugins/lualine.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
||||
|
||||
}
|
||||
0
packages/nvim/lua/plugins/plugins/lualine.lua~
Normal file
0
packages/nvim/lua/plugins/plugins/lualine.lua~
Normal file
37
packages/nvim/lua/plugins/plugins/mason.lua
Normal file
37
packages/nvim/lua/plugins/plugins/mason.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
|
||||
"williamboman/mason.nvim",
|
||||
cmd = "Mason",
|
||||
keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
build = ":MasonUpdate",
|
||||
opts_extend = { "ensure_installed" },
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shfmt",
|
||||
},
|
||||
},
|
||||
---@param opts MasonSettings | {ensure_installed: string[]}
|
||||
config = function(_, opts)
|
||||
require("mason").setup(opts)
|
||||
local mr = require("mason-registry")
|
||||
mr:on("package:install:success", function()
|
||||
vim.defer_fn(function()
|
||||
-- trigger FileType event to possibly load this newly installed LSP server
|
||||
require("lazy.core.handler.event").trigger({
|
||||
event = "FileType",
|
||||
buf = vim.api.nvim_get_current_buf(),
|
||||
})
|
||||
end, 100)
|
||||
end)
|
||||
|
||||
mr.refresh(function()
|
||||
for _, tool in ipairs(opts.ensure_installed) do
|
||||
local p = mr.get_package(tool)
|
||||
if not p:is_installed() then
|
||||
p:install()
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
}
|
||||
5
packages/nvim/lua/plugins/plugins/rustaceanvim.lua
Normal file
5
packages/nvim/lua/plugins/plugins/rustaceanvim.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
'mrcjkb/rustaceanvim',
|
||||
version = '^5', -- Recommended
|
||||
lazy = false, -- This plugin is already lazy
|
||||
}
|
||||
44
packages/nvim/lua/plugins/plugins/tabout.lua
Normal file
44
packages/nvim/lua/plugins/plugins/tabout.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
return {
|
||||
{
|
||||
'abecodes/tabout.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('tabout').setup {
|
||||
tabkey = '<Tab>', -- key to trigger tabout, set to an empty string to disable
|
||||
backwards_tabkey = '<S-Tab>', -- key to trigger backwards tabout, set to an empty string to disable
|
||||
act_as_tab = true, -- shift content if tab out is not possible
|
||||
act_as_shift_tab = false, -- reverse shift content if tab out is not possible (if your keyboard/terminal supports <S-Tab>)
|
||||
default_tab = '<C-t>', -- shift default action (only at the beginning of a line, otherwise <TAB> is used)
|
||||
default_shift_tab = '<C-d>', -- reverse shift default action,
|
||||
enable_backwards = true, -- well ...
|
||||
completion = false, -- if the tabkey is used in a completion pum
|
||||
tabouts = {
|
||||
{ open = "'", close = "'" },
|
||||
{ open = '"', close = '"' },
|
||||
{ open = '`', close = '`' },
|
||||
{ open = '(', close = ')' },
|
||||
{ open = '[', close = ']' },
|
||||
{ open = '{', close = '}' }
|
||||
},
|
||||
ignore_beginning = true, --[[ if the cursor is at the beginning of a filled element it will rather tab out than shift the content ]]
|
||||
exclude = {} -- tabout will ignore these filetypes
|
||||
}
|
||||
end,
|
||||
dependencies = { -- These are optional
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"hrsh7th/nvim-cmp"
|
||||
},
|
||||
opt = true, -- Set this to true if the plugin is optional
|
||||
event = 'InsertCharPre', -- Set the event to 'InsertCharPre' for better compatibility
|
||||
priority = 1000,
|
||||
},
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
-- Disable default tab keybinding in LuaSnip
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
4
packages/nvim/lua/plugins/plugins/telescope.lua
Normal file
4
packages/nvim/lua/plugins/plugins/telescope.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
"nvim-telescope/telescope-file-browser.nvim",
|
||||
dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" }
|
||||
}
|
||||
15
packages/nvim/lua/plugins/plugins/treesitter.lua
Normal file
15
packages/nvim/lua/plugins/plugins/treesitter.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function ()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "html", "dart", "rust" },
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
37
packages/nvim/lua/plugins/plugins/trouble.lua
Normal file
37
packages/nvim/lua/plugins/plugins/trouble.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
"<leader>xx",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xX",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cs",
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cl",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xL",
|
||||
"<cmd>Trouble loclist toggle<cr>",
|
||||
desc = "Location List (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xQ",
|
||||
"<cmd>Trouble qflist toggle<cr>",
|
||||
desc = "Quickfix List (Trouble)",
|
||||
},
|
||||
},
|
||||
}
|
||||
18
packages/nvim/lua/plugins/plugins/whichkey.lua
Normal file
18
packages/nvim/lua/plugins/plugins/whichkey.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
}
|
||||
0
packages/nvim/lua/plugins/plugins/whichkey.lua~
Normal file
0
packages/nvim/lua/plugins/plugins/whichkey.lua~
Normal file
@@ -1,5 +1,29 @@
|
||||
return {
|
||||
'mrcjkb/rustaceanvim',
|
||||
version = '^6', -- Recommended
|
||||
lazy = false, -- This plugin is already lazy
|
||||
"mrcjkb/rustaceanvim",
|
||||
version = "^6", -- Recommended
|
||||
lazy = false, -- This plugin is already lazy
|
||||
|
||||
keys = {
|
||||
{ "<leader>rrr", ":RustRun<CR>", desc = "Rust run" },
|
||||
{"<leader>rd", ":RustLsp debug<CR>", desc = "Debug rust program" },
|
||||
{"<leader>rh", ":RustLsp hover actions<CR>", desc = "rust hover actions" },
|
||||
{"<leader>re", ":RustLsp explainError<CR>", desc = "explain rust error" },
|
||||
{"<leader>rs", ":RustLsp openDocs<CR>",desc = "open rust docs for symbol under cursor" },
|
||||
{"<leader>rrn", ":RustLsp ssr ", desc = "rust rename" }
|
||||
},
|
||||
-- opts = {
|
||||
-- function()
|
||||
-- vim.keymap.set("n", "<leader>rrr", ":RustRun<CR>", { desc = "Run rust program" })
|
||||
-- vim.keymap.set("n", "<leader>rd", ":RustLsp debug<CR>", { desc = "Debug rust program" })
|
||||
-- vim.keymap.set("n", "<leader>rh", ":RustLsp hover actions<CR>", { desc = "rust hover actions" })
|
||||
-- vim.keymap.set("n", "<leader>re", ":RustLsp explainError<CR>", { desc = "explain rust error" })
|
||||
-- vim.keymap.set(
|
||||
-- "n",
|
||||
-- "<leader>rs",
|
||||
-- ":RustLsp openDocs<CR>",
|
||||
-- { desc = "open rust docs for symbol under cursor" }
|
||||
-- )
|
||||
-- vim.keymap.set("n", "<leader>rrn", ":RustLsp ssr ", { desc = "rust rename" })
|
||||
-- end,
|
||||
-- },
|
||||
}
|
||||
|
||||
6
packages/nvim/lua/plugins/typst.lua
Normal file
6
packages/nvim/lua/plugins/typst.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
'chomosuke/typst-preview.nvim',
|
||||
lazy = false, -- or ft = 'typst'
|
||||
version = '1.*',
|
||||
opts = {}, -- lazy.nvim will implicitly calls `setup {}`
|
||||
}
|
||||
@@ -15,10 +15,10 @@ set preview_images_method kitty
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Nico";
|
||||
userEmail = "nicovessen@gmail.com";
|
||||
extraConfig = {
|
||||
settings = {
|
||||
safe.directory = "/etc/nixos";
|
||||
user.name = "Nico";
|
||||
user.email = "nicovessen@gmail.com";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
"position": "top",
|
||||
"height": 38,
|
||||
"spacing": 0,
|
||||
"modules-left": ["clock", "niri/workspaces", "hyprland/submap"],
|
||||
"modules-left": ["clock", "niri/workspaces"],
|
||||
"modules-center": [ ],
|
||||
"modules-right": ["network", "battery", "cpu", "memory", "custom/keyboard-layout", "custom/notification", "pulseaudio", "tray"],
|
||||
"modules-right": ["network", "battery", "cpu", "memory", "custom/notification", "pulseaudio", "tray"],
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"interval": 1,
|
||||
@@ -41,7 +41,22 @@
|
||||
"network": {
|
||||
"format-wifi": " {essid} {signalStrength}%",
|
||||
"format-disconnected": " No Connection"
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
// "format-icons": [, ""]
|
||||
"format-icons": {
|
||||
"default": [ "", "", "" ],
|
||||
"charging": [ "" ],
|
||||
"warning": "",
|
||||
"critical": ""
|
||||
},
|
||||
|
||||
"states": {
|
||||
"warning": 20,
|
||||
"critical": 10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
54
packages/zed-editor/default.nix
Normal file
54
packages/zed-editor/default.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
home.file."/home/nico/.config/zed/settings.json" = {
|
||||
source = ./settings.json;
|
||||
};
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
};
|
||||
# ## This populates the userSettings "auto_install_extensions"
|
||||
# extensions = ["nix" "Catppuccin"];
|
||||
#
|
||||
# ## everything inside of these brackets are Zed options.
|
||||
# userSettings = {
|
||||
# assistant = {
|
||||
# enabled = false;
|
||||
# };
|
||||
#
|
||||
# hour_format = "hour24";
|
||||
# auto_update = false;
|
||||
# lsp = {
|
||||
# rust-analyzer = {
|
||||
# binary = {
|
||||
# path_lookup = true;
|
||||
# };
|
||||
# };
|
||||
# nix = {
|
||||
# binary = {
|
||||
# path_lookup = true;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
#
|
||||
#
|
||||
# languages = {
|
||||
# };
|
||||
#
|
||||
# vim_mode = true;
|
||||
# ## tell zed to use direnv and direnv can use a flake.nix enviroment.
|
||||
# load_direnv = "shell_hook";
|
||||
# base_keymap = "VSCode";
|
||||
# theme = {
|
||||
# mode = "dark";
|
||||
# light = "Catppuccin frappe";
|
||||
# dark = "Catppuccin mocha";
|
||||
# };
|
||||
# show_whitespaces = "all" ;
|
||||
# ui_font_size = 16;
|
||||
# buffer_font_size = 16;
|
||||
#
|
||||
# };
|
||||
#
|
||||
# };
|
||||
}
|
||||
57
packages/zed-editor/settings.json
Normal file
57
packages/zed-editor/settings.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"diagnostics": {
|
||||
"include_warnings": true,
|
||||
"inline": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"git": {
|
||||
"inline_blame": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
"ssh_connections": [
|
||||
{
|
||||
"host": "localhost",
|
||||
"projects": [
|
||||
{
|
||||
"paths": [
|
||||
"/home/dev/ids/prog"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"agent": {
|
||||
"enabled": true
|
||||
},
|
||||
"auto_update": false,
|
||||
"base_keymap": "VSCode",
|
||||
"buffer_font_size": 16,
|
||||
"hour_format": "hour24",
|
||||
"languages": {},
|
||||
"load_direnv": "shell_hook",
|
||||
"lsp": {
|
||||
"nix": {
|
||||
"binary": {
|
||||
"path_lookup": true
|
||||
}
|
||||
},
|
||||
"rust-analyzer": {
|
||||
"binary": {
|
||||
"path_lookup": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"show_whitespaces": "all",
|
||||
"theme": {
|
||||
"dark": "Catppuccin Mocha",
|
||||
"light": "Catppuccin frappe",
|
||||
"mode": "system"
|
||||
},
|
||||
"features": {
|
||||
"edit_prediction_provider": "none"
|
||||
},
|
||||
"ui_font_size": 16,
|
||||
"vim_mode": true
|
||||
}
|
||||
51
packages/zen/default.nix
Normal file
51
packages/zen/default.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
let
|
||||
zenBrowser = inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser;
|
||||
|
||||
extension = shortId: guid: {
|
||||
name = guid;
|
||||
value = {
|
||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
};
|
||||
};
|
||||
|
||||
prefs = {
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
};
|
||||
|
||||
extensions = [
|
||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||
(extension "styl-us" "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}")
|
||||
(extension "vimium-ff" "{d7742d87-e61d-4b78-b8a1-b469842139fa}")
|
||||
];
|
||||
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
(pkgs.wrapFirefox
|
||||
zenBrowser
|
||||
{
|
||||
extraPrefs = lib.concatLines (
|
||||
lib.mapAttrsToList (
|
||||
name: value: ''lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});''
|
||||
) prefs
|
||||
);
|
||||
|
||||
extraPolicies = {
|
||||
DisableTelemetry = true;
|
||||
ExtensionSettings = builtins.listToAttrs extensions;
|
||||
|
||||
SearchEngines = {
|
||||
Default = "ddg";
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
|
||||
53
packages/zen/zen-mod.nix
Normal file
53
packages/zen/zen-mod.nix
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
extension = shortId: guid: {
|
||||
name = guid;
|
||||
value = {
|
||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
};
|
||||
};
|
||||
|
||||
prefs = {
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
};
|
||||
|
||||
extensions = [
|
||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||
(extension "styl-us" "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}")
|
||||
(extension "vimium-ff" "{d7742d87-e61d-4b78-b8a1-b469842139fa}")
|
||||
];
|
||||
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [
|
||||
(pkgs.wrapFirefox
|
||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
|
||||
{
|
||||
extraPrefs = lib.concatLines (
|
||||
lib.mapAttrsToList (
|
||||
name: value: ''lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});''
|
||||
) prefs
|
||||
);
|
||||
|
||||
extraPolicies = {
|
||||
DisableTelemetry = true;
|
||||
ExtensionSettings = builtins.listToAttrs extensions;
|
||||
|
||||
SearchEngines = {
|
||||
Default = "ddg";
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user