YQTJKSDUZ6Y6LSJGOKBYQOPG3IG5RFMRKO2JGVUN5Q7AHPGOWFTAC NOIIBM2O5VTB7Z2JYCF567BXEVRWPMEDDHOQGP2SXSK45RK4I4JAC RJ6QEAF257GIZRTLABP3YFFKUY5M7FV6VOOQALJGUFZJOCTX5YEAC VG2RWD6ICFBMX6L5V7F54TII3625634MWFR4NBIV7CFGK6NUDIYAC OHF2JV7LDWWOS2SI2ZNMYBEUHM4PYKI7HBQBZTM5GJJJHRKXTIEAC ZLO5EAF53I56M6FKIHHD3F2NEHASJLTZPH6QUYPSLV5FXX4ABBIAC 7JXSMY6LHRP5IAYJMTKHYUOWAOFQFPG3ORTGW432GFVQ5GUKXVDQC 5G7WRBMWKG6DMCOHE6WQHTYZACUHO2UPBZRWN72CFH7P45NN5E7QC 526CRD2QD6NF6N6PQUNWZT6UUGNLMC25UYNIO7ZFUCPQCUALYN4QC GJHFP6NWDX4JTRENJY2LOUPIIJY5J7ZVOBGGJJQNK3VBCSR5WNXQC ZEOUGXHCBDP77KLSJPXH6J6QDO5HU4OLJQ2VOXDVTSQ6DYSC754QC RXJH46XLP6AFSIZZD4WEQA5A5YZLKHZ54ZUGCRH7TRAOH2Z4Q2VQC 5MVRBPXU6D5UN7IGEGOGE3OQ44RWVIRYZCZPB7KWQGKRBRK6GBLQC 35DXF42AUOL5WQKIBZNJMYRKC3HZHKNNDKYX4WTXV5UEJ2NLBOHQC R26I5RUD342S6KZ66QQFAOOI46FLEI4DSGUL7UMCXZ3S6CNJF5LAC GT35NGAHIVA7RXCZRK6OPFIC6KRVJ7SNI2AKVYLZLMVSBIKLOIEQC I4HWXLAAKJHZUQFV23XBAAEW6VTCOXO2F3AB5R6RTOHHZBZLK2VAC 5YAFV63EA5MLHUUIUDYC4LTIK4ZVXHXH4VOKORRDH5NNRTQ5GR3QC KXYLAJ5WZIXV5FQ4TU3IPHCO2YRKQBAZBW27LOA5EVWI2OLVPIIAC TCOKCTUAKA3VY42FJYXVIFI2ELCRP2ICWCGUYH4PKFJ4ESEDBT3AC 2ZWNRAAEWUQBDML63NQVIAO62UHOYIQTQQP7MD52KS3WZYQIX7ZQC NJK4RXW2F5EFM7PDLS2YFCQHR5YALN4BM3YJDZ4RFEWFRY5RUL6QC AH6HSGEDTDCT77KUZXFSBB3U22PORVZ2RFGEN2DHYJNUHG6UWDPAC N5ALVOYNQ6W3SDWKSVYTQHTFEJOCB2LXJQ4ANZFAJ5JNZFGAKK4AC {home.packages = with pkgs; [# language serverslua-language-serversvelte-language-servertailwindcss-language-serverstyluanodePackages.prettierprettierdnixfmt-rfc-stylenodejspython3gnumakevscode-extensions.vadimcn.vscode-lldb.adaptervscode-js-debugclaude-codenix-indexcomma];}ghgemini-clisteam-runmoonprotomprocsgccbunnufmtdprintruffsleeknixdgoplsvscode-json-languageserveryaml-language-serverastro-language-servertypescript-language-server{pkgs,...}:
{ pkgs, ... }:{home.packages = with pkgs; [# file navigation & searchezafdripgrepfzftree# benchmarkinghyperfine# file operationsbatvimbashnushell# network toolscurlwget# system monitoringhtop];}# gitdelta
{programs.eza.enable = true;}
'';james = ''layout {panepane size=1 borderless=true {plugin location="https://github.com/dj95/zjstatus/releases/latest/download/zjstatus.wasm" {hide_frame_for_single_pane "true"format_left "{mode} #[fg=gray]{session} {tabs}"format_center "{command_cwd}"format_right "{command_git_branch} {datetime}"format_space ""mode_normal "#[fg=#FFFFFF,bg=green] NORMAL "mode_locked "#[fg=#FFFFFF,bg=red] LOCKED "tab_normal "#[fg=#FFFFFF,bg=#7F7F7F] {index} :: {name} "tab_active "#[fg=#FFFFFF,bg=blue,bold] {index} :: {name} "datetime "#[fg=gray,bold] {format}"datetime_format "%H:%M"datetime_timezone "Europe/Warsaw"command_git_branch_command "git rev-parse --abbrev-ref HEAD"command_git_branch_format "#[fg=blue]{stdout}"command_git_branch_interval "10"command_git_branch_rendermode "static"command_cwd_command "pwd"command_cwd_format "#[fg=green] {stdout}"command_cwd_interval "5"command_cwd_rendermode "static"}}}
{programs.ripgrep = {enable = true;arguments = ["--line-number""--smart-case"];};}
{programs.fzf.enable = true;}
{programs.fd.enable = true;}
{programs.btop.enable = true;}
{environment.variables = {MANPAGER = "bat";PAGER = "bat";};programs.bat = {enable = true;config.pager = "less --quit-if-one-screen --RAW-CONTROL-CHARS";};}
{pkgs,...}:{programs.nix-index.enable = true;programs.bun.enable = true;home.packages = [pkgs.nodejspkgs.python3pkgs.gccpkgs.gnumakepkgs.steam-runpkgs.moonpkgs.protopkgs.mprocspkgs.claude-codepkgs.gemini-clipkgs.commapkgs.treepkgs.hyperfinepkgs.curlpkgs.wget];}
};};};formatter.conform-nvim = {enable = true;setupOpts = {formatters_by_ft = {astro = ["prettierd""prettier"];go = ["gofumpt""goimports"];javascript = ["prettierd""prettier"];javascriptreact = ["prettierd""prettier"];typescript = ["prettierd""prettier"];typescriptreact = ["prettierd""prettier"];json = ["prettierd""prettier"];svelte = ["prettierd""prettier"];vue = ["prettierd""prettier"];yaml = ["prettierd""prettier"];md = [ "dprint" ];toml = [ "dprint" ];lua = [ "stylua" ];sql = [ "sleek" ];python = [ "ruff_format" ];rust = [ "rustfmt" ];# nu = [ "nufmt" ];nix = [ "nixfmt" ];
# using rustaceanvim instead"vimplugin-ferris.nvim" = {enabled = false;package = pkgs.vimUtils.buildVimPlugin {name = "ferris.nvim";src = pkgs.fetchFromGitHub {owner = "vxpm";repo = "ferris.nvim";rev = "main";sha256 = "sha256-spi5Fk7HghMyhi+TqcgxRj9ME6HyJnVGyFkP+mPM010=";};};lazy = true;setupOpts = {create_commands = true;url_handler = "start";};};
};};"nvim-dap" = {package = pkgs.vimPlugins.nvim-dap;lazy = true;after = ''local dap = require('dap')dap.adapters.codelldb = {type = 'executable',command = 'codelldb',}dap.adapters["pwa-node"] = {type = "server",host = "localhost",port = "''${port}",executable = {command = "js-debug",args = {"''${port}"}},processId = require("dap.utils").pick_process,}dap.configurations.rust = {{name = 'Launch file',type = 'codelldb',request = 'launch',program = function()return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')end,cwd = vim.fn.getcwd(),stopOnEntry = false,}}dap.configurations.javascript = {{type = "pwa-node",request = "launch",name = "Launch File",program = "''${file}",cwd = "''${workspaceFolder}",}}dap.configurations.typescript = {{type = "pwa-node",request = "launch",name = "Launch File",program = "''${workspaceFolder}/../node_modules/astro/astro.js",args = { "dev" },cwd = "''${workspaceFolder}",rootPath = "''${workspaceFolder}",sourceMaps = true,console = "integratedTerminal",outFiles = {"''${workspaceFolder}/dist/**/*.js","''${workspaceFolder}/.astro/**/*.ts"},resolveSourceMapLocations = {"''${workspaceFolder}/dist/**/*.js","''${workspaceFolder}/.astro/**/*.ts"},skipFiles = {"<node_internals>/**"}}}dap.configurations.astro = dap.configurations.typescript'';};"nvim-dap-ui" = {package = pkgs.vimPlugins.nvim-dap-ui;lazy = true;setupModule = "dapui";setupOpts = {controls.enabled = false;layouts = [{elements = ["scopes""breakpoints""stacks""watches"];size = 70;position = "right";}{elements = ["repl""console"];size = 10;position = "bottom";}];
{ pkgs, ... }:{home.packages = [pkgs.styluapkgs.nodePackages.prettierpkgs.prettierdpkgs.nixfmt-rfc-stylepkgs.nufmtpkgs.dprintpkgs.ruffpkgs.sleek];programs.nvf.settings.vim.formatter = {conform-nvim = {enable = true;setupOpts = {formatters_by_ft = {astro = ["prettierd""prettier"];go = ["gofumpt""goimports"];javascript = ["prettierd""prettier"];javascriptreact = ["prettierd""prettier"];typescript = ["prettierd""prettier"];typescriptreact = ["prettierd""prettier"];json = ["prettierd""prettier"];svelte = ["prettierd""prettier"];vue = ["prettierd""prettier"];yaml = ["prettierd""prettier"];md = [ "dprint" ];toml = [ "dprint" ];lua = [ "stylua" ];sql = [ "sleek" ];python = [ "ruff_format" ];rust = [ "rustfmt" ];# nu = [ "nufmt" ];nix = [ "nixfmt" ];};format_after_save = {async = true;# lsp_format = "fallback"};};};};}
{imports = [./themes.nix./plugins-nvf.nix./plugins-custom.nix./options.nix./keymaps.nix./autocmds.nix./lsp.nix./highlights.nix./debugger.nix./formatter.nix];}
{ pkgs, ... }:{home.packages = [pkgs.vscode-extensions.vadimcn.vscode-lldb.adapterpkgs.vscode-js-debug];programs.nvf.settings.vim.lazy.plugins = {"nvim-dap" = {package = pkgs.vimPlugins.nvim-dap;lazy = true;after = ''local dap = require('dap')dap.adapters.codelldb = {type = 'executable',command = 'codelldb',}dap.adapters["pwa-node"] = {type = "server",host = "localhost",port = "''${port}",executable = {command = "js-debug",args = {"''${port}"}},processId = require("dap.utils").pick_process,}dap.configurations.rust = {{name = 'Launch file',type = 'codelldb',request = 'launch',program = function()return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')end,cwd = vim.fn.getcwd(),stopOnEntry = false,}}dap.configurations.javascript = {{type = "pwa-node",request = "launch",name = "Launch File",program = "''${file}",cwd = "''${workspaceFolder}",}}dap.configurations.typescript = {{type = "pwa-node",request = "launch",name = "Launch File",program = "''${workspaceFolder}/../node_modules/astro/astro.js",args = { "dev" },cwd = "''${workspaceFolder}",rootPath = "''${workspaceFolder}",sourceMaps = true,console = "integratedTerminal",outFiles = {"''${workspaceFolder}/dist/**/*.js","''${workspaceFolder}/.astro/**/*.ts"},resolveSourceMapLocations = {"''${workspaceFolder}/dist/**/*.js","''${workspaceFolder}/.astro/**/*.ts"},skipFiles = {"<node_internals>/**"}}}dap.configurations.astro = dap.configurations.typescript'';};"nvim-dap-ui" = {package = pkgs.vimPlugins.nvim-dap-ui;lazy = true;setupModule = "dapui";setupOpts = {controls.enabled = false;layouts = [{elements = ["scopes""breakpoints""stacks""watches"];size = 70;position = "right";}{elements = ["repl""console"];size = 10;position = "bottom";}];};# fix statusline for dap-ui widgetsafter = ''vim.o.statusline="%f"vim.api.nvim_set_hl(0, "StatusLineNC", { link = "StatusLine" })'';};};}
./nvim/themes.nix./nvim/plugins-nvf.nix./nvim/plugins-custom.nix./nvim/options.nix./nvim/keymaps.nix./nvim/autocmds.nix./nvim/lsp.nix./nvim/highlights.nix
./nvim
{imports = [./neovim.nix];}