Compare commits

..

1 Commits

Author SHA1 Message Date
dichgrem
7683a7c148 build:update_flake
fix:zellij
remove:sudo-rs
add:bat&&wget
2025-11-12 17:32:50 +08:00
12 changed files with 303 additions and 449 deletions

View File

@@ -1,6 +1,6 @@
input { input {
disable-power-key-handling disable-power-key-handling
focus-follows-mouse max-scroll-amount="0%" focus-follows-mouse
warp-mouse-to-focus warp-mouse-to-focus
mouse { mouse {

80
flake.lock generated
View File

@@ -77,11 +77,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1763246168, "lastModified": 1762736304,
"narHash": "sha256-gUDJZGSOg5syHtQvLImOKL6Eaw4e1ybz4o5pid66kQg=", "narHash": "sha256-IZh6dOZf22la7rF23WwQ4y7ncrciqKqT0CUJ6abEAIk=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "6476fbdd52621b4a532309d982d468dc08204151", "rev": "45073419e0a46bf106f025858e93b633e255e402",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -172,11 +172,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762980239, "lastModified": 1762440070,
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", "narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", "rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -257,20 +257,18 @@
"gnome-shell": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.gnome.org", "lastModified": 1748186689,
"lastModified": 1762869044, "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
"narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=",
"owner": "GNOME", "owner": "GNOME",
"repo": "gnome-shell", "repo": "gnome-shell",
"rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad", "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
"type": "gitlab" "type": "github"
}, },
"original": { "original": {
"host": "gitlab.gnome.org",
"owner": "GNOME", "owner": "GNOME",
"ref": "gnome-49", "ref": "48.2",
"repo": "gnome-shell", "repo": "gnome-shell",
"type": "gitlab" "type": "github"
} }
}, },
"home-manager": { "home-manager": {
@@ -281,11 +279,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762964643, "lastModified": 1762661401,
"narHash": "sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH+PEupBJqM=", "narHash": "sha256-SVmijc8t23UMwru5f/9X1Ak5bSwvYkm0OQ5SxR7hOB0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "827f2a23373a774a8805f84ca5344654c31f354b", "rev": "c053d701d64f0727f62e0269c7940da5805bc9bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -301,11 +299,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763313531, "lastModified": 1762787259,
"narHash": "sha256-yvdCYUL85zEDp2NzPUBmaNBXP6KnWEOhAk3j7PTfsKw=", "narHash": "sha256-t2U/GLLXHa2+kJkwnFNRVc2fEJ/lUfyZXBE5iKzJdcs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "3670a78eee49deebe4825fc8ecc46b172d1a8391", "rev": "37a3d97f2873e0f68711117c34d04b7c7ead8f4e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -351,11 +349,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762951919, "lastModified": 1762452596,
"narHash": "sha256-ma/xMEGf4J6n/RdZFdxXBJUQhP53HVEPQOC6Dp2TrkQ=", "narHash": "sha256-Iaga+mkwWnWa6FxsAYknpHzeP344VCKGkdudX420LgA=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "3d248f6e8f877218dd2573fef8925ac997889922", "rev": "99919fd35e70c1b18ce948d5329928d751031312",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -389,11 +387,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1762977756, "lastModified": 1762596750,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -433,11 +431,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1763283776, "lastModified": 1762596750,
"narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=", "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a", "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -449,11 +447,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1762977756, "lastModified": 1758690382,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "rev": "e643668fd71b949c53f8626614b21ff71a07379d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -473,11 +471,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1763334942, "lastModified": 1762789067,
"narHash": "sha256-ORaewCyY3Fff+XaGrRjWi0XYzC22YTr/H3oL9c9k+9I=", "narHash": "sha256-z0VQRaEARqF5eARuAFhDixV+g5B+5IJ1iDKSUM+5EIY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "59af09b1814538b826f30eac8024d126d8c36efc", "rev": "2dc09e09cc65026f0899cc50291e244ee24835d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -553,11 +551,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763087910, "lastModified": 1762655942,
"narHash": "sha256-eB9Z1mWd1U6N61+F8qwDggX0ihM55s4E0CluwNukJRU=", "narHash": "sha256-hOM12KcQNQALrhB9w6KJmV5hPpm3GA763HRe9o7JUiI=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "cf4a68749733d45c0420726596367acd708eb2e8", "rev": "6ac961b02d4235572692241e333d0470637f5492",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -585,11 +583,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1763314990, "lastModified": 1762264356,
"narHash": "sha256-gs98KFE3X2HQ64gsIpQNsj1lKFTdkNdX+1KMQTDXEus=", "narHash": "sha256-QVfC53Ri+8n3e7Ujx9kq6all3+TLBRRPRnc6No5qY5w=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "b68e8220689a6f0393204b07be1bc14bb973a0ed", "rev": "647bb8dd96a206a1b79c4fd714affc88b409e10b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,232 +1,205 @@
{ config {
, lib config,
, pkgs lib,
, ... pkgs,
}: { ...
}: let
neo-tree-nvim-main = pkgs.vimUtils.buildVimPlugin {
pname = "neo-tree-nvim-main";
version = "3.35.2+6";
src = pkgs.fetchFromGitHub {
owner = "nvim-neo-tree";
repo = "neo-tree.nvim";
rev = "8dd9f08ff086d09d112f1873f88dc0f74b598cdb";
sha256 = "sha256-edthaqznGTJ+VFVORK7gfHI9J14PLAghG9prsWlzXtc=";
};
doCheck = false;
meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
meta.hydraPlatforms = [];
};
in {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
#Go # LazyVim
gopls
gofumpt
golines
#Lua
stylua
lua-language-server lua-language-server
stylua
#Nix
nixd
nixpkgs-fmt
#Java
google-java-format
jdt-language-server
#Rust
clippy
rustfmt
rust-analyzer
#Shell
shfmt
bash-language-server
#C/C++
clang-tools
#Kotlin
ktlint
kotlin-language-server
#Python
ruff
black
python312Packages.python-lsp-server
#JS/TS/Web
prettierd
nodePackages.prettier
jq #JSON
taplo #TOML
yamlfmt #YAML
]; ];
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
lazy-nvim lazy-nvim
]; ];
extraLuaConfig = extraLuaConfig = let
let plugins = with pkgs.vimPlugins; [
plugins = with pkgs.vimPlugins; [ LazyVim
LazyVim bufferline-nvim
bufferline-nvim cmp_luasnip
cmp_luasnip conform-nvim
conform-nvim dashboard-nvim
dashboard-nvim flash-nvim
flash-nvim friendly-snippets
friendly-snippets gitsigns-nvim
gitsigns-nvim lualine-nvim
lualine-nvim {
neo-tree-nvim name = "neo-tree.nvim";
neoconf-nvim path = neo-tree-nvim-main;
neodev-nvim }
noice-nvim neoconf-nvim
nui-nvim neodev-nvim
nvim-lint noice-nvim
nvim-lspconfig nui-nvim
nvim-notify nvim-lint
nvim-spectre nvim-lspconfig
nvim-treesitter nvim-notify
nvim-treesitter-context nvim-spectre
nvim-ts-autotag nvim-treesitter
nvim-ts-context-commentstring nvim-treesitter-context
nvim-web-devicons nvim-treesitter-textobjects
persistence-nvim nvim-ts-autotag
plenary-nvim nvim-ts-context-commentstring
todo-comments-nvim nvim-web-devicons
tokyonight-nvim persistence-nvim
trouble-nvim plenary-nvim
vim-illuminate todo-comments-nvim
vim-startuptime tokyonight-nvim
which-key-nvim trouble-nvim
fzf-lua vim-illuminate
snacks-nvim vim-startuptime
{ which-key-nvim
name = "lazydev.nvim"; fzf-lua
path = lazydev-nvim; snacks-nvim
} {
{ name = "lazydev.nvim";
name = "blink.cmp"; path = lazydev-nvim;
path = blink-cmp; }
} {
{ name = "blink.cmp";
name = "LuaSnip"; path = blink-cmp;
path = luasnip; }
} {
{ name = "LuaSnip";
name = "mini.ai"; path = luasnip;
path = mini-nvim; }
} {
{ name = "mini.ai";
name = "mini.bufremove"; path = mini-nvim;
path = mini-nvim; }
} {
{ name = "mini.bufremove";
name = "mini.comment"; path = mini-nvim;
path = mini-nvim; }
} {
{ name = "mini.comment";
name = "mini.indentscope"; path = mini-nvim;
path = mini-nvim; }
} {
{ name = "mini.indentscope";
name = "mini.pairs"; path = mini-nvim;
path = mini-nvim; }
} {
{ name = "mini.pairs";
name = "mini.surround"; path = mini-nvim;
path = mini-nvim; }
} {
{ name = "mini.surround";
name = "mini.icons"; path = mini-nvim;
path = mini-icons; }
} {
{ name = "mini.icons";
name = "grug-far.nvim"; path = mini-icons;
path = grug-far-nvim; }
} {
]; name = "grug-far.nvim";
mkEntryFromDrv = drv: path = grug-far-nvim;
if lib.isDerivation drv }
then { ];
name = "${lib.getName drv}"; mkEntryFromDrv = drv:
path = drv; if lib.isDerivation drv
} then {
else drv; name = "${lib.getName drv}";
lazyPath = pkgs.linkFarm "lazy-plugins" (builtins.map mkEntryFromDrv plugins); path = drv;
in }
'' else drv;
require("lazy").setup({ lazyPath = pkgs.linkFarm "lazy-plugins" (builtins.map mkEntryFromDrv plugins);
defaults = { in ''
lazy = true, require("lazy").setup({
defaults = {
lazy = true,
},
dev = {
-- reuse files from pkgs.vimPlugins.*
path = "${lazyPath}",
patterns = { "." },
-- fallback to download
fallback = true,
},
rocks = {
enabled = false,
hererocks = false,
},
spec = {
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- The following configs are needed for fixing lazyvim on nix
-- disable mason.nvim, use programs.neovim.extraPackages
{ "mason-org/mason-lspconfig.nvim", enabled = false },
{ "mason-org/mason.nvim", enabled = false },
-- import/override with your plugins
{ import = "lazyvim.plugins.extras.lang.go" },
{ import = "lazyvim.plugins.extras.lang.clangd" },
{ import = "lazyvim.plugins.extras.lang.rust" },
{ import = "lazyvim.plugins.extras.lang.typescript" },
{ import = "lazyvim.plugins.extras.lang.python" },
{ import = "lazyvim.plugins.extras.lang.tailwind" },
{ import = "lazyvim.plugins.extras.lang.java" },
{ import = "lazyvim.plugins.extras.lang.json" },
{ import = "lazyvim.plugins.extras.lang.yaml" },
{ import = "lazyvim.plugins.extras.lang.toml" },
{ import = "lazyvim.plugins.extras.lang.docker" },
{ import = "plugins" },
-- treesitter handled by xdg.configFile."nvim/parser", put this line at the end of spec to clear ensure_installed
{ "nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = {}
end,
}, },
dev = { },
-- reuse files from pkgs.vimPlugins.* })
path = "${lazyPath}", '';
patterns = { "." },
-- fallback to download
fallback = true,
},
rocks = {
enabled = false,
hererocks = false,
},
spec = {
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- The following configs are needed for fixing lazyvim on nix
-- disable mason.nvim, use programs.neovim.extraPackages
{ "mason-org/mason-lspconfig.nvim", enabled = false },
{ "mason-org/mason.nvim", enabled = false },
-- import/override with your plugins
{ import = "lazyvim.plugins.extras.lang.go" },
{ import = "lazyvim.plugins.extras.lang.clangd" },
{ import = "lazyvim.plugins.extras.lang.rust" },
{ import = "lazyvim.plugins.extras.lang.typescript" },
{ import = "lazyvim.plugins.extras.lang.python" },
{ import = "lazyvim.plugins.extras.lang.tailwind" },
{ import = "lazyvim.plugins.extras.lang.java" },
{ import = "lazyvim.plugins.extras.lang.json" },
{ import = "lazyvim.plugins.extras.lang.yaml" },
{ import = "lazyvim.plugins.extras.lang.toml" },
{ import = "lazyvim.plugins.extras.lang.docker" },
{ import = "lazyvim.plugins.extras.lang.kotlin" },
{ import = "lazyvim.plugins.extras.lang.dart" },
{ import = "plugins" },
-- treesitter handled by xdg.configFile."nvim/parser", put this line at the end of spec to clear ensure_installed
{ "nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = {}
end,
},
},
})
'';
}; };
# https://github.com/nvim-treesitter/nvim-treesitter#i-get-query-error-invalid-node-type-at-position # https://github.com/nvim-treesitter/nvim-treesitter#i-get-query-error-invalid-node-type-at-position
xdg.configFile."nvim/parser".source = xdg.configFile."nvim/parser".source = let
let parsers = pkgs.symlinkJoin {
parsers = pkgs.symlinkJoin { name = "treesitter-parsers";
name = "treesitter-parsers"; paths =
paths = (pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins:
(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: with plugins; [
with plugins; [ bash
bash c
c lua
go python
lua go
rust rust
java java
dart javascript
kotlin typescript
python tsx
javascript vue
typescript html
tsx css
vue json
html yaml
css toml
json dockerfile
yaml ]))
toml .dependencies;
dockerfile };
])).dependencies; in "${parsers}/parser";
};
in
"${parsers}/parser";
# Normal LazyVim config here, see https://github.com/LazyVim/starter/tree/main/lua # Normal LazyVim config here, see https://github.com/LazyVim/starter/tree/main/lua
xdg.configFile."nvim/lua".source = ./lua; xdg.configFile."nvim/lua".source = ./lua;
# Set default editor
home.sessionVariables.EDITOR = "nvim";
} }

