firefox: add addons per nix

This commit is contained in:
DashieTM 2024-05-25 14:26:39 +02:00
parent 1f76c7359e
commit a5226f566e
14 changed files with 422 additions and 241 deletions

View file

@ -21,6 +21,7 @@
# cpp
bear
clang-tools
#sql
nodePackages.sql-formatter

View file

@ -15,7 +15,6 @@ in
home.packages = with pkgs; [
vesktop
kitty
firefox
fish
ripgrep
rm-improved
@ -49,6 +48,7 @@ in
greetd.regreet
sops
flake-checker
ffmpeg
(callPackage
../override/streamdeck.nix
{ })
@ -63,8 +63,11 @@ in
programs.oxidash.enable = true;
programs.oxishut.enable = true;
programs.oxipaste.enable = true;
programs.hyprdock.enable = true;
programs.reset.enable = true;
nixpkgs.config.allowUnfree = true;
home.username = "dashie";
home.homeDirectory = "/home/dashie";
home.stateVersion = "24.05";

View file

@ -8,6 +8,8 @@ let
inputs.oxinoti.homeManagerModules.default
inputs.oxidash.homeManagerModules.default
inputs.oxipaste.homeManagerModules.default
inputs.hyprdock.homeManagerModules.default
# inputs.hyprland.homeManagerModules.default
inputs.reset.homeManagerModules.default
inputs.nix-flatpak.homeManagerModules.nix-flatpak
inputs.sops-nix.homeManagerModules.sops

View file

@ -30,6 +30,7 @@
"$mod SUPER,G,exec,oxicalc"
"$mod SUPER,D,exec,oxishut"
"$mod SUPER,A,exec,oxipaste"
"$mod SUPERSHIFT,P,exec,hyprdock --gui"
"$mod SUPERSHIFT,L,exec, playerctl -a pause & hyprlock & systemctl suspend"
"$mod SUPERSHIFT,K,exec, playerctl -a pause & hyprlock & systemctl hibernate"
@ -242,8 +243,6 @@
"ironbar"
"firefox"
"oxipaste_daemon"
# TODO: is this necessary?
#"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
"nextcloud --background"
"oxinoti"
] ++ config.programs.hyprland.extra_autostart;

View file

@ -7,5 +7,7 @@
./ssh.nix
./direnv.nix
./git.nix
./firefox.nix
./keepass.nix
];
}

View file

@ -0,0 +1,29 @@
{ inputs, pkgs, ... }: {
programs.firefox = {
enable = true;
policies = {
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
DisablePocket = true;
DisplayBookmarksToolbar = "never";
DisplayMenuBar = "default-off";
};
profiles.dashie = {
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
ublock-origin
darkreader
privacy-badger
vimium
keepassxc-browser
i-dont-care-about-cookies
tokyo-night-v2
];
};
};
}

View file

@ -0,0 +1,26 @@
{
xdg.configFile."keepassxc/keepassxc.ini" = {
text =
''
[General]
ConfigVersion=2
[Browser]
CustomProxyLocation=
Enabled=true
[GUI]
ApplicationTheme=classic
HidePasswords=true
TrayIconAppearance=monochrome-light
[PasswordGenerator]
AdditionalChars=
ExcludedChars=
Length=18
[Security]
EnableCopyOnDoubleClick=true
'';
};
}

View file

@ -28,6 +28,7 @@ vim.g.mkdp_auto_start = 1
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.g.autoformat = false
for k, v in pairs(options) do
vim.opt[k] = v
end

View file

