From 6f4a849ddb7c6e3e8a6e3ec65c42802dcf862f73 Mon Sep 17 00:00:00 2001 From: DACHXY Date: Wed, 8 Jan 2025 14:23:03 +0800 Subject: [PATCH] fix: firefox desktop entry offload patch --- home/config/nvim/lua/config/lazy.lua | 2 ++ home/config/nvim/lua/plugins/lsp.lua | 8 +++++ home/user/default.nix | 1 + home/user/desktop.nix | 50 ++++++++++++++++++++++++++++ home/user/neovim.nix | 1 + home/user/programs.nix | 1 - system/modules/lsp.nix | 1 + system/modules/offload.nix | 4 ++- 8 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 home/user/desktop.nix diff --git a/home/config/nvim/lua/config/lazy.lua b/home/config/nvim/lua/config/lazy.lua index 1c17655..c4a9734 100644 --- a/home/config/nvim/lua/config/lazy.lua +++ b/home/config/nvim/lua/config/lazy.lua @@ -36,6 +36,8 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.markdown" }, { import = "lazyvim.plugins.extras.lang.nushell" }, { import = "lazyvim.plugins.extras.lang.omnisharp" }, + -- { import = "lazyvim.plugins.extras.lang.vue" }, + -- { import = "lazyvim.plugins.extras.lang.typescript" }, -- { import = "lazyvim.plugins.extras.lang.python" }, { import = "lazyvim.plugins.extras.lang.rust" }, { import = "lazyvim.plugins.extras.lang.tailwind" }, diff --git a/home/config/nvim/lua/plugins/lsp.lua b/home/config/nvim/lua/plugins/lsp.lua index c31bbdd..820aae4 100644 --- a/home/config/nvim/lua/plugins/lsp.lua +++ b/home/config/nvim/lua/plugins/lsp.lua @@ -82,6 +82,14 @@ return { cmd = { "vscode-json-languageserver", "--stdio" }, filetypes = { "json" }, }, + vuels = { + cmd = { "vue-language-server", "--stdio" }, + filetypes = { "vue" }, + }, + ts_ls = { + cmd = { "typescript-language-server", "--stdio" }, + filetypes = { "vue", "ts", "tsx" }, + }, }, }, setup = {}, diff --git a/home/user/default.nix b/home/user/default.nix index 9c6dbc2..cf298da 100644 --- a/home/user/default.nix +++ b/home/user/default.nix @@ -12,6 +12,7 @@ ./hyprland.nix ./swaync.nix ./neovim.nix + ./desktop.nix inputs.hyprland.homeManagerModules.default ]; diff --git a/home/user/desktop.nix b/home/user/desktop.nix new file mode 100644 index 0000000..444d895 --- /dev/null +++ b/home/user/desktop.nix @@ -0,0 +1,50 @@ +{ + nvidia-offload-enabled, + lib, + pkgs, + ... +}: +let + offloadScript = import ../../system/modules/offload.nix { inherit pkgs; }; + launcher = "${offloadScript}/bin/offload firefox"; +in +with lib; +{ + xdg.desktopEntries = lib.mkIf nvidia-offload-enabled { + firefox = { + actions = { + "new-private-window" = { + exec = "${launcher} --private-window %U"; + name = "New Private Window"; + }; + "new-window" = { + exec = "${launcher} --new-window %U"; + name = "New Window"; + }; + "profile-manager-window" = { + exec = "${launcher} --ProfileManager"; + name = "Profile Manager"; + }; + }; + exec = "${launcher} --name firefox %U"; + categories = [ + "Network" + "WebBrowser" + ]; + genericName = "Web Browser"; + name = "Firefox"; + startupNotify = true; + terminal = false; + type = "Application"; + icon = "firefox"; + mimeType = [ + "text/html" + "text/xml" + "application/xhtml+xml" + "application/vnd.mozilla.xul+xml" + "x-scheme-handler/http" + "x-scheme-handler/https" + ]; + }; + }; +} diff --git a/home/user/neovim.nix b/home/user/neovim.nix index 6a95665..ad1de8f 100644 --- a/home/user/neovim.nix +++ b/home/user/neovim.nix @@ -53,6 +53,7 @@ in pyright hadolint yaml-language-server + nodePackages_latest.typescript ]; programs.neovim = { diff --git a/home/user/programs.nix b/home/user/programs.nix index 5ae9c0a..0e9cfdc 100644 --- a/home/user/programs.nix +++ b/home/user/programs.nix @@ -55,5 +55,4 @@ in }; }; }; - } diff --git a/system/modules/lsp.nix b/system/modules/lsp.nix index bbbcc81..b33b1b9 100644 --- a/system/modules/lsp.nix +++ b/system/modules/lsp.nix @@ -13,5 +13,6 @@ marksman nginx-language-server nodePackages_latest.vscode-json-languageserver + bash-language-server ]; } diff --git a/system/modules/offload.nix b/system/modules/offload.nix index 229fbf4..623898e 100644 --- a/system/modules/offload.nix +++ b/system/modules/offload.nix @@ -1,4 +1,6 @@ -{ pkgs, ... }: +{ + pkgs, +}: pkgs.writeShellScriptBin "offload" '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0