View File

@@ -1,53 +1,53 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git" local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({ vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" }, { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" }, { out, "WarningMsg" },
{ "\nPress any key to exit..." }, { "\nPress any key to exit..." },
}, true, {}) }, true, {})
vim.fn.getchar() vim.fn.getchar()
os.exit(1) os.exit(1)
end end
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
require("lazy").setup({ require("lazy").setup({
spec = { spec = {
-- add LazyVim and import its plugins -- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" }, { "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import/override with your plugins -- import/override with your plugins
{ import = "plugins" }, { import = "plugins" },
}, },
defaults = { defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false, lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning, -- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install. -- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver -- version = "*", -- try installing the latest stable version for plugins that support semver
}, },
install = { colorscheme = { "tokyonight", "habamax" } }, install = { colorscheme = { "tokyonight", "habamax" } },
checker = { checker = {
enabled = true, -- check for plugin updates periodically enabled = true, -- check for plugin updates periodically
notify = false, -- notify on update notify = false, -- notify on update
}, -- automatically check for plugin updates }, -- automatically check for plugin updates
performance = { performance = {
rtp = { rtp = {
-- disable some rtp plugins -- disable some rtp plugins
disabled_plugins = { disabled_plugins = {
"gzip", "gzip",
-- "matchit", -- "matchit",
-- "matchparen", -- "matchparen",
-- "netrwPlugin", -- "netrwPlugin",
"tarPlugin", "tarPlugin",
"tohtml", "tohtml",
"tutor", "tutor",
"zipPlugin", "zipPlugin",
}, },
}, },
}, },
}) })

