diff --git a/flake.lock b/flake.lock index b935678..5b1914d 100644 --- a/flake.lock +++ b/flake.lock @@ -23,6 +23,24 @@ "type": "github" } }, + "ags": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1715703984, + "narHash": "sha256-0BZkMui6aCqswMCouvp0G90tAxDOxVnxTvG6TDZsDaI=", + "owner": "Aylur", + "repo": "ags", + "rev": "11150225e62462bcd431d1e55185e810190a730a", + "type": "github" + }, + "original": { + "owner": "Aylur", + "repo": "ags", + "type": "github" + } + }, "crane": { "inputs": { "nixpkgs": [ @@ -447,7 +465,7 @@ "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "systems": "systems_2", "xdph": "xdph" }, @@ -598,7 +616,7 @@ }, "naersk": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1717067539, @@ -639,7 +657,7 @@ "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1718501434, @@ -679,8 +697,24 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718318537, - "narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=", + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1716330097, + "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "owner": "NixOS", "repo": "nixpkgs", "rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420", @@ -693,7 +727,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1717112898, "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=", @@ -707,7 +741,7 @@ "type": "indirect" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1713805509, "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", @@ -723,7 +757,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1718208800, "narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=", @@ -738,7 +772,7 @@ "type": "indirect" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1706487304, "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", @@ -799,13 +833,14 @@ "root": { "inputs": { "agenix": "agenix", + "ags": "ags", "darwin": "darwin_2", "home-manager": "home-manager_2", "hyprland": "hyprland", "ironbar": "ironbar", "nix-vscode-extensions": "nix-vscode-extensions", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixvim": "nixvim", "nur": "nur", "rust-overlay": "rust-overlay_2", @@ -839,7 +874,7 @@ "rust-overlay_2": { "inputs": { "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1718504420, diff --git a/flake.nix b/flake.nix index 512ca03..da3e400 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,7 @@ url = "github:JakeStanger/ironbar"; inputs.nixpkgs.follows = "nixpkgs"; }; + ags.url = "github:Aylur/ags"; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/applications/libreoffice/default.nix b/modules/applications/libreoffice/default.nix new file mode 100644 index 0000000..1bf0d54 --- /dev/null +++ b/modules/applications/libreoffice/default.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + libreoffice-qt + hunspell + hunspellDicts.uk_UA + hunspellDicts.th_TH + ]; +} diff --git a/pkgs/nvim/config/filetrees/neo-tree.nix b/pkgs/nvim/config/filetrees/neo-tree.nix index c83589e..8ae67c4 100644 --- a/pkgs/nvim/config/filetrees/neo-tree.nix +++ b/pkgs/nvim/config/filetrees/neo-tree.nix @@ -1,6 +1,6 @@ { plugins.neo-tree = { - enable = false; + enable = true; enableDiagnostics = true; enableGitStatus = true; enableModifiedMarkers = true; @@ -9,9 +9,7 @@ popupBorderStyle = "rounded"; # Type: null or one of “NC”, “double”, “none”, “rounded”, “shadow”, “single”, “solid” or raw lua code buffers = { bindToCwd = false; - followCurrentFile = { - enabled = true; - }; + followCurrentFile.enabled = true; }; window = { width = 40; @@ -21,44 +19,63 @@ "" = "none"; }; }; + filesystem = { + bindToCwd = false; + followCurrentFile.enabled = true; + useLibuvFileWatcher = true; + }; + defaultComponentConfigs = { + indent = { + withExpanders = true; # if nil and file nesting is enabled, will enable expanders + expanderCollapsed = ""; + expanderExpanded = ""; + expanderHighlight = "NeoTreeExpander"; + }; + gitStatus = { + symbols = { + unstaged = "󰄱"; + staged = "󰱒"; + }; + }; + }; }; - # keymaps = [ - # { - # mode = "n"; - # key = "e"; - # action = ":Neotree toggle reveal_force_cwd"; - # options = { - # silent = true; - # desc = "Explorer NeoTree (root dir)"; - # }; - # } - # { - # mode = "n"; - # key = "E"; - # action = "Neotree toggle"; - # options = { - # silent = true; - # desc = "Explorer NeoTree (cwd)"; - # }; - # } - # { - # mode = "n"; - # key = "be"; - # action = ":Neotree buffers"; - # options = { - # silent = true; - # desc = "Buffer explorer"; - # }; - # } - # { - # mode = "n"; - # key = "ge"; - # action = ":Neotree git_status"; - # options = { - # silent = true; - # desc = "Git explorer"; - # }; - # } - # ]; + keymaps = [ + { + mode = "n"; + key = "e"; + action = ":Neotree toggle reveal_force_cwd"; + options = { + silent = true; + desc = "Explorer NeoTree (root dir)"; + }; + } + { + mode = "n"; + key = "E"; + action = "Neotree toggle"; + options = { + silent = true; + desc = "Explorer NeoTree (cwd)"; + }; + } + { + mode = "n"; + key = "be"; + action = ":Neotree buffers"; + options = { + silent = true; + desc = "Buffer explorer"; + }; + } + { + mode = "n"; + key = "ge"; + action = ":Neotree git_status"; + options = { + silent = true; + desc = "Git explorer"; + }; + } + ]; } diff --git a/pkgs/nvim/config/lsp/lsp.nix b/pkgs/nvim/config/lsp/lsp.nix index 4b1a547..9593970 100644 --- a/pkgs/nvim/config/lsp/lsp.nix +++ b/pkgs/nvim/config/lsp/lsp.nix @@ -61,8 +61,8 @@ rust-analyzer = { enable = true; - installCargo = true; - installRustc = true; + installCargo = false; + installRustc = false; settings = { checkOnSave = true; check = { diff --git a/user/environments/nixos/home.nix b/user/environments/nixos/home.nix index 49c5c92..c41636a 100644 --- a/user/environments/nixos/home.nix +++ b/user/environments/nixos/home.nix @@ -1,5 +1,6 @@ { imports = [ + ../../modules/ags ../../modules/dev.nix ../../modules/firefox.nix ../../modules/fonts.nix diff --git a/user/modules/ags/default.nix b/user/modules/ags/default.nix new file mode 100644 index 0000000..adab4d1 --- /dev/null +++ b/user/modules/ags/default.nix @@ -0,0 +1,31 @@ +{ + inputs, + pkgs, + ... +}: { + imports = [inputs.ags.homeManagerModules.default]; + + programs.ags = { + enable = true; + + extraPackages = with pkgs; [ + bun + which + dart-sass + fd + fzf + brightnessctl + swww + # inputs.matugen.packages.${system}.default + slurp + wf-recorder + wl-clipboard + wayshot + swappy + hyprpicker + pavucontrol + networkmanager + gtk3 + ]; + }; +} diff --git a/user/modules/nvim/lazy-lock.json b/user/modules/nvim/lazy-lock.json index df2d291..c94c8d5 100644 --- a/user/modules/nvim/lazy-lock.json +++ b/user/modules/nvim/lazy-lock.json @@ -1,53 +1,44 @@ { - "LazyVim": { "branch": "main", "commit": "a5f8af912de4b334cb900a9f383b6e317568f27f" }, - "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, - "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, - "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, + "LazyVim": { "branch": "main", "commit": "53f4595b4e7ee980e9446a9248862a40701959c1" }, + "bufferline.nvim": { "branch": "main", "commit": "81820cac7c85e51e4cf179f8a66d13dbf7b032d9" }, + "catppuccin": { "branch": "main", "commit": "894efb557728e532aa98b98029d16907a214ec05" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "069e971295a34a810484b7b2ef54b3c735214181" }, - "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, - "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, + "conform.nvim": { "branch": "master", "commit": "c26dadf8a47a547768d1048a0d698ecec33494ce" }, + "dashboard-nvim": { "branch": "master", "commit": "69a4c935cc43d3d725ed0600c6d00593bc23d132" }, "flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" }, - "friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" }, - "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, + "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, + "gitsigns.nvim": { "branch": "main", "commit": "fa42613096ebfa5fee1ea87d70f8625ab9685d01" }, "gruvbox.nvim": { "branch": "main", "commit": "d4cde3853a172485961b515c36d51d757728d6e6" }, - "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, + "indent-blankline.nvim": { "branch": "master", "commit": "4288ce8128a52650e401dda42fd7651a6038f262" }, "kdl.vim": { "branch": "main", "commit": "b84d7d3a15d8d30da016cf9e98e2cfbe35cddee5" }, - "lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, - "lazydev.nvim": { "branch": "main", "commit": "107231114623e2c4f90c626ec83b3120816b554e" }, + "lazy.nvim": { "branch": "main", "commit": "20af3fcc4ef2fef0cb4021543c70410567fcf9aa" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, - "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, - "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, - "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, - "mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" }, + "mini.ai": { "branch": "main", "commit": "ebf806de0292ef89b2756cfb0b55040901d1c441" }, + "mini.pairs": { "branch": "main", "commit": "18a2d9d7106d08d3560d07c03dcbf5680c8675cc" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, - "neodev.nvim": { "branch": "main", "commit": "02893eeb9d6e8503817bd52385e111cba9a90500" }, "no-neck-pain.nvim": { "branch": "main", "commit": "741ad26c4acc45f2164a3933f7825b0e555b724d" }, - "noice.nvim": { "branch": "main", "commit": "e5cb20c6e14305d24025ecb77d7d4dd9d61f1a64" }, - "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, - "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" }, - "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, + "noice.nvim": { "branch": "main", "commit": "cade1f972ba226e7753a7a113f3f1a942908e73c" }, + "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, + "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, + "nvim-lspconfig": { "branch": "master", "commit": "9c9eb07fecc578e25e28db8dc9002b43fff2ed79" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-spectre": { "branch": "master", "commit": "4d22fe03554056de4325762add3e546c77e3a275" }, - "nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" }, + "nvim-spectre": { "branch": "master", "commit": "49fae98ef2bfa8342522b337892992e3495065d5" }, + "nvim-treesitter": { "branch": "master", "commit": "53b32a6aa3e1de224e82f88cbdc08584c753adb7" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, - "nvim-web-devicons": { "branch": "master", "commit": "b4b302d6ae229f67df7a87ef69fa79473fe788a9" }, - "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, + "nvim-ts-autotag": { "branch": "main", "commit": "ddfccbf0df1b9349c2b9e9b17f4afa8f9b6c1ed1" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, + "persistence.nvim": { "branch": "main", "commit": "95d03ad5450389ad7dc2a0fab14ebb3d46bc2c96" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "3a743491e5c6be0ed0aa8c31c6905df8f66179ba" }, - "todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" }, - "tokyonight.nvim": { "branch": "main", "commit": "02e9028fe3560f38363c2d38f1c87e45eb04fdb3" }, + "rustaceanvim": { "branch": "master", "commit": "d6d7620b66d74b3b16defcf85cbef7b3582795b3" }, + "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, + "tokyonight.nvim": { "branch": "main", "commit": "30d7be361a7fbf187a881f17e574e9213d5108ea" }, "tree-sitter-asm": { "branch": "main", "commit": "b0306e9bb2ebe01c6562f1aef265cc42ccc53070" }, - "trouble.nvim": { "branch": "main", "commit": "806c50491078b66daf13c408042f2e74da46d0ff" }, + "trouble.nvim": { "branch": "main", "commit": "88c3be40c061ce053ab326ce4fdcb973a1f785ff" }, "vim-freemarker": { "branch": "master", "commit": "993bda23e72e4c074659970c1e777cb19d8cf93e" }, "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" } } \ No newline at end of file diff --git a/user/modules/nvim/lazyvim.json b/user/modules/nvim/lazyvim.json index 2e70439..29eff76 100644 --- a/user/modules/nvim/lazyvim.json +++ b/user/modules/nvim/lazyvim.json @@ -1,6 +1,7 @@ { "extras": [ - + "lazyvim.plugins.extras.dap.core", + "lazyvim.plugins.extras.lang.rust" ], "news": { "NEWS.md": "5950" diff --git a/user/modules/nvim/lua/plugins/lsp.lua b/user/modules/nvim/lua/plugins/lsp.lua index 4f2893d..0099ed4 100644 --- a/user/modules/nvim/lua/plugins/lsp.lua +++ b/user/modules/nvim/lua/plugins/lsp.lua @@ -70,8 +70,10 @@ return { javascriptreact = { { "prettierd", "prettier" } }, typescript = { { "prettierd", "prettier" } }, typescriptreact = { { "prettierd", "prettier" } }, + json = { { "prettierd", "prettier" } }, yaml = { { "prettierd", "prettier" } }, css = { { "prettierd", "prettier" } }, + markdown = { { "prettierd", "prettier" } }, }, }, }, @@ -84,4 +86,12 @@ return { { "andreshazard/vim-freemarker", }, + { + "mrcjkb/rustaceanvim", + opts = { + server = { + load_vscode_settings = true, + }, + }, + }, }