@ -5,179 +5,200 @@ return {
{
"neovim/nvim-lspconfig",
---@class PluginLspOpts
opts = {
format_notify = false,
-- LSP Server Settings
---@type lspconfig.options
servers = {
rust_analyzer = {
mason = false,
},
marksman = {
mason = false,
},
clangd = {
mason = false,
},
jdtls = {
mason = false,
},
gopls = {
mason = false,
},
pyright = {
mason = false,
},
ruff_lsp = {
mason = false,
},
texlab = {
mason = false,
},
taplo = {
keys = {
{
"K",
function()
if vim.fn.expand("%:t") == "Cargo.toml" and require("crates").popup_available() then
require("crates").show_popup()
else
vim.lsp.buf.hover()
end
opts = function(_, opts)
local path = vim.fn.stdpath("config") .. "/spell/ltex.dictionary.en-US.txt"
local words = {}
local file, err = io.open(path, "r")
if err ~= nil then
os.execute("mkdir " .. vim.fn.stdpath("config") .. "/spell")
file = io.open(path, "w")
file:write("")
file:close()
file = io.open(path, "r")
end
for word in file:lines() do
table.insert(words, word)
end
local new_opts = {
format_notify = false,
-- LSP Server Settings
---@type lspconfig.options
servers = {
rust_analyzer = {
mason = false,
},
marksman = {
mason = false,
},
clangd = {
mason = false,
},
jdtls = {
mason = false,
},
gopls = {
mason = false,
},
pyright = {
mason = false,
},
ruff_lsp = {
mason = false,
},
texlab = {
mason = false,
},
taplo = {
keys = {
{
"K",
function()
if vim.fn.expand("%:t") == "Cargo.toml" and require("crates").popup_available() then
require("crates").show_popup()
else
vim.lsp.buf.hover()
end
end,
desc = "Show Crate Documentation",
},
},
mason = false,
},
bashls = {
mason = false,
},
ansiblels = {
mason = false,
},
omnisharp = {
mason = false,
handlers = {
["textDocument/definition"] = function(...)
return require("omnisharp_extended").handler(...)
end,
desc = "Show Crate Documentation",
},
keys = {
{
"<leader>oe",
function()
require("omnisharp_extended").telescope_lsp_definitions()
end,
desc = "Goto Definition",
},
},
cmd = {
-- no comment
"OmniSharp",
"-z",
"--hostPID",
tostring(vim.fn.getpid()),
"DotNet:enablePackageRestore=false",
"--encoding",
"utf-8",
"--languageserver",
"FormattingOptions:EnableEditorConfigSupport=true",
"FormattingOptions:OrganizeImports=true",
"RoslynExtensionsOptions:EnableAnalyzersSupport=true",
"RoslynExtensionsOptions:EnableImportCompletion=true",
-- inlay hints are bugged until next release.....
-- "RoslynExtensionsOptions:InlayHintsOptions:EnableForParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForLiteralParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForIndexerParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForObjectCreationParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForOtherParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatDifferOnlyBySuffix=false",
-- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatMatchMethodIntent=false",
-- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatMatchArgumentName=false",
-- "RoslynExtensionsOptions:InlayHintsOptions:EnableForTypes=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForImplicitVariableTypes=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForLambdaParameterTypes=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForImplicitObjectCreation=true",
"Sdk:IncludePrereleases=true",
},
},
mason = false,
},
bashls = {
mason = false,
},
ansiblels = {
mason = false,
},
omnisharp = {
mason = false,
handlers = {
["textDocument/definition"] = function(...)
return require("omnisharp_extended").handler(...)
end,
typst_lsp = {
settings = {
experimentalFormatterMode = "on",
exportPdf = "onSave",
},
mason = false,
},
keys = {
nil_ls = {
settings = {
["nil"] = {
formatting = {
command = { "nixpkgs-fmt" },
},
},
},
mason = false,
},
ltex = {
settings = {
ltex = {
checkFrequency = "save",
dictionary = {
["en-US"] = words,
},
},
},
filetypes = {
"bib",
"gitcommit",
"markdown",
"org",
"plaintex",
"rst",
"rnoweb",
"tex",
"pandoc",
"typst",
"typ",
"text",
},
mason = false,
},
sqls = {
mason = false,
},
lemminx = {
mason = false,
},
opencl_ls = {
mason = false,
},
yamlls = {
mason = false,
},
zls = {
mason = false,
},
jsonls = {
mason = false,
cmd = { "vscode-json-languageserver", "--stdio" },
},
cssls = {
mason = false,
cmd = { "css-languageserver", "--stdio" },
},
lua_ls = {
mason = false,
{
"<leader>oe",
function()
require("omnisharp_extended").telescope_lsp_definitions()
end,
desc = "Goto Definition",
},
},
cmd = {
-- no comment
"OmniSharp",
"-z",
"--hostPID",
tostring(vim.fn.getpid()),
"DotNet:enablePackageRestore=false",
"--encoding",
"utf-8",
"--languageserver",
"FormattingOptions:EnableEditorConfigSupport=true",
"FormattingOptions:OrganizeImports=true",
"RoslynExtensionsOptions:EnableAnalyzersSupport=true",
"RoslynExtensionsOptions:EnableImportCompletion=true",
-- inlay hints are bugged until next release.....
-- "RoslynExtensionsOptions:InlayHintsOptions:EnableForParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForLiteralParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForIndexerParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForObjectCreationParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForOtherParameters=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatDifferOnlyBySuffix=false",
-- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatMatchMethodIntent=false",
-- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatMatchArgumentName=false",
-- "RoslynExtensionsOptions:InlayHintsOptions:EnableForTypes=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForImplicitVariableTypes=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForLambdaParameterTypes=true",
-- "RoslynExtensionsOptions:InlayHintsOptions:ForImplicitObjectCreation=true",
"Sdk:IncludePrereleases=true",
},
},
typst_lsp = {
settings = {
experimentalFormatterMode = "on",
exportPdf = "onSave",
},
mason = false,
},
nil_ls = {
settings = {
["nil"] = {
formatting = {
command = { "nixpkgs-fmt" },
},
},
},
mason = false,
},
ltex = {
settings = {
ltex = {
checkFrequency = "save",
},
},
filetypes = {
"bib",
"gitcommit",
"markdown",
"org",
"plaintex",
"rst",
"rnoweb",
"tex",
"pandoc",
"typst",
"typ",
},
mason = false,
},
sqls = {
mason = false,
},
lemminx = {
mason = false,
},
opencl_ls = {
mason = false,
},
yamlls = {
mason = false,
},
zls = {
mason = false,
},
jsonls = {
mason = false,
cmd = { "vscode-json-languageserver", "--stdio" },
},
cssls = {
mason = false,
cmd = { "css-languageserver", "--stdio" },
},
lua_ls = {
mason = false,
{
Lua = {
workspace = {
checkThirdParty = false,
},
completion = {
callSnippet = "Replace",
Lua = {
workspace = {
checkThirdParty = false,
},
completion = {
callSnippet = "Replace",
},
},
},
},
},
},
},
}
return vim.tbl_deep_extend("keep", new_opts, opts)
end,
init = function()
local keys = require("lazyvim.plugins.lsp.keymaps").get()
local my_keys = require("config.lsp-keymap").get()

View file

@ -281,4 +281,15 @@ return {
},
{ "akinsho/git-conflict.nvim", version = "*", config = true },
{ "Hoffs/omnisharp-extended-lsp.nvim" },
{
"barreiroleo/ltex_extra.nvim",
branch = "dev",
ft = { "markdown", "tex", "typst", "typ", "text" },
config = function()
require("ltex_extra").setup({
load_langs = { "en-US" },
path = vim.fn.stdpath("config") .. "/spell",
})
end,
},
}