View File

@@ -1,4 +1,3 @@
-- Options are automatically loaded before lazy.nvim startup -- Options are automatically loaded before lazy.nvim startup
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here -- Add any additional options here
vim.g.autoformat = false

View File

@@ -1,68 +0,0 @@
return {
{
"stevearc/conform.nvim",
opts = function(_, opts)
opts.format_on_save = nil
opts.formatters = opts.formatters or {}
opts.formatters_by_ft = opts.formatters_by_ft or {}
opts.formatters.nixpkgs_fmt = {
command = "nixpkgs-fmt",
args = function(ctx)
return {}
end,
stdin = true,
exit_codes = { 0 },
}
-- Go
opts.formatters_by_ft.go = { "gofumpt" }
-- Lua
opts.formatters_by_ft.lua = { "stylua" }
-- Nix
opts.formatters_by_ft.nix = { "nixpkgs_fmt", stop_after_first = true }
-- Java
opts.formatters_by_ft.java = { "google_java_format" }
-- Rust
opts.formatters_by_ft.rust = { "rustfmt" }
-- Shell
opts.formatters_by_ft.sh = { "shfmt" }
-- C/C++
opts.formatters_by_ft.c = { "clang_format" }
opts.formatters_by_ft.cpp = { "clang_format" }
-- Kotlin
opts.formatters_by_ft.kotlin = { "ktlint" }
-- Python
opts.formatters_by_ft.python = { "black", "ruff_format" }
-- JS/TS/Web
opts.formatters_by_ft.javascript = { "prettierd" }
opts.formatters_by_ft.typescript = { "prettierd" }
opts.formatters_by_ft.javascriptreact = { "prettierd" }
opts.formatters_by_ft.typescriptreact = { "prettierd" }
opts.formatters_by_ft.vue = { "prettierd" }
-- JSON
opts.formatters_by_ft.json = { "jq" }
-- YAML
opts.formatters_by_ft.yaml = { "yamlfmt" }
-- TOML
opts.formatters_by_ft.toml = { "taplo" }
-- Dart / Flutter
opts.formatters_by_ft.dart = {
command = "dart",
args = function(ctx)
return { "format", ctx.bufname }
end,
stdin = false,
exit_codes = { 0 },
}
opts.default_format_opts = {
timeout_ms = 1500,
lsp_format = "fallback",
stop_after_first = false,
}
opts.log_level = vim.log.levels.ERROR
opts.notify_on_error = true
opts.notify_no_formatters = true
return opts
end,
},
}

View File

@@ -1,18 +1,18 @@
return { return {
"ojroques/nvim-osc52", "ojroques/nvim-osc52",
config = function() config = function()
require("osc52").setup({ require("osc52").setup {
max_length = 0, -- 不限制长度 max_length = 0, -- 不限制长度
silent = false, silent = false,
trim = false, trim = false,
}) }
local function copy() local function copy()
if vim.v.event.operator == "y" and vim.v.event.regname == "" then if vim.v.event.operator == "y" and vim.v.event.regname == "" then
require("osc52").copy_register("") require("osc52").copy_register("")
end end
end end
vim.api.nvim_create_autocmd("TextYankPost", { callback = copy }) vim.api.nvim_create_autocmd("TextYankPost", { callback = copy })
end, end,
} }

View File

@@ -1,30 +0,0 @@
return {
{
"LazyVim/LazyVim",
opts = {
treesitter = false,
},
},
{
"nvim-treesitter/nvim-treesitter",
event = { "BufReadPost", "BufNewFile" },
opts = {
ensure_installed = {},
auto_install = false,
highlight = { enable = true },
indent = { enable = true },
incremental_selection = {
enable = true,
keymaps = {
init_selection = "gnn",
node_incremental = "grn",
scope_incremental = "grc",
node_decremental = "grm",
},
},
},
config = function(_, opts)
require("nvim-treesitter.configs").setup(opts)
end,
},
}

View File

@@ -7,10 +7,17 @@
GPU-AMD = true; GPU-AMD = true;
### See https://nixos.wiki/wiki/AMD_GPU ### See https://nixos.wiki/wiki/AMD_GPU
GPU-Nvidia = false;
### See https://nixos.wiki/wiki/Nvidia
GPU-Intel = false;
### See https://nixos.wiki/wiki/Intel_Graphics
HotSpot-Use-Case = false;
### See https://nixos.wiki/wiki/Internet_Connection_Sharing
## Software related ## Software related
QEMU-VM-Use-Case = true; QEMU-VM-Use-Case = true;
Database-Use-Case = true;
### See https://github.com/qemu/qemu ; https://github.com/virt-manager/virt-manager ### See https://github.com/qemu/qemu ; https://github.com/virt-manager/virt-manager
# Options # Options

View File

@@ -1,17 +0,0 @@
{ hostname, lib, pkgs, ... }:
with lib; let
inherit (import ../../hosts/${hostname}/env.nix) Database-Use-Case;
in
{
config = mkIf Database-Use-Case {
services.mysql = {
enable = true;
package = pkgs.mysql84;
};
environment.systemPackages = [
pkgs.dbeaver-bin
];
};
}

View File

@@ -46,6 +46,9 @@ in {
# For OBS virtual cam support # For OBS virtual cam support
v4l-utils v4l-utils
# Editor
nano
# Networking tool # Networking tool
iperf3 iperf3
nexttrace nexttrace
@@ -55,7 +58,6 @@ in {
yt-dlp yt-dlp
#Android #Android
edl
xxd xxd
file file
binwalk binwalk
@@ -74,22 +76,12 @@ in {
# Dev # Dev
go go
zig
lua
gcc gcc
gdb gdb
cmake
clang clang
gnumake zig
rustc
cargo
dart
kotlin
flutter
jdk17
python312
pnpm
nodejs_20 nodejs_20
pnpm
]; ];
}; };

View File

@@ -44,7 +44,7 @@ with lib; {
}; };
}; };
nixpkgs = { nixpkgs = {
config.allowUnfree = true; config.allowUnfree = false;
hostPlatform = "x86_64-linux"; hostPlatform = "x86_64-linux";
}; };
} }