From 72e2f8b70bac96f713fcca34eb7e5e17fd96ca25 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 31 Jul 2021 10:30:02 -0700 Subject: [PATCH 001/177] Metals fixes --- home.nix | 2 ++ programs/neovim/init.lua | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index c93d3a7..3cc8f97 100644 --- a/home.nix +++ b/home.nix @@ -181,6 +181,7 @@ pkgs.asciinema pkgs.aspell pkgs.awscli + pkgs.bloop pkgs.cabal-install pkgs.cmake pkgs.coursier @@ -222,6 +223,7 @@ pkgs.readline pkgs.ripgrep pkgs.rnix-lsp + pkgs.sbt pkgs.shellcheck pkgs.stylua pkgs.sumneko-lua-language-server diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 1881df7..6cd9972 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -346,12 +346,26 @@ _G.load_config = function() } -- metals + vim.g.metals_server_version = '0.10.5+64-3c83447e-SNAPSHOT' vim.opt_global.shortmess:remove('F'):append 'c' Metals_config = require('metals').bare_config + Metals_config.settings = { + showImplicitArguments = true, + showInferredType = true, + bloopSbtAlreadyInstalled = true, + excludedPackages = { + "akka.actor.typed.javadsl", + "com.github.swagger.akka.javadsl", + "akka.stream.javadsl", + }, + fallbackScalaVersion = "2.13.6", + superMethodLensesEnabled = true, + javaHome = "~/.nix-profile" + } Metals_config.init_options.statusBarProvider = 'on' vim.cmd [[augroup lsp]] vim.cmd [[au!]] - vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(metals_config)]] + vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(Metals_config)]] vim.cmd [[augroup end]] -- Map :Format to vim.lsp.buf.formatting() From aed63be6d47a1a5fe2f39392c17f3e975bd58597 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 31 Jul 2021 10:46:27 -0700 Subject: [PATCH 002/177] Correct metals javaHome path --- programs/neovim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 6cd9972..0c4f9a3 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -360,7 +360,7 @@ _G.load_config = function() }, fallbackScalaVersion = "2.13.6", superMethodLensesEnabled = true, - javaHome = "~/.nix-profile" + javaHome = "/Users/salar/.nix-profile" } Metals_config.init_options.statusBarProvider = 'on' vim.cmd [[augroup lsp]] From e6d01afcce022d05bd9d7b2909897c2f17d8394d Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 31 Jul 2021 21:17:51 -0700 Subject: [PATCH 003/177] metals key mappings added --- programs/neovim/init.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 0c4f9a3..cc65036 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -294,6 +294,11 @@ _G.load_config = function() vim.api.nvim_buf_set_keymap(bufnr, 'n', '[d', 'lua vim.lsp.diagnostic.goto_prev()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ws', 'lua require"metals".worksheet_hover()', opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'a', 'lua RELOAD("metals").open_all_diagnostics()', opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'tt', 'lua require("metals.tvp").toggle_tree_view()', opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'tr', 'lua require("metals.tvp").reveal_in_tree()', opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'mc', 'lua require("telescope").extensions.metals.commands()', opts) end -- Enable the following language servers From 125ba422be9d9effa544f79f950166f063b123b6 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 31 Jul 2021 22:40:45 -0700 Subject: [PATCH 004/177] Corrections to metals mappings --- programs/neovim/init.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index cc65036..86fca92 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -251,6 +251,11 @@ _G.load_config = function() vim.api.nvim_set_keymap('n', 'gp', [[lua require('telescope.builtin').git_bcommits()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'm', [[lua require('nvim-tree').toggle()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'ng', [[lua require('neogit').open({ kind = "split" })]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'nm', [[lua require("telescope").extensions.metals.commands()]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'tt', [[lua require("metals.tvp").toggle_tree_view()]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'tr', [[lua require("metals.tvp").reveal_in_tree()]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'ws', [[lua require"metals".worksheet_hover()]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'a', [[lua RELOAD("metals").open_all_diagnostics()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'nu', ':PackerUpdate', { noremap = true, silent = true }) -- Change preview window location @@ -294,11 +299,6 @@ _G.load_config = function() vim.api.nvim_buf_set_keymap(bufnr, 'n', '[d', 'lua vim.lsp.diagnostic.goto_prev()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ws', 'lua require"metals".worksheet_hover()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'a', 'lua RELOAD("metals").open_all_diagnostics()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'tt', 'lua require("metals.tvp").toggle_tree_view()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'tr', 'lua require("metals.tvp").reveal_in_tree()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'mc', 'lua require("telescope").extensions.metals.commands()', opts) end -- Enable the following language servers From e7ff883850d70d87ea3ff4b27efbc379fe4cd0c8 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 1 Aug 2021 09:38:33 -0700 Subject: [PATCH 005/177] improvements related to nvim indentation --- programs/neovim/init.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 86fca92..d0550dc 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -45,13 +45,22 @@ end _G.load_config = function() require('gitsigns').setup() require('kommentary.config').use_extended_mappings() - require('nvim-autopairs').setup() require 'salargalaxyline' require('trouble').setup() require('which-key').setup() + require('indent_blankline').setup({ + indent_blankline_use_treesitter = true + }) local luadev = require('lua-dev').setup() + -- nvim-autopairs + require('nvim-autopairs').setup() + require('nvim-autopairs.completion.compe').setup({ + map_cr = true, + map_complete = true + }) + -- orgmode.nvim require('orgmode').setup({ org_agenda_files = {'~/Documents/org'}, From d1cebc7e244188a26ca36aacd7aff9c2b74fd724 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 2 Aug 2021 22:44:37 -0700 Subject: [PATCH 006/177] Add tabnine and a new alias --- home.nix | 1 + programs/neovim/init.lua | 2 ++ 2 files changed, 3 insertions(+) diff --git a/home.nix b/home.nix index 3cc8f97..f931b1d 100644 --- a/home.nix +++ b/home.nix @@ -162,6 +162,7 @@ v="nvim"; tabninecfg="vc /Users/salar/Library/Preferences/TabNine/TabNine.toml"; sshfre1="ssh salar@fre1.softinio.net"; + sshfre2="ssh salar@fre2.softinio.net"; }; }; diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index d0550dc..d017758 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -28,6 +28,7 @@ local function load_plugins() use { 'lewis6991/gitsigns.nvim', requires = 'nvim-lua/plenary.nvim' } use { 'TimUntersberger/neogit', requires = { { 'nvim-lua/plenary.nvim' }, { 'sindrets/diffview.nvim' } } } use { 'hrsh7th/nvim-compe', requires = 'L3MON4D3/LuaSnip' } -- Autocompletion plugin + use {'tzachar/compe-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-compe'} use 'kevinhwang91/nvim-bqf' use 'mfussenegger/nvim-dap' use 'sheerun/vim-polyglot' @@ -413,6 +414,7 @@ _G.load_config = function() buffer = true, luasnip = true, orgmode = true, + tabnine = true, }, } From 42b944eeb4c069dd2275983b030c34dab34830b5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 4 Aug 2021 22:37:43 -0700 Subject: [PATCH 007/177] added more LSP Servers to neovim --- home.nix | 12 ++++++++++++ programs/neovim/init.lua | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index f931b1d..9f30006 100644 --- a/home.nix +++ b/home.nix @@ -49,6 +49,14 @@ enable = true; }; + programs.kitty = { + enable = true; + font.name = "FiraCode Nerd Font Mono Retina"; + settings = { + font_size = 20; + }; + }; + programs.starship = { enable = true; settings = { @@ -214,6 +222,10 @@ pkgs.nixFlakes pkgs.nixfmt pkgs.nodePackages.pyright + pkgs.nodePackages.typescript-language-server + pkgs.nodePackages.vscode-html-languageserver-bin + pkgs.nodePackages.vscode-json-languageserver + pkgs.nodePackages.yaml-language-server pkgs.openssl pkgs.pandoc pkgs.pgcli diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index d017758..17fe30a 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -312,7 +312,7 @@ _G.load_config = function() end -- Enable the following language servers - local servers = { 'jdtls', 'pyright', 'rnix', 'sourcekit' } + local servers = { 'html', 'jdtls', 'jsonls', 'pyright', 'rnix', 'sourcekit', 'tsserver', 'yamlls' } for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach } end From 40e063ca588b17451ffcbd12edf8d4d250704981 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 5 Aug 2021 22:58:46 -0700 Subject: [PATCH 008/177] update to kitty settings --- home.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index 9f30006..399a254 100644 --- a/home.nix +++ b/home.nix @@ -51,9 +51,13 @@ programs.kitty = { enable = true; - font.name = "FiraCode Nerd Font Mono Retina"; + font = { + name = "FiraCode Nerd Font Mono Retina"; + size = 16; + }; settings = { - font_size = 20; + copy_on_select = true; + macos_quit_when_last_window_closed = true; }; }; From a35c9f70d0f3b60a184b637282a5c9b0e130e165 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 26 Aug 2021 18:09:35 -0700 Subject: [PATCH 009/177] Create LICENSE --- LICENSE | 214 +++++--------------------------------------------------- 1 file changed, 17 insertions(+), 197 deletions(-) diff --git a/LICENSE b/LICENSE index 261eeb9..55ba63c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,201 +1,21 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +MIT License - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) 2021 Salar Rahmanian - 1. Definitions. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 7ab92e2f76e8b1ef6ffa62c27a87e19939934d9e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 26 Aug 2021 18:11:00 -0700 Subject: [PATCH 010/177] Updates --- home.nix | 1 + programs/neovim/init.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/home.nix b/home.nix index 399a254..b434828 100644 --- a/home.nix +++ b/home.nix @@ -57,6 +57,7 @@ }; settings = { copy_on_select = true; + enabled_layouts = "*"; macos_quit_when_last_window_closed = true; }; }; diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 17fe30a..a06be39 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -244,6 +244,7 @@ _G.load_config = function() }, generic_sorter = require('telescope.sorters').get_fzy_sorter, file_sorter = require('telescope.sorters').get_fzy_sorter, + file_ignore_patterns = { "node_modules", "target"} }, } --Add leader shortcuts From 83c571cbff6cb46b122bc798f5a0485bbad6bc75 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 2 Sep 2021 22:13:27 -0700 Subject: [PATCH 011/177] Updates --- home.nix | 2 +- programs/git/default.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index b434828..7c69417 100644 --- a/home.nix +++ b/home.nix @@ -59,6 +59,7 @@ copy_on_select = true; enabled_layouts = "*"; macos_quit_when_last_window_closed = true; + scrollback_lines = 10000; }; }; @@ -236,7 +237,6 @@ pkgs.pgcli pkgs.prettyping pkgs.procs - pkgs.procs pkgs.ranger pkgs.readline pkgs.ripgrep diff --git a/programs/git/default.nix b/programs/git/default.nix index 4b10a8f..ed38898 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -6,6 +6,7 @@ let editor = "nvim"; pager = "diff-so-fancy | less --tabs=4 -RFX"; }; + init.defaultBranch = "main"; merge.tool = "intellij"; mergetool = { cmd = "idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""; From f3df47f424383089baadb19c5a4c1974904d3e2f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 7 Sep 2021 08:04:39 -0700 Subject: [PATCH 012/177] Updates --- home.nix | 39 ++++++++++++++++++++---- programs/neovim/init.lua | 64 ++++++++++++++++++++-------------------- 2 files changed, 65 insertions(+), 38 deletions(-) diff --git a/home.nix b/home.nix index 7c69417..272c850 100644 --- a/home.nix +++ b/home.nix @@ -24,17 +24,17 @@ enable = true; }; - programs.fzf = { - enable = true; - enableFishIntegration = true; - }; - programs.direnv = { enable = true; enableFishIntegration = true; nix-direnv.enable = true; }; + programs.fzf = { + enable = true; + enableFishIntegration = true; + }; + programs.gh = { enable = true; editor = "nvim"; @@ -74,6 +74,27 @@ }; }; + programs.vscode = { + enable = true; + extensions = [ + pkgs.vscode-extensions.scalameta.metals + pkgs.vscode-extensions.usernamehw.errorlens + pkgs.vscode-extensions.golang.Go + pkgs.vscode-extensions.redhat.java + pkgs.vscode-extensions.xyz.local-history + pkgs.vscode-extensions.yzhang.markdown-all-in-one + pkgs.vscode-extensions.svsool.markdown-memo + pkgs.vscode-extensions.github.vscode-pull-request-github + pkgs.vscode-extensions.github.github-vscode-theme + pkgs.vscode-extensions.jnoortheen.nix-ide + pkgs.vscode-extensions.timonwong.shellcheck + ]; + userSettings = { + telemetry.enableTelemetry = false; + workbench.colorTheme = "GitHub Dark Default"; + }; + }; + programs.fish = { enable = true; @@ -123,6 +144,8 @@ set -xg PATH $HOME/bin $PATH + set -xg PATH /Users/salar/.luarocks/bin:/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/nix/store/3qp71mhrpxxg080yc82k51nx7b5hkajr-kitty-0.21.2/Applications/kitty.app/Contents/MacOS $PATH + set -xg JAVA_HOME /Users/salar/.nix-profile/bin set -xg JDTLS_CONFIG /Users/salar/.config/jdt-language-server/config_mac @@ -138,6 +161,10 @@ set -xg TOOLCHAINS swift set -xg XDG_CONFIG_HOME $HOME/.config + + set -xg LUA_PATH "/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?.lua;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?/init.lua;/Users/salar/.luarocks/share/lua/5.1/?.lua;/Users/salar/.luarocks/share/lua/5.1/?/init.lua" + + set -xg LUA_CPATH "?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?/init.lua;/Users/salar/.luarocks/lib/lua/5.1/?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/lib/lua/5.1/?.so" ''; promptInit = '' @@ -219,6 +246,7 @@ pkgs.jansson pkgs.luajit pkgs.luajitPackages.luarocks + pkgs.luajitPackages.luasocket pkgs.maven pkgs.multimarkdown pkgs.ncdu @@ -250,7 +278,6 @@ pkgs.tokei pkgs.tree pkgs.universal-ctags - pkgs.vscodium pkgs.wget pkgs.xz pkgs.yq diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index a06be39..06a6209 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -53,8 +53,6 @@ _G.load_config = function() indent_blankline_use_treesitter = true }) - local luadev = require('lua-dev').setup() - -- nvim-autopairs require('nvim-autopairs').setup() require('nvim-autopairs.completion.compe').setup({ @@ -324,42 +322,44 @@ _G.load_config = function() table.insert(runtime_path, 'lua/?.lua') table.insert(runtime_path, 'lua/?/init.lua') - require('lspconfig').sumneko_lua.setup { - cmd = { sumneko_binary }, - commands = { - Format = { - function() - require('stylua-nvim').format_file() - end, + local luadev = require('lua-dev').setup{ + lspconfig = { + cmd = { sumneko_binary }, + commands = { + Format = { + function() + require('stylua-nvim').format_file() + end, + }, }, - }, - on_attach = on_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - -- Setup your lua path - path = runtime_path, - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { 'vim' }, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = { - vim.api.nvim_get_runtime_file('', true), - luadev, + on_attach = on_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + -- Setup your lua path + path = runtime_path, + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { 'vim' }, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = { + vim.api.nvim_get_runtime_file('', true), + }, + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, }, - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, }, }, }, } + require('lspconfig').sumneko_lua.setup(luadev) -- metals vim.g.metals_server_version = '0.10.5+64-3c83447e-SNAPSHOT' From a60be4287c70cebafbd7522aa0e3fd43a2a71a97 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 4 Oct 2021 21:32:23 -0700 Subject: [PATCH 013/177] Updates --- home.nix | 6 +++ programs/neovim/init.lua | 90 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 95 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 272c850..2c830cc 100644 --- a/home.nix +++ b/home.nix @@ -98,6 +98,10 @@ programs.fish = { enable = true; + functions = { + gitignore = "curl -sL https://www.gitignore.io/api/$argv"; + }; + plugins = [ { name = "bass"; @@ -186,6 +190,7 @@ gca="git commit -am"; gws="git status"; ghauth="gh auth login --with-token < ~/.ghauth"; + giscala="gitignore scala,vim,java,sbt > .gitignore"; gforksync="git fetch upstream && git merge upstream/master && git push origin master"; grep="grep --color=auto"; new-sbt="sbt new scala/scala-seed.g8"; @@ -265,6 +270,7 @@ pkgs.pgcli pkgs.prettyping pkgs.procs + pkgs.python38Packages.debugpy pkgs.ranger pkgs.readline pkgs.ripgrep diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 06a6209..4e1834c 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -15,6 +15,7 @@ local function load_plugins() use 'folke/tokyonight.nvim' -- Theme use { 'folke/trouble.nvim', requires = 'kyazdani42/nvim-web-devicons' } use { 'nvim-telescope/telescope.nvim', requires = { { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' } } } + use 'nvim-telescope/telescope-dap.nvim' use 'windwp/nvim-autopairs' -- Autopairs use 'kyazdani42/nvim-tree.lua' -- File explorer use { @@ -31,6 +32,9 @@ local function load_plugins() use {'tzachar/compe-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-compe'} use 'kevinhwang91/nvim-bqf' use 'mfussenegger/nvim-dap' + use 'mfussenegger/nvim-dap-python' + use 'jbyuki/one-small-step-for-vimkind' + use {'theHamsta/nvim-dap-virtual-text'} use 'sheerun/vim-polyglot' use 'scalameta/nvim-metals' use 'ray-x/lsp_signature.nvim' @@ -60,12 +64,76 @@ _G.load_config = function() map_complete = true }) + -- nvim-dap + local dap = require('dap') + dap.configurations.lua = { + { + type = 'nlua', + request = 'attach', + name = "Attach to running Neovim instance", + host = function() + local value = vim.fn.input('Host [127.0.0.1]: ') + if value ~= "" then + return value + end + return '127.0.0.1' + end, + port = function() + local val = tonumber(vim.fn.input('Port: ')) + assert(val, "Please provide a port number") + return val + end, + } + } + + dap.adapters.nlua = function(callback, config) + callback({ type = 'server', host = config.host, port = config.port or 8088 }) + end + + dap.configurations.scala = { + { + type = "scala", + request = "launch", + name = "Run", + metals = { + runType = "run", + args = { "firstArg", "secondArg", "thirdArg" }, + }, + }, + { + type = "scala", + request = "launch", + name = "Test File", + metals = { + runType = "testFile", + }, + }, + { + type = "scala", + request = "launch", + name = "Test Target", + metals = { + runType = "testTarget", + }, + }, + } + + + vim.fn.sign_define('DapBreakpoint', {text='🛑', texthl='', linehl='', numhl=''}) + vim.fn.sign_define('DapStopped', {text='⭐️', texthl='', linehl='', numhl=''}) + + require('dap-python').test_runner = 'pytest' + + -- orgmode.nvim require('orgmode').setup({ org_agenda_files = {'~/Documents/org'}, org_default_notes_file = '~/Documents/org/notes.org' }) + -- nvim-tree + require('nvim-tree').setup() + -- Treesitter require('nvim-treesitter.configs').setup { query_linter = { @@ -245,6 +313,8 @@ _G.load_config = function() file_ignore_patterns = { "node_modules", "target"} }, } + require('telescope').load_extension('dap') + --Add leader shortcuts vim.api.nvim_set_keymap('n', 'f', [[lua require('telescope.builtin').find_files()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', [[lua require('telescope.builtin').buffers()]], { noremap = true, silent = true }) @@ -308,6 +378,17 @@ _G.load_config = function() vim.api.nvim_buf_set_keymap(bufnr, 'n', '[d', 'lua vim.lsp.diagnostic.goto_prev()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dr', [[lua require('dap').repl.toggle()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ds', [[lua require('dap').ui.variables.scopes()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dk', [[lua require('dap').ui.widgets.hover()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dl', [[lua require('dap').run_last()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'db', [[lua require('dap').toggle_breakpoint()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dc', [[lua require('dap').continue()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_over()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_out()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_into()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'B', [[lua require('dap').set_breakpoint(vim.fn.input('Breakpoint condition: '))]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'lp', [[lua require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: '))]], { noremap = true, silent = true }) end -- Enable the following language servers @@ -362,7 +443,7 @@ _G.load_config = function() require('lspconfig').sumneko_lua.setup(luadev) -- metals - vim.g.metals_server_version = '0.10.5+64-3c83447e-SNAPSHOT' + vim.g.metals_server_version = '0.10.7+84-9d4bcf78-SNAPSHOT' vim.opt_global.shortmess:remove('F'):append 'c' Metals_config = require('metals').bare_config Metals_config.settings = { @@ -379,6 +460,13 @@ _G.load_config = function() javaHome = "/Users/salar/.nix-profile" } Metals_config.init_options.statusBarProvider = 'on' + Metals_config.on_attach = function(client, buffer) + vim.cmd([[autocmd CursorHold lua vim.lsp.buf.document_highlight()]]) + vim.cmd([[autocmd CursorMoved lua vim.lsp.buf.clear_references()]]) + vim.cmd([[autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()]]) + + require("metals").setup_dap() + end vim.cmd [[augroup lsp]] vim.cmd [[au!]] vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(Metals_config)]] From e518d8fb55cd63bdd57956eda0baa8f8e7f7a6e9 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 4 Oct 2021 23:02:19 -0700 Subject: [PATCH 014/177] Updates --- home.nix | 6 +++++- programs/neovim/init.lua | 16 ++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/home.nix b/home.nix index 2c830cc..4c4500a 100644 --- a/home.nix +++ b/home.nix @@ -8,6 +8,9 @@ nixpkgs.overlays = [ (import ./overlays/sumneko-lua-language-server) + (import (builtins.fetchTarball { + url = https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz; + })) ]; home = { @@ -150,7 +153,7 @@ set -xg PATH /Users/salar/.luarocks/bin:/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/nix/store/3qp71mhrpxxg080yc82k51nx7b5hkajr-kitty-0.21.2/Applications/kitty.app/Contents/MacOS $PATH - set -xg JAVA_HOME /Users/salar/.nix-profile/bin + set -xg JAVA_HOME /Users/salar/.nix-profile set -xg JDTLS_CONFIG /Users/salar/.config/jdt-language-server/config_mac @@ -283,6 +286,7 @@ pkgs.tig pkgs.tokei pkgs.tree + pkgs.tree-sitter pkgs.universal-ctags pkgs.wget pkgs.xz diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 4e1834c..5a56cad 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -319,12 +319,12 @@ _G.load_config = function() vim.api.nvim_set_keymap('n', 'f', [[lua require('telescope.builtin').find_files()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '', [[lua require('telescope.builtin').buffers()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'l', [[lua require('telescope.builtin').current_buffer_fuzzy_find()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 't', [[lua require('telescope.builtin').tags()]], { noremap = true, silent = true }) + -- vim.api.nvim_set_keymap('n', 't', [[lua require('telescope.builtin').tags()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '?', [[lua require('telescope.builtin').oldfiles()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'sd', [[lua require('telescope.builtin').grep_string()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'sp', [[lua require('telescope.builtin').live_grep()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'o', [[lua require('telescope.builtin').tags{ only_current_buffer = true }]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'gc', [[lua require('telescope.builtin').git_commits()]], { noremap = true, silent = true }) + -- vim.api.nvim_set_keymap('n', 'o', [[lua require('telescope.builtin').tags{ only_current_buffer = true }]], { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'gco', [[lua require('telescope.builtin').git_commits()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'gb', [[lua require('telescope.builtin').git_branches()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'gs', [[lua require('telescope.builtin').git_status()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'gp', [[lua require('telescope.builtin').git_bcommits()]], { noremap = true, silent = true }) @@ -382,7 +382,7 @@ _G.load_config = function() vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ds', [[lua require('dap').ui.variables.scopes()]], { noremap = true, silent = true }) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dk', [[lua require('dap').ui.widgets.hover()]], { noremap = true, silent = true }) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dl', [[lua require('dap').run_last()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'db', [[lua require('dap').toggle_breakpoint()]], { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dz', [[lua require('dap').toggle_breakpoint()]], { noremap = true, silent = true }) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dc', [[lua require('dap').continue()]], { noremap = true, silent = true }) vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_over()]], { noremap = true, silent = true }) vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_out()]], { noremap = true, silent = true }) @@ -460,10 +460,10 @@ _G.load_config = function() javaHome = "/Users/salar/.nix-profile" } Metals_config.init_options.statusBarProvider = 'on' - Metals_config.on_attach = function(client, buffer) - vim.cmd([[autocmd CursorHold lua vim.lsp.buf.document_highlight()]]) - vim.cmd([[autocmd CursorMoved lua vim.lsp.buf.clear_references()]]) - vim.cmd([[autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()]]) + Metals_config.on_attach = function(client, bufnr) +-- vim.cmd([[autocmd CursorHold lua vim.lsp.buf.document_highlight()]]) +-- vim.cmd([[autocmd CursorMoved lua vim.lsp.buf.clear_references()]]) +-- vim.cmd([[autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()]]) require("metals").setup_dap() end From d11065e7f94b23f4a2550c90c8c34999d4c02e20 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 11 Oct 2021 00:24:25 -0700 Subject: [PATCH 015/177] VSCode updates --- home.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 4c4500a..0577d4e 100644 --- a/home.nix +++ b/home.nix @@ -91,10 +91,14 @@ pkgs.vscode-extensions.github.github-vscode-theme pkgs.vscode-extensions.jnoortheen.nix-ide pkgs.vscode-extensions.timonwong.shellcheck + pkgs.vscode-extensions.skyapps.fish-vscode + pkgs.vscode-extensions.baccata.scaladex-search + pkgs.vscode-extensions.davidanson.vscode-markdownlint ]; userSettings = { telemetry.enableTelemetry = false; - workbench.colorTheme = "GitHub Dark Default"; + workbench.colorTheme = "Solarized Light"; + workbench.iconTheme = "vscode-icons"; }; }; From c12acd536a7e1102bd8c11dcde95cbe55b0c2382 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 11 Oct 2021 00:52:14 -0700 Subject: [PATCH 016/177] VSCode updates --- home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home.nix b/home.nix index 0577d4e..2a57868 100644 --- a/home.nix +++ b/home.nix @@ -96,6 +96,8 @@ pkgs.vscode-extensions.davidanson.vscode-markdownlint ]; userSettings = { + editor.fontFamily = "FiraCode Nerd Font Mono Retina"; + editor.fontSize = 16; telemetry.enableTelemetry = false; workbench.colorTheme = "Solarized Light"; workbench.iconTheme = "vscode-icons"; From c6e36add60a9d00373d8e88e78b80d04953f4673 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 7 Nov 2021 13:24:41 -0800 Subject: [PATCH 017/177] Changes from new updates, cleanup --- home.nix | 29 ++++++++++--------------- programs/neovim/init.lua | 47 ++++++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 41 deletions(-) diff --git a/home.nix b/home.nix index 2a57868..ddc5d9a 100644 --- a/home.nix +++ b/home.nix @@ -40,8 +40,10 @@ programs.gh = { enable = true; - editor = "nvim"; - gitProtocol = "ssh"; + settings = { + editor = "nvim"; + git_protocol = "ssh"; + }; }; programs.htop = { @@ -82,7 +84,6 @@ extensions = [ pkgs.vscode-extensions.scalameta.metals pkgs.vscode-extensions.usernamehw.errorlens - pkgs.vscode-extensions.golang.Go pkgs.vscode-extensions.redhat.java pkgs.vscode-extensions.xyz.local-history pkgs.vscode-extensions.yzhang.markdown-all-in-one @@ -155,7 +156,7 @@ fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh end - set -xg PATH $HOME/bin $PATH + set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH set -xg PATH /Users/salar/.luarocks/bin:/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/nix/store/3qp71mhrpxxg080yc82k51nx7b5hkajr-kitty-0.21.2/Applications/kitty.app/Contents/MacOS $PATH @@ -180,7 +181,7 @@ set -xg LUA_CPATH "?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?/init.lua;/Users/salar/.luarocks/lib/lua/5.1/?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/lib/lua/5.1/?.so" ''; - promptInit = '' + interactiveShellInit = '' eval (direnv hook fish) any-nix-shell fish --info-right | source ''; @@ -234,11 +235,8 @@ home.packages = [ pkgs.adoptopenjdk-bin pkgs.any-nix-shell - pkgs.asciinema pkgs.aspell - pkgs.awscli pkgs.bloop - pkgs.cabal-install pkgs.cmake pkgs.coursier pkgs.curlFull @@ -247,16 +245,11 @@ pkgs.exa pkgs.fd pkgs.ffmpeg - pkgs.ghcid pkgs.gitAndTools.diff-so-fancy pkgs.global pkgs.gnupg - pkgs.gradle - pkgs.graphviz - pkgs.hlint - pkgs.httpie + pkgs.go pkgs.hugo - pkgs.hyperfine pkgs.jansson pkgs.luajit pkgs.luajitPackages.luarocks @@ -276,15 +269,17 @@ pkgs.nodePackages.yaml-language-server pkgs.openssl pkgs.pandoc - pkgs.pgcli pkgs.prettyping pkgs.procs - pkgs.python38Packages.debugpy - pkgs.ranger + pkgs.python3Full + pkgs.python39Packages.debugpy pkgs.readline pkgs.ripgrep + pkgs.ripgrep-all pkgs.rnix-lsp + pkgs.rustup pkgs.sbt + pkgs.scala-cli pkgs.shellcheck pkgs.stylua pkgs.sumneko-lua-language-server diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 5a56cad..c5a3949 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -16,6 +16,7 @@ local function load_plugins() use { 'folke/trouble.nvim', requires = 'kyazdani42/nvim-web-devicons' } use { 'nvim-telescope/telescope.nvim', requires = { { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' } } } use 'nvim-telescope/telescope-dap.nvim' + use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } use 'windwp/nvim-autopairs' -- Autopairs use 'kyazdani42/nvim-tree.lua' -- File explorer use { @@ -41,7 +42,6 @@ local function load_plugins() use 'b3nj5m1n/kommentary' use 'ckipp01/stylua-nvim' use 'gennaro-tedesco/nvim-jqx' - use 'kristijanhusak/orgmode.nvim' use 'p00f/nvim-ts-rainbow' use 'christoomey/vim-tmux-navigator' end) @@ -124,13 +124,6 @@ _G.load_config = function() require('dap-python').test_runner = 'pytest' - - -- orgmode.nvim - require('orgmode').setup({ - org_agenda_files = {'~/Documents/org'}, - org_default_notes_file = '~/Documents/org/notes.org' - }) - -- nvim-tree require('nvim-tree').setup() @@ -308,12 +301,19 @@ _G.load_config = function() [''] = false, }, }, - generic_sorter = require('telescope.sorters').get_fzy_sorter, - file_sorter = require('telescope.sorters').get_fzy_sorter, - file_ignore_patterns = { "node_modules", "target"} + file_ignore_patterns = { "node_modules", "target"}, + extensions = { + fzf = { + fuzzy = true, + override_generic_sorter = true, + override_file_sorter = true, + case_mode = "smart_case" + } + } }, } require('telescope').load_extension('dap') + require('telescope').load_extension('fzf') --Add leader shortcuts vim.api.nvim_set_keymap('n', 'f', [[lua require('telescope.builtin').find_files()]], { noremap = true, silent = true }) @@ -443,10 +443,10 @@ _G.load_config = function() require('lspconfig').sumneko_lua.setup(luadev) -- metals - vim.g.metals_server_version = '0.10.7+84-9d4bcf78-SNAPSHOT' - vim.opt_global.shortmess:remove('F'):append 'c' - Metals_config = require('metals').bare_config - Metals_config.settings = { + -- vim.g.metals_server_version = '0.10.7+84-9d4bcf78-SNAPSHOT' + -- vim.opt_global.shortmess:remove('F'):append 'c' + local metals_config = require('metals').bare_config() + metals_config.settings = { showImplicitArguments = true, showInferredType = true, bloopSbtAlreadyInstalled = true, @@ -459,19 +459,19 @@ _G.load_config = function() superMethodLensesEnabled = true, javaHome = "/Users/salar/.nix-profile" } - Metals_config.init_options.statusBarProvider = 'on' - Metals_config.on_attach = function(client, bufnr) --- vim.cmd([[autocmd CursorHold lua vim.lsp.buf.document_highlight()]]) --- vim.cmd([[autocmd CursorMoved lua vim.lsp.buf.clear_references()]]) --- vim.cmd([[autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()]]) + metals_config.init_options.statusBarProvider = 'on' + metals_config.on_attach = function(client, bufnr) + vim.cmd([[autocmd CursorHold lua vim.lsp.buf.document_highlight()]]) + vim.cmd([[autocmd CursorMoved lua vim.lsp.buf.clear_references()]]) + vim.cmd([[autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()]]) - require("metals").setup_dap() + require("metals").setup_dap() end vim.cmd [[augroup lsp]] vim.cmd [[au!]] - vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(Metals_config)]] + vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(metals_config)]] vim.cmd [[augroup end]] - + -- Map :Format to vim.lsp.buf.formatting() vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]] @@ -502,7 +502,6 @@ _G.load_config = function() nvim_lua = true, buffer = true, luasnip = true, - orgmode = true, tabnine = true, }, } From 0e8e4c015c756aa3c9a6164977e4fadd700383d5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 13 Nov 2021 10:53:27 -0800 Subject: [PATCH 018/177] Add scaladex.nvim to neovim configuration --- programs/neovim/init.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index c5a3949..41272a4 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -17,6 +17,7 @@ local function load_plugins() use { 'nvim-telescope/telescope.nvim', requires = { { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' } } } use 'nvim-telescope/telescope-dap.nvim' use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } + use { 'softinio/scaladex.nvim' } use 'windwp/nvim-autopairs' -- Autopairs use 'kyazdani42/nvim-tree.lua' -- File explorer use { @@ -314,6 +315,7 @@ _G.load_config = function() } require('telescope').load_extension('dap') require('telescope').load_extension('fzf') + require('telescope').load_extension('scaladex') --Add leader shortcuts vim.api.nvim_set_keymap('n', 'f', [[lua require('telescope.builtin').find_files()]], { noremap = true, silent = true }) @@ -336,6 +338,8 @@ _G.load_config = function() vim.api.nvim_set_keymap('n', 'ws', [[lua require"metals".worksheet_hover()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'a', [[lua RELOAD("metals").open_all_diagnostics()]], { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'nu', ':PackerUpdate', { noremap = true, silent = true }) + vim.api.nvim_set_keymap('n', 'si', [[lua require('telescope').extensions.scaladex.scaladex.search()]], { noremap = true, silent = true }) + -- Change preview window location vim.g.splitbelow = true From c879374ca32626320c7cf704fdda701aef7b81a7 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 13 Nov 2021 10:55:04 -0800 Subject: [PATCH 019/177] removed extra line --- programs/neovim/init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 41272a4..64edf1c 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -340,7 +340,6 @@ _G.load_config = function() vim.api.nvim_set_keymap('n', 'nu', ':PackerUpdate', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', 'si', [[lua require('telescope').extensions.scaladex.scaladex.search()]], { noremap = true, silent = true }) - -- Change preview window location vim.g.splitbelow = true From cc0fd60226349b391a130beddb7818e2912cefbd Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 7 Aug 2022 22:50:23 -0700 Subject: [PATCH 020/177] initial changes to upgrade to flakes --- darwin-configuration.nix | 35 ++++++++++ flake.nix | 34 ++++++++++ home.nix | 136 ++++++++++++++++++++------------------- programs/git/default.nix | 28 ++++++-- 4 files changed, 159 insertions(+), 74 deletions(-) create mode 100644 darwin-configuration.nix create mode 100644 flake.nix diff --git a/darwin-configuration.nix b/darwin-configuration.nix new file mode 100644 index 0000000..7c57259 --- /dev/null +++ b/darwin-configuration.nix @@ -0,0 +1,35 @@ +{ pkgs, nix, nixpkgs, config, lib, ... }: +{ + environment.systemPackages = with pkgs; + [ + home-manager + ]; + + fonts = { + fontDir.enable = true; + fonts = with pkgs; [ + fira-code + ]; + }; + + programs.fish.enable = true; + + system.stateVersion = 4; + users = { + users.salar = { + home = /Users/salar; + }; + }; + + nix = { + nixPath = lib.mkForce [ + "nixpkgs=${nixpkgs}" + ]; + package = pkgs.nixUnstable; + extraOptions = '' + experimental-features = nix-command flakes + ''; + distributedBuilds = false; + }; + services.nix-daemon.enable = true; +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..4cd500c --- /dev/null +++ b/flake.nix @@ -0,0 +1,34 @@ +{ + description = "Nix and home-manager configurations for Softinio's macbook"; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nur.url = github:nix-community/nur; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + darwin = { + url = "github:lnl7/nix-darwin/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + outputs = {darwin, home-manager, nur, nixpkgs, ...}: + let + homeManagerConfFor = config: { ... }: { + nixpkgs.overlays = [ nur.overlay ]; + imports = [ config ]; + }; + darwinSystem = darwin.lib.darwinSystem { + system = "x86_64-darwin"; + modules = [ + ./darwin-configuration.nix + home-manager.darwinModules.home-manager { + home-manager.users.salar = homeManagerConfFor ./home.nix; + } + ]; + specialArgs = { inherit nixpkgs; }; + }; + in { + defaultPackage.x86_64-darwin = darwinSystem.system; + }; +} diff --git a/home.nix b/home.nix index ddc5d9a..1ebff8a 100644 --- a/home.nix +++ b/home.nix @@ -8,9 +8,9 @@ nixpkgs.overlays = [ (import ./overlays/sumneko-lua-language-server) - (import (builtins.fetchTarball { - url = https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz; - })) + # (import (builtins.fetchTarball { + # url = https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz; + # })) ]; home = { @@ -21,6 +21,71 @@ EDITOR = "nvim"; VISUAL = "$EDITOR"; }; + packages = with pkgs; [ + ( python39.withPackages (ps: with ps; [ pip flake8 black ]) ) + adoptopenjdk-bin + any-nix-shell + aspell + bloop + cabal-install + cachix + cmake + coursier + curlFull + exa + fd + ffmpeg + gitAndTools.diff-so-fancy + gnupg + go + haskellPackages.implicit-hie + hugo + lazydocker + luajit + luajitPackages.luarocks + luajitPackages.luasocket + lorri + maven + multimarkdown + mypy + ncdu + neofetch + neovim + niv + nix-index + nixfmt + nodePackages.pyright + nodePackages.typescript-language-server + nodePackages.vscode-html-languageserver-bin + nodePackages.vscode-json-languageserver + nodePackages.yaml-language-server + openssl + pandoc + patchelf + poetry + procs + rclone + readline + ripgrep + ripgrep-all + rnix-lsp + rustup + sbt + scala-cli + shellcheck + sqlite + stylua + stack + # sumneko-lua-language-server + tealdeer + tig + tokei + tree + tree-sitter + wget + xz + yq + ]; }; programs.bat = { @@ -29,7 +94,6 @@ programs.direnv = { enable = true; - enableFishIntegration = true; nix-direnv.enable = true; }; @@ -218,7 +282,7 @@ v="nvim"; tabninecfg="vc /Users/salar/Library/Preferences/TabNine/TabNine.toml"; sshfre1="ssh salar@fre1.softinio.net"; - sshfre2="ssh salar@fre2.softinio.net"; + sshfre2="ssh -p 2022 salar@fre2.softinio.net"; }; }; @@ -231,66 +295,4 @@ # Neovim Configuration xdg.configFile."nvim/lua/salargalaxyline.lua".source = programs/neovim/settings/salargalaxyline.lua; xdg.configFile."nvim/init.lua".source = programs/neovim/init.lua; - - home.packages = [ - pkgs.adoptopenjdk-bin - pkgs.any-nix-shell - pkgs.aspell - pkgs.bloop - pkgs.cmake - pkgs.coursier - pkgs.curlFull - pkgs.direnv - pkgs.dust - pkgs.exa - pkgs.fd - pkgs.ffmpeg - pkgs.gitAndTools.diff-so-fancy - pkgs.global - pkgs.gnupg - pkgs.go - pkgs.hugo - pkgs.jansson - pkgs.luajit - pkgs.luajitPackages.luarocks - pkgs.luajitPackages.luasocket - pkgs.maven - pkgs.multimarkdown - pkgs.ncdu - pkgs.neofetch - pkgs.neovim - pkgs.niv - pkgs.nixFlakes - pkgs.nixfmt - pkgs.nodePackages.pyright - pkgs.nodePackages.typescript-language-server - pkgs.nodePackages.vscode-html-languageserver-bin - pkgs.nodePackages.vscode-json-languageserver - pkgs.nodePackages.yaml-language-server - pkgs.openssl - pkgs.pandoc - pkgs.prettyping - pkgs.procs - pkgs.python3Full - pkgs.python39Packages.debugpy - pkgs.readline - pkgs.ripgrep - pkgs.ripgrep-all - pkgs.rnix-lsp - pkgs.rustup - pkgs.sbt - pkgs.scala-cli - pkgs.shellcheck - pkgs.stylua - pkgs.sumneko-lua-language-server - pkgs.tealdeer - pkgs.tig - pkgs.tokei - pkgs.tree - pkgs.tree-sitter - pkgs.universal-ctags - pkgs.wget - pkgs.xz - pkgs.yq - ]; } diff --git a/programs/git/default.nix b/programs/git/default.nix index ed38898..e044ac4 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -7,6 +7,7 @@ let pager = "diff-so-fancy | less --tabs=4 -RFX"; }; init.defaultBranch = "main"; + merge.conflictStyle = "diff3"; merge.tool = "intellij"; mergetool = { cmd = "idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""; @@ -23,20 +24,24 @@ let insteadOf = "https://github.com/"; }; }; + fetch.prune = true; pull = { rebase = true; }; }; -in -{ - programs.git = { - enable = true; - userEmail = "code@softinio.com"; - userName = "Salar Rahmanian"; - ignores = [ + myAliases = { + ci = "commit"; + co = "checkout"; + main = "checkout main"; + master = "checkout master"; + }; + myIgnores = [ "*~" ".DS_Store" "*.bloop" + ".direnv/" + ".idea/" + ".mypy_cache" "*.metals" "*.metals.sbt" "*metals.sbt" @@ -47,7 +52,16 @@ in "*.idea" "*.vscode" "*.python-version" + "result" ]; +in +{ + programs.git = { + enable = true; + userEmail = "code@softinio.com"; + userName = "Salar Rahmanian"; + aliases = myAliases; + ignores = myIgnores; extraConfig = gitConfig; }; } From dac860df2d331c6acbfa13a211dbf2c5ce9eed5f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 7 Aug 2022 22:54:32 -0700 Subject: [PATCH 021/177] Resolve conflict related to user directory --- home.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home.nix b/home.nix index 1ebff8a..0634a9d 100644 --- a/home.nix +++ b/home.nix @@ -14,8 +14,8 @@ ]; home = { - username = "salar"; - homeDirectory = "/Users/salar"; + # username = "salar"; + # homeDirectory = "/Users/salar"; stateVersion = "21.11"; sessionVariables = { EDITOR = "nvim"; @@ -54,6 +54,7 @@ niv nix-index nixfmt + nixFlakes nodePackages.pyright nodePackages.typescript-language-server nodePackages.vscode-html-languageserver-bin @@ -63,7 +64,6 @@ pandoc patchelf poetry - procs rclone readline ripgrep From fd191d0dd957d78e23a4984be755b52e774eda8f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 8 Aug 2022 00:37:22 -0700 Subject: [PATCH 022/177] Added support for unfree to home file --- flake.lock | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++ home.nix | 6 ++-- 2 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 flake.lock diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..ba60535 --- /dev/null +++ b/flake.lock @@ -0,0 +1,102 @@ +{ + "nodes": { + "darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1657835815, + "narHash": "sha256-CnZszAYpNKydh6N7+xg+eRtWNVoAAGqc6bg+Lpgq1xc=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "54a24f042f93c79f5679f133faddedec61955cf2", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1659878744, + "narHash": "sha256-81a9Mx5pDMBGN4WnVhcQVkW5mXNTZOt8DZOSI8bVKpU=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "f5e9879e74e6202e2dbb3628fad2d20eac0d8be4", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1659803779, + "narHash": "sha256-+5zkHlbcbFyN5f3buO1RAZ9pH1wXLxCesUJ0vFmLr9Y=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f44884060cb94240efbe55620f38a8ec8d9af601", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "locked": { + "lastModified": 1659937593, + "narHash": "sha256-tJBCAV7GwxxisvnlUK5YWwzeCm4q9OGgvEE9WFiypiI=", + "owner": "nix-community", + "repo": "nur", + "rev": "6daa0a7c4ae5c3951ac945b299d40e232674aaaf", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nur", + "type": "github" + } + }, + "root": { + "inputs": { + "darwin": "darwin", + "home-manager": "home-manager", + "nixpkgs": "nixpkgs", + "nur": "nur" + } + }, + "utils": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/home.nix b/home.nix index 0634a9d..3b11eab 100644 --- a/home.nix +++ b/home.nix @@ -13,9 +13,11 @@ # })) ]; + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "vscode" + ]; + home = { - # username = "salar"; - # homeDirectory = "/Users/salar"; stateVersion = "21.11"; sessionVariables = { EDITOR = "nvim"; From a7fc11fcde93dcc54baf0e0786c2250bc536138f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 13 Aug 2022 11:16:38 -0700 Subject: [PATCH 023/177] temp remove treesitter from nvim --- programs/neovim/init.lua | 160 +++++++++++++++++++-------------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 64edf1c..744d577 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -7,9 +7,9 @@ local function load_plugins() require('packer').startup(function() use 'wbthomason/packer.nvim' -- Package manager use 'neovim/nvim-lspconfig' -- Collection of configurations for built-in LSP client - use 'nvim-treesitter/nvim-treesitter' - use 'nvim-treesitter/nvim-treesitter-textobjects' - use 'nvim-treesitter/playground' + -- use 'nvim-treesitter/nvim-treesitter' + -- use 'nvim-treesitter/nvim-treesitter-textobjects' + -- use 'nvim-treesitter/playground' use 'folke/which-key.nvim' use 'folke/lua-dev.nvim' use 'folke/tokyonight.nvim' -- Theme @@ -129,83 +129,83 @@ _G.load_config = function() require('nvim-tree').setup() -- Treesitter - require('nvim-treesitter.configs').setup { - query_linter = { - enable = true, - use_virtual_text = true, - lint_events = { 'BufWrite', 'CursorHold' }, - }, - ensure_installed = 'maintained', - highlight = { enable = true }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = 'gnn', - node_incremental = 'grn', - scope_incremental = 'grc', - node_decremental = 'grm', - }, - }, - indent = { - enable = true, - }, - textobjects = { - select = { - enable = true, - lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim - keymaps = { - -- You can use the capture groups defined in textobjects.scm - ['af'] = '@function.outer', - ['if'] = '@function.inner', - ['ac'] = '@class.outer', - ['ic'] = '@class.inner', - }, - }, - move = { - enable = true, - set_jumps = true, -- whether to set jumps in the jumplist - goto_next_start = { - [']m'] = '@function.outer', - [']]'] = '@class.outer', - }, - goto_next_end = { - [']M'] = '@function.outer', - [']['] = '@class.outer', - }, - goto_previous_start = { - ['[m'] = '@function.outer', - ['[['] = '@class.outer', - }, - goto_previous_end = { - ['[M'] = '@function.outer', - ['[]'] = '@class.outer', - }, - }, - }, - playground = { - enable = true, - disable = {}, - updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code - persist_queries = false, -- Whether the query persists across vim sessions - keybindings = { - toggle_query_editor = 'o', - toggle_hl_groups = 'i', - toggle_injected_languages = 't', - toggle_anonymous_nodes = 'a', - toggle_language_display = 'I', - focus_language = 'f', - unfocus_language = 'F', - update = 'R', - goto_node = '', - show_help = '?', - }, - }, - rainbow = { - enable = true, - extended_mode = true, - max_file_lines = 1000, - }, - } + -- require('nvim-treesitter.configs').setup { + -- query_linter = { + -- enable = true, + -- use_virtual_text = true, + -- lint_events = { 'BufWrite', 'CursorHold' }, + -- }, + -- ensure_installed = 'maintained', + -- highlight = { enable = true }, + -- incremental_selection = { + -- enable = true, + -- keymaps = { + -- init_selection = 'gnn', + -- node_incremental = 'grn', + -- scope_incremental = 'grc', + -- node_decremental = 'grm', + -- }, + -- }, + -- indent = { + -- enable = true, + -- }, + -- textobjects = { + -- select = { + -- enable = true, + -- lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim + -- keymaps = { + -- -- You can use the capture groups defined in textobjects.scm + -- ['af'] = '@function.outer', + -- ['if'] = '@function.inner', + -- ['ac'] = '@class.outer', + -- ['ic'] = '@class.inner', + -- }, + -- }, + -- move = { + -- enable = true, + -- set_jumps = true, -- whether to set jumps in the jumplist + -- goto_next_start = { + -- [']m'] = '@function.outer', + -- [']]'] = '@class.outer', + -- }, + -- goto_next_end = { + -- [']M'] = '@function.outer', + -- [']['] = '@class.outer', + -- }, + -- goto_previous_start = { + -- ['[m'] = '@function.outer', + -- ['[['] = '@class.outer', + -- }, + -- goto_previous_end = { + -- ['[M'] = '@function.outer', + -- ['[]'] = '@class.outer', + -- }, + -- }, + -- }, + -- playground = { + -- enable = true, + -- disable = {}, + -- updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code + -- persist_queries = false, -- Whether the query persists across vim sessions + -- keybindings = { + -- toggle_query_editor = 'o', + -- toggle_hl_groups = 'i', + -- toggle_injected_languages = 't', + -- toggle_anonymous_nodes = 'a', + -- toggle_language_display = 'I', + -- focus_language = 'f', + -- unfocus_language = 'F', + -- update = 'R', + -- goto_node = '', + -- show_help = '?', + -- }, + -- }, + -- rainbow = { + -- enable = true, + -- extended_mode = true, + -- max_file_lines = 1000, + -- }, + -- } -- neogit require('neogit').setup { From d89ca3c8aa7473b56fbe2b3543a433bb12d2e9f5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 13 Aug 2022 12:00:34 -0700 Subject: [PATCH 024/177] post flakes cleanup and neovim updates --- home.nix | 11 +-- programs/neovim/init.lua | 171 +++++++++++++++++++++------------------ 2 files changed, 94 insertions(+), 88 deletions(-) diff --git a/home.nix b/home.nix index 3b11eab..3f6e609 100644 --- a/home.nix +++ b/home.nix @@ -78,7 +78,7 @@ sqlite stylua stack - # sumneko-lua-language-server + sumneko-lua-language-server tealdeer tig tokei @@ -270,19 +270,14 @@ gforksync="git fetch upstream && git merge upstream/master && git push origin master"; grep="grep --color=auto"; new-sbt="sbt new scala/scala-seed.g8"; - nixre="home-manager switch"; - nixedit="home-manager edit"; + nixre="nix build && sudo ./result/activate"; nixinfo="nix-shell -p nix-info --run \"nix-info -m\""; nixgc="nix-collect-garbage -d"; nixq="nix-env -qa"; - nixupdate="nix-channel --update"; - nixupgrade="nix upgrade-nix"; - nixup="nix-env -u"; + nixupdate="sudo nix-channel --update"; nixversion="nix eval nixpkgs.lib.version"; - nixdaemon="sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && launchctl start org.nixos.nix-daemon"; rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; v="nvim"; - tabninecfg="vc /Users/salar/Library/Preferences/TabNine/TabNine.toml"; sshfre1="ssh salar@fre1.softinio.net"; sshfre2="ssh -p 2022 salar@fre2.softinio.net"; }; diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 744d577..5d77265 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -7,9 +7,9 @@ local function load_plugins() require('packer').startup(function() use 'wbthomason/packer.nvim' -- Package manager use 'neovim/nvim-lspconfig' -- Collection of configurations for built-in LSP client - -- use 'nvim-treesitter/nvim-treesitter' - -- use 'nvim-treesitter/nvim-treesitter-textobjects' - -- use 'nvim-treesitter/playground' + use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } + use 'nvim-treesitter/nvim-treesitter-textobjects' + use 'nvim-treesitter/playground' use 'folke/which-key.nvim' use 'folke/lua-dev.nvim' use 'folke/tokyonight.nvim' -- Theme @@ -129,83 +129,94 @@ _G.load_config = function() require('nvim-tree').setup() -- Treesitter - -- require('nvim-treesitter.configs').setup { - -- query_linter = { - -- enable = true, - -- use_virtual_text = true, - -- lint_events = { 'BufWrite', 'CursorHold' }, - -- }, - -- ensure_installed = 'maintained', - -- highlight = { enable = true }, - -- incremental_selection = { - -- enable = true, - -- keymaps = { - -- init_selection = 'gnn', - -- node_incremental = 'grn', - -- scope_incremental = 'grc', - -- node_decremental = 'grm', - -- }, - -- }, - -- indent = { - -- enable = true, - -- }, - -- textobjects = { - -- select = { - -- enable = true, - -- lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim - -- keymaps = { - -- -- You can use the capture groups defined in textobjects.scm - -- ['af'] = '@function.outer', - -- ['if'] = '@function.inner', - -- ['ac'] = '@class.outer', - -- ['ic'] = '@class.inner', - -- }, - -- }, - -- move = { - -- enable = true, - -- set_jumps = true, -- whether to set jumps in the jumplist - -- goto_next_start = { - -- [']m'] = '@function.outer', - -- [']]'] = '@class.outer', - -- }, - -- goto_next_end = { - -- [']M'] = '@function.outer', - -- [']['] = '@class.outer', - -- }, - -- goto_previous_start = { - -- ['[m'] = '@function.outer', - -- ['[['] = '@class.outer', - -- }, - -- goto_previous_end = { - -- ['[M'] = '@function.outer', - -- ['[]'] = '@class.outer', - -- }, - -- }, - -- }, - -- playground = { - -- enable = true, - -- disable = {}, - -- updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code - -- persist_queries = false, -- Whether the query persists across vim sessions - -- keybindings = { - -- toggle_query_editor = 'o', - -- toggle_hl_groups = 'i', - -- toggle_injected_languages = 't', - -- toggle_anonymous_nodes = 'a', - -- toggle_language_display = 'I', - -- focus_language = 'f', - -- unfocus_language = 'F', - -- update = 'R', - -- goto_node = '', - -- show_help = '?', - -- }, - -- }, - -- rainbow = { - -- enable = true, - -- extended_mode = true, - -- max_file_lines = 1000, - -- }, - -- } + require('nvim-treesitter.configs').setup { + query_linter = { + enable = true, + use_virtual_text = true, + lint_events = { 'BufWrite', 'CursorHold' }, + }, + -- ensure_installed = 'maintained', + highlight = { enable = true }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = 'gnn', + node_incremental = 'grn', + scope_incremental = 'grc', + node_decremental = 'grm', + }, + }, + indent = { + enable = true, + }, + textobjects = { + select = { + enable = true, + lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim + keymaps = { + -- You can use the capture groups defined in textobjects.scm + ['af'] = '@function.outer', + ['if'] = '@function.inner', + ['ac'] = '@class.outer', + ['ic'] = '@class.inner', + }, + }, + move = { + enable = true, + set_jumps = true, -- whether to set jumps in the jumplist + goto_next_start = { + [']m'] = '@function.outer', + [']]'] = '@class.outer', + }, + goto_next_end = { + [']M'] = '@function.outer', + [']['] = '@class.outer', + }, + goto_previous_start = { + ['[m'] = '@function.outer', + ['[['] = '@class.outer', + }, + goto_previous_end = { + ['[M'] = '@function.outer', + ['[]'] = '@class.outer', + }, + }, + }, + playground = { + enable = true, + disable = {}, + updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code + persist_queries = false, -- Whether the query persists across vim sessions + keybindings = { + toggle_query_editor = 'o', + toggle_hl_groups = 'i', + toggle_injected_languages = 't', + toggle_anonymous_nodes = 'a', + toggle_language_display = 'I', + focus_language = 'f', + unfocus_language = 'F', + update = 'R', + goto_node = '', + show_help = '?', + }, + }, + rainbow = { + enable = true, + extended_mode = true, + max_file_lines = 1000, + }, + } + -- vim.opt.foldmethod = 'expr' + -- vim.opt.foldexpr = 'nvim_treesitter#foldexpr()' + ---WORKAROUND + vim.api.nvim_create_autocmd({'BufEnter','BufAdd','BufNew','BufNewFile','BufWinEnter'}, { + group = vim.api.nvim_create_augroup('TS_FOLD_WORKAROUND', {}), + callback = function() + vim.opt.foldmethod = 'expr' + vim.opt.foldexpr = 'nvim_treesitter#foldexpr()' + end + }) + ---ENDWORKAROUND -- neogit require('neogit').setup { From 1182588dbf4047477b52bbbcf5fc7e6a203186cd Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 13 Aug 2022 16:56:45 -0700 Subject: [PATCH 025/177] replaced nvim-compe with nvim-cmp --- programs/neovim/init.lua | 74 +++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 5d77265..c1eabca 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -30,8 +30,20 @@ local function load_plugins() use 'lukas-reineke/indent-blankline.nvim' use { 'lewis6991/gitsigns.nvim', requires = 'nvim-lua/plenary.nvim' } use { 'TimUntersberger/neogit', requires = { { 'nvim-lua/plenary.nvim' }, { 'sindrets/diffview.nvim' } } } - use { 'hrsh7th/nvim-compe', requires = 'L3MON4D3/LuaSnip' } -- Autocompletion plugin - use {'tzachar/compe-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-compe'} + use { + 'hrsh7th/nvim-cmp', + requires = { + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-path', + 'hrsh7th/cmp-cmdline', + 'hrsh7th/cmp-nvim-lua', + 'hrsh7th/cmp-nvim-lsp-signature-help', + 'L3MON4D3/LuaSnip', + 'saadparwaiz1/cmp_luasnip', + } + } + use {'tzachar/cmp-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-cmp'} use 'kevinhwang91/nvim-bqf' use 'mfussenegger/nvim-dap' use 'mfussenegger/nvim-dap-python' @@ -39,7 +51,6 @@ local function load_plugins() use {'theHamsta/nvim-dap-virtual-text'} use 'sheerun/vim-polyglot' use 'scalameta/nvim-metals' - use 'ray-x/lsp_signature.nvim' use 'b3nj5m1n/kommentary' use 'ckipp01/stylua-nvim' use 'gennaro-tedesco/nvim-jqx' @@ -60,10 +71,6 @@ _G.load_config = function() -- nvim-autopairs require('nvim-autopairs').setup() - require('nvim-autopairs.completion.compe').setup({ - map_cr = true, - map_complete = true - }) -- nvim-dap local dap = require('dap') @@ -371,8 +378,6 @@ _G.load_config = function() -- LSP settings local nvim_lsp = require 'lspconfig' local on_attach = function(_client, bufnr) - require('lsp_signature').on_attach() - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') local opts = { noremap = true, silent = true } @@ -485,40 +490,37 @@ _G.load_config = function() vim.cmd [[au!]] vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(metals_config)]] vim.cmd [[augroup end]] - + -- Map :Format to vim.lsp.buf.formatting() vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]] -- Set completeopt to have a better completion experience vim.o.completeopt = 'menuone,noinsert' - -- Compe setup - require('compe').setup { - enabled = true, - autocomplete = true, - debug = false, - min_length = 1, - preselect = 'enable', - throttle_time = 80, - source_timeout = 200, - incomplete_delay = 400, - max_abbr_width = 100, - max_kind_width = 100, - max_menu_width = 100, - documentation = true, - - source = { - path = true, - nvim_lsp = { - priority = 1000, - filetypes = { 'scala', 'sbt', 'java', 'python' }, - }, - nvim_lua = true, - buffer = true, - luasnip = true, - tabnine = true, + -- nvim-cmp + local cmp_autopairs = require('nvim-autopairs.completion.cmp') + local cmp = require("cmp") + cmp.setup { + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, }, + sources = { + { name = "nvim_lsp", priority = 10 }, + { name = "buffer" }, + { name = "luasnip" }, + { name = "cmp_tabnine" }, + { name = "path" }, + { name = 'nvim_lua' }, + { name = 'nvim_lsp_signature_help' } + } } + cmp.event:on( + 'confirm_done', + cmp_autopairs.on_confirm_done() + ) +-- local t = function(str) return vim.api.nvim_replace_termcodes(str, true, true, true) @@ -542,7 +544,7 @@ _G.load_config = function() elseif check_back_space() then return t '' else - return vim.fn['compe#complete']() + return vim.fn['cmp#complete']() end end _G.s_tab_complete = function() From 5157a786f77c26d8e6ffcd4e00f8d2f18a38b6e2 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 13 Aug 2022 19:43:58 -0700 Subject: [PATCH 026/177] Metals config update for neovim --- home.nix | 1 - programs/neovim/init.lua | 48 ++++++++++++++++++++++++++++++++-------- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/home.nix b/home.nix index 3f6e609..11c8565 100644 --- a/home.nix +++ b/home.nix @@ -42,7 +42,6 @@ go haskellPackages.implicit-hie hugo - lazydocker luajit luajitPackages.luarocks luajitPackages.luasocket diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index c1eabca..4fb4036 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -462,19 +462,20 @@ _G.load_config = function() require('lspconfig').sumneko_lua.setup(luadev) -- metals - -- vim.g.metals_server_version = '0.10.7+84-9d4bcf78-SNAPSHOT' - -- vim.opt_global.shortmess:remove('F'):append 'c' + vim.g.metals_server_version = '0.11.8' + vim.opt_global.completeopt = { "menuone", "noinsert", "noselect" } + vim.opt_global.shortmess:remove("F"):append("c") local metals_config = require('metals').bare_config() metals_config.settings = { showImplicitArguments = true, showInferredType = true, - bloopSbtAlreadyInstalled = true, + bloopSbtAlreadyInstalled = false, excludedPackages = { "akka.actor.typed.javadsl", "com.github.swagger.akka.javadsl", "akka.stream.javadsl", }, - fallbackScalaVersion = "2.13.6", + fallbackScalaVersion = "2.13.8", superMethodLensesEnabled = true, javaHome = "/Users/salar/.nix-profile" } @@ -486,10 +487,17 @@ _G.load_config = function() require("metals").setup_dap() end - vim.cmd [[augroup lsp]] - vim.cmd [[au!]] - vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(metals_config)]] - vim.cmd [[augroup end]] + metals_config.init_options.statusBarProvider = "on" + local capabilities = vim.lsp.protocol.make_client_capabilities() + metals_config.capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) + local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }) + vim.api.nvim_create_autocmd("FileType", { + pattern = { "scala", "sbt" }, + callback = function() + require("metals").initialize_or_attach(metals_config) + end, + group = nvim_metals_group, + }) -- Map :Format to vim.lsp.buf.formatting() vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]] @@ -514,7 +522,29 @@ _G.load_config = function() { name = "path" }, { name = 'nvim_lua' }, { name = 'nvim_lsp_signature_help' } - } + }, + mapping = cmp.mapping.preset.insert({ + -- None of this made sense to me when first looking into this since there + -- is no vim docs, but you can't have select = true here _unless_ you are + -- also using the snippet stuff. So keep in mind that if you remove + -- snippets you need to remove this select + [""] = cmp.mapping.confirm({ select = true }), + -- I use tabs... some say you should stick to ins-completion but this is just here as an example + [""] = function(fallback) + if cmp.visible() then + cmp.select_next_item() + else + fallback() + end + end, + [""] = function(fallback) + if cmp.visible() then + cmp.select_prev_item() + else + fallback() + end + end, + }), } cmp.event:on( 'confirm_done', From f55bf1e412b4c4456577d5991e9a4e3376b4c14f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 21 Aug 2022 11:53:55 -0700 Subject: [PATCH 027/177] Add battery.nvim plugin --- programs/neovim/init.lua | 12 ++++++++++++ programs/neovim/settings/salargalaxyline.lua | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 4fb4036..1e1373d 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -14,6 +14,7 @@ local function load_plugins() use 'folke/lua-dev.nvim' use 'folke/tokyonight.nvim' -- Theme use { 'folke/trouble.nvim', requires = 'kyazdani42/nvim-web-devicons' } + use { 'justinhj/battery.nvim', requires = {{'kyazdani42/nvim-web-devicons'}, {'nvim-lua/plenary.nvim'}}} use { 'nvim-telescope/telescope.nvim', requires = { { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' } } } use 'nvim-telescope/telescope-dap.nvim' use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } @@ -72,6 +73,17 @@ _G.load_config = function() -- nvim-autopairs require('nvim-autopairs').setup() + -- battery.nvim + local battery = require("battery") + battery.setup({ + update_rate_seconds = 30, -- Number of seconds between checking battery status + show_status_when_no_battery = true, -- Don't show any icon or text when no battery found (desktop for example) + show_plugged_icon = true, -- If true show a cable icon alongside the battery icon when plugged in + show_unplugged_icon = true, -- When true show a diconnected cable icon when not plugged in + show_percent = false, -- Whether or not to show the percent charge remaining in digits + vertical_icons = true, -- When true icons are vertical, otherwise shows horizontal battery icon + }) + -- nvim-dap local dap = require('dap') dap.configurations.lua = { diff --git a/programs/neovim/settings/salargalaxyline.lua b/programs/neovim/settings/salargalaxyline.lua index 1903b73..25bb01b 100644 --- a/programs/neovim/settings/salargalaxyline.lua +++ b/programs/neovim/settings/salargalaxyline.lua @@ -174,9 +174,20 @@ gls.right[3] = { gls.right[4] = { ScrollBar = { provider = 'ScrollBar', + separator_highlight = { colors.purple, colors.bg }, highlight = { colors.yellow, colors.purple }, }, } +gls.right[5] = { + BatteryNvim = { + provider = function() + return require 'battery'.get_status_line() + end, + separator = '', + separator_highlight = { colors.bg, colors.purple }, + highlight = { colors.grey, colors.purple }, + }, +} gls.short_line_left[1] = { BufferType = { From 679bd8f95aee19e962b83ab9d5f0b9416c895847 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 18 Sep 2022 15:10:19 -0700 Subject: [PATCH 028/177] Added Latex support --- home.nix | 4 ++++ programs/neovim/init.lua | 45 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/home.nix b/home.nix index 11c8565..19c231a 100644 --- a/home.nix +++ b/home.nix @@ -37,6 +37,7 @@ exa fd ffmpeg + font-awesome gitAndTools.diff-so-fancy gnupg go @@ -70,6 +71,7 @@ ripgrep ripgrep-all rnix-lsp + rust-analyzer rustup sbt scala-cli @@ -79,6 +81,8 @@ stack sumneko-lua-language-server tealdeer + tectonic + texlab tig tokei tree diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 1e1373d..8e2dd7a 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -57,6 +57,11 @@ local function load_plugins() use 'gennaro-tedesco/nvim-jqx' use 'p00f/nvim-ts-rainbow' use 'christoomey/vim-tmux-navigator' + use 'lervag/vimtex' + use { + 'f3fora/nvim-texlabconfig', + run = 'go build' + } end) end @@ -144,6 +149,40 @@ _G.load_config = function() require('dap-python').test_runner = 'pytest' + -- vimtex + vim.g.vimtex_view_method = 'skim' + vim.g.vimtex_compiler_method = 'tectonic' + + -- nvim-texlabconfig + local tex_preview_executable = '/Applications/Skim.app/Contents/SharedSupport/displayline' + local tex_preview_args = {"%l", "%p", "%f"} + local texlab_build_executable = 'tectonic' + local texlab_build_args = { + '-X', + 'compile', + '%f', + '--synctex', + '--keep-logs', + '--keep-intermediates' + } + require('texlabconfig').setup { + cache_activate = true, + cache_filetypes = { 'tex', 'bib' }, + reverse_search_edit_cmd = 'split', + settings = { + texlab = { + build = { + executable = texlab_build_executable, + args = texlab_build_args + }, + forwardSearch = { + executable = tex_preview_executable, + args = tex_preview_args + } + } + } + } + -- nvim-tree require('nvim-tree').setup() @@ -397,7 +436,7 @@ _G.load_config = function() vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', 'lua vim.lsp.buf.definition()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', 'lua vim.lsp.buf.hover()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gm', 'lua vim.lsp.buf.implementation()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '', 'lua vim.lsp.buf.signature_help()', opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', '', 'lua vim.lsp.buf.signature_help()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) @@ -423,7 +462,7 @@ _G.load_config = function() end -- Enable the following language servers - local servers = { 'html', 'jdtls', 'jsonls', 'pyright', 'rnix', 'sourcekit', 'tsserver', 'yamlls' } + local servers = { 'html', 'jdtls', 'jsonls', 'pyright', 'rnix', 'rust_analyzer','sourcekit', 'tsserver', 'yamlls' } for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach } end @@ -471,7 +510,7 @@ _G.load_config = function() }, }, } - require('lspconfig').sumneko_lua.setup(luadev) + nvim_lsp.sumneko_lua.setup(luadev) -- metals vim.g.metals_server_version = '0.11.8' From 7135dddd9a72ab148c4e1aed6ebe2e88aa3c597a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 18 Sep 2022 16:56:21 -0700 Subject: [PATCH 029/177] Update fre2 port --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 19c231a..9fef7ab 100644 --- a/home.nix +++ b/home.nix @@ -282,7 +282,7 @@ rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; v="nvim"; sshfre1="ssh salar@fre1.softinio.net"; - sshfre2="ssh -p 2022 salar@fre2.softinio.net"; + sshfre2="ssh -p 22 salar@fre2.softinio.net"; }; }; From 285f132d14a873fbefcbe7da5c217d9c789bb5d9 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 21 Sep 2022 20:13:17 -0700 Subject: [PATCH 030/177] Update to use nvim for mergetool & battery config update --- programs/git/default.nix | 16 ++++++++-------- programs/neovim/init.lua | 2 +- programs/neovim/settings/salargalaxyline.lua | 4 +++- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/programs/git/default.nix b/programs/git/default.nix index e044ac4..5dad237 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -7,16 +7,16 @@ let pager = "diff-so-fancy | less --tabs=4 -RFX"; }; init.defaultBranch = "main"; - merge.conflictStyle = "diff3"; - merge.tool = "intellij"; - mergetool = { - cmd = "idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""; - trustExitCode = true; + merge.conflictstyle = "diff3"; + merge.tool = "nvim"; + mergetool.nvim = { + cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""; prompt = false; + keepBackup = false; }; - diff.tool = "intellij"; - difftool = { - cmd = "idea diff \"$LOCAL\" \"$REMOTE\""; + diff.tool = "nvim"; + difftool.nvim = { + cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""; prompt = false; }; url = { diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 8e2dd7a..3eb875f 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -85,7 +85,7 @@ _G.load_config = function() show_status_when_no_battery = true, -- Don't show any icon or text when no battery found (desktop for example) show_plugged_icon = true, -- If true show a cable icon alongside the battery icon when plugged in show_unplugged_icon = true, -- When true show a diconnected cable icon when not plugged in - show_percent = false, -- Whether or not to show the percent charge remaining in digits + show_percent = true, -- Whether or not to show the percent charge remaining in digits vertical_icons = true, -- When true icons are vertical, otherwise shows horizontal battery icon }) diff --git a/programs/neovim/settings/salargalaxyline.lua b/programs/neovim/settings/salargalaxyline.lua index 25bb01b..729f50b 100644 --- a/programs/neovim/settings/salargalaxyline.lua +++ b/programs/neovim/settings/salargalaxyline.lua @@ -181,7 +181,9 @@ gls.right[4] = { gls.right[5] = { BatteryNvim = { provider = function() - return require 'battery'.get_status_line() + local status = require 'battery'.get_status_line() + local formatted = string.format(status) + return formatted end, separator = '', separator_highlight = { colors.bg, colors.purple }, From aec63889ec12b9c45632ccc772753281b5a6db2a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 8 Oct 2022 11:48:26 -0700 Subject: [PATCH 031/177] Update Nix to get Neovim 0.8 --- flake.lock | 30 +++++++++++++++--------------- home.nix | 14 +++++++++----- programs/neovim/init.lua | 14 ++++++++++---- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index ba60535..98b43c9 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1657835815, - "narHash": "sha256-CnZszAYpNKydh6N7+xg+eRtWNVoAAGqc6bg+Lpgq1xc=", + "lastModified": 1664210064, + "narHash": "sha256-df6nKVZe/yAhmJ9csirTPahc0dldwm3HBhCVNA6qWr0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "54a24f042f93c79f5679f133faddedec61955cf2", + "rev": "02d2551c927b7d65ded1b3c7cd13da5cc7ae3fcf", "type": "github" }, "original": { @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1659878744, - "narHash": "sha256-81a9Mx5pDMBGN4WnVhcQVkW5mXNTZOt8DZOSI8bVKpU=", + "lastModified": 1665226338, + "narHash": "sha256-P+A9MEClkeZSaS4zZvrpfVfUUqU5mmdZgEz/FGDSgno=", "owner": "nix-community", "repo": "home-manager", - "rev": "f5e9879e74e6202e2dbb3628fad2d20eac0d8be4", + "rev": "3b5a8d3dc79e05213d3c428a0b8777e21cb0c6b8", "type": "github" }, "original": { @@ -44,11 +44,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1659803779, - "narHash": "sha256-+5zkHlbcbFyN5f3buO1RAZ9pH1wXLxCesUJ0vFmLr9Y=", + "lastModified": 1665081174, + "narHash": "sha256-6hsmzdhdy8Kbvl5e0xZNE83pW3fKQvNiobJkM6KQrgA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f44884060cb94240efbe55620f38a8ec8d9af601", + "rev": "598f83ebeb2235435189cf84d844b8b73e858e0f", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nur": { "locked": { - "lastModified": 1659937593, - "narHash": "sha256-tJBCAV7GwxxisvnlUK5YWwzeCm4q9OGgvEE9WFiypiI=", + "lastModified": 1665240972, + "narHash": "sha256-g8D/+byiwKD1pyFPUtVe9e3tmJtbnXXMh5b+jBLAokQ=", "owner": "nix-community", "repo": "nur", - "rev": "6daa0a7c4ae5c3951ac945b299d40e232674aaaf", + "rev": "216b4de2d1351cd1c09f1cd6b7345053dffdc50d", "type": "github" }, "original": { @@ -83,11 +83,11 @@ }, "utils": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 9fef7ab..471a5ac 100644 --- a/home.nix +++ b/home.nix @@ -24,12 +24,14 @@ VISUAL = "$EDITOR"; }; packages = with pkgs; [ - ( python39.withPackages (ps: with ps; [ pip flake8 black ]) ) - adoptopenjdk-bin + ( python310.withPackages (ps: with ps; [ pip flake8 black ]) ) +# adoptopenjdk-hotspot-bin-17 + jdk any-nix-shell aspell bloop cabal-install + cabal2nix cachix cmake coursier @@ -39,9 +41,11 @@ ffmpeg font-awesome gitAndTools.diff-so-fancy + ghc + ghcid gnupg go - haskellPackages.implicit-hie + haskell-language-server hugo luajit luajitPackages.luarocks @@ -56,7 +60,7 @@ niv nix-index nixfmt - nixFlakes + nix-prefetch-git nodePackages.pyright nodePackages.typescript-language-server nodePackages.vscode-html-languageserver-bin @@ -65,7 +69,7 @@ openssl pandoc patchelf - poetry + # poetry rclone readline ripgrep diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 3eb875f..a0c3e7b 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -62,6 +62,14 @@ local function load_plugins() 'f3fora/nvim-texlabconfig', run = 'go build' } + use { + 'phaazon/mind.nvim', + branch = 'v2.2', + requires = { 'nvim-lua/plenary.nvim' }, + config = function() + require'mind'.setup() + end + } end) end @@ -462,7 +470,7 @@ _G.load_config = function() end -- Enable the following language servers - local servers = { 'html', 'jdtls', 'jsonls', 'pyright', 'rnix', 'rust_analyzer','sourcekit', 'tsserver', 'yamlls' } + local servers = { 'hls', 'html', 'jdtls', 'jsonls', 'pyright', 'rnix', 'rust_analyzer','sourcekit', 'tsserver', 'yamlls' } for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach } end @@ -513,9 +521,7 @@ _G.load_config = function() nvim_lsp.sumneko_lua.setup(luadev) -- metals - vim.g.metals_server_version = '0.11.8' - vim.opt_global.completeopt = { "menuone", "noinsert", "noselect" } - vim.opt_global.shortmess:remove("F"):append("c") + vim.g.metals_server_version = '0.11.9' local metals_config = require('metals').bare_config() metals_config.settings = { showImplicitArguments = true, From bb6fe35f548ad4ee959258047679e043f9f1be06 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 16 Oct 2022 11:06:11 -0700 Subject: [PATCH 032/177] Neovim config updates --- programs/neovim/init.lua | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index a0c3e7b..8b17cd8 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -11,7 +11,7 @@ local function load_plugins() use 'nvim-treesitter/nvim-treesitter-textobjects' use 'nvim-treesitter/playground' use 'folke/which-key.nvim' - use 'folke/lua-dev.nvim' + use 'folke/neodev.nvim' use 'folke/tokyonight.nvim' -- Theme use { 'folke/trouble.nvim', requires = 'kyazdani42/nvim-web-devicons' } use { 'justinhj/battery.nvim', requires = {{'kyazdani42/nvim-web-devicons'}, {'nvim-lua/plenary.nvim'}}} @@ -20,7 +20,13 @@ local function load_plugins() use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } use { 'softinio/scaladex.nvim' } use 'windwp/nvim-autopairs' -- Autopairs - use 'kyazdani42/nvim-tree.lua' -- File explorer + use { + 'nvim-tree/nvim-tree.lua', + requires = { + 'nvim-tree/nvim-web-devicons', -- optional, for file icons + }, + tag = 'nightly' -- optional, updated every week. (see issue #1193) + } use { 'glepnir/galaxyline.nvim', config = function() @@ -192,7 +198,27 @@ _G.load_config = function() } -- nvim-tree - require('nvim-tree').setup() + vim.g.loaded_netrw = 1 + vim.g.loaded_netrwPlugin = 1 + require("nvim-tree").setup({ + sort_by = "case_sensitive", + disable_netrw = true, + view = { + adaptive_size = true, + mappings = { + list = { + { key = "u", action = "dir_up" }, + }, + }, + }, + renderer = { + highlight_git = true, + group_empty = true, + }, + filters = { + dotfiles = false, + }, + }) -- Treesitter require('nvim-treesitter.configs').setup { @@ -481,7 +507,7 @@ _G.load_config = function() table.insert(runtime_path, 'lua/?.lua') table.insert(runtime_path, 'lua/?/init.lua') - local luadev = require('lua-dev').setup{ + local neodev = require('neodev').setup{ lspconfig = { cmd = { sumneko_binary }, commands = { @@ -518,7 +544,7 @@ _G.load_config = function() }, }, } - nvim_lsp.sumneko_lua.setup(luadev) + nvim_lsp.sumneko_lua.setup(neodev) -- metals vim.g.metals_server_version = '0.11.9' @@ -546,7 +572,7 @@ _G.load_config = function() end metals_config.init_options.statusBarProvider = "on" local capabilities = vim.lsp.protocol.make_client_capabilities() - metals_config.capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) + metals_config.capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }) vim.api.nvim_create_autocmd("FileType", { pattern = { "scala", "sbt" }, From b1b673de42f30bb40b1ee24600026920cc66b097 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 16 Oct 2022 14:30:16 -0700 Subject: [PATCH 033/177] Neovim config updates --- programs/neovim/init.lua | 66 ++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 44 deletions(-) diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 8b17cd8..342f67b 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -13,18 +13,16 @@ local function load_plugins() use 'folke/which-key.nvim' use 'folke/neodev.nvim' use 'folke/tokyonight.nvim' -- Theme - use { 'folke/trouble.nvim', requires = 'kyazdani42/nvim-web-devicons' } - use { 'justinhj/battery.nvim', requires = {{'kyazdani42/nvim-web-devicons'}, {'nvim-lua/plenary.nvim'}}} + use { 'folke/trouble.nvim' } + use { 'justinhj/battery.nvim', requires = 'nvim-lua/plenary.nvim'} use { 'nvim-telescope/telescope.nvim', requires = { { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' } } } use 'nvim-telescope/telescope-dap.nvim' use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } use { 'softinio/scaladex.nvim' } use 'windwp/nvim-autopairs' -- Autopairs + use 'nvim-tree/nvim-web-devicons' use { 'nvim-tree/nvim-tree.lua', - requires = { - 'nvim-tree/nvim-web-devicons', -- optional, for file icons - }, tag = 'nightly' -- optional, updated every week. (see issue #1193) } use { @@ -32,7 +30,6 @@ local function load_plugins() config = function() require 'salargalaxyline' end, - requires = 'kyazdani42/nvim-web-devicons', } use 'lukas-reineke/indent-blankline.nvim' use { 'lewis6991/gitsigns.nvim', requires = 'nvim-lua/plenary.nvim' } @@ -459,6 +456,7 @@ _G.load_config = function() -- Y yank until the end of line vim.api.nvim_set_keymap('n', 'Y', 'y$', { noremap = true }) + -- -- LSP settings local nvim_lsp = require 'lspconfig' @@ -507,44 +505,24 @@ _G.load_config = function() table.insert(runtime_path, 'lua/?.lua') table.insert(runtime_path, 'lua/?/init.lua') - local neodev = require('neodev').setup{ - lspconfig = { - cmd = { sumneko_binary }, - commands = { - Format = { - function() - require('stylua-nvim').format_file() - end, - }, - }, - on_attach = on_attach, - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - -- Setup your lua path - path = runtime_path, - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { 'vim' }, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = { - vim.api.nvim_get_runtime_file('', true), - }, - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - }, - }, - }, - } - nvim_lsp.sumneko_lua.setup(neodev) + require("neodev").setup({ + override = function(root_dir, library) + if require("neodev.util").has_file(root_dir, "/etc/nixos") then + library.enabled = true + library.plugins = true + end + end, + }) + + nvim_lsp.sumneko_lua.setup({ + settings = { + Lua = { + completion = { + callSnippet = "Replace" + } + } + } + }) -- metals vim.g.metals_server_version = '0.11.9' From 2f79b4b97523d075c43d15e9aaa9b57224fad18c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 10 Dec 2022 11:46:19 -0800 Subject: [PATCH 034/177] December updates --- flake.lock | 30 +++++++++++++++--------------- home.nix | 5 +++-- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index 98b43c9..71a545e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1664210064, - "narHash": "sha256-df6nKVZe/yAhmJ9csirTPahc0dldwm3HBhCVNA6qWr0=", + "lastModified": 1668784520, + "narHash": "sha256-gGgVAMwYPPmrfnvnoRi6OkEB5KRsNTb9uYzEceLdO/g=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "02d2551c927b7d65ded1b3c7cd13da5cc7ae3fcf", + "rev": "6349b99bc2b96ded34d068a88c7c5ced406b7f7f", "type": "github" }, "original": { @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1665226338, - "narHash": "sha256-P+A9MEClkeZSaS4zZvrpfVfUUqU5mmdZgEz/FGDSgno=", + "lastModified": 1670513770, + "narHash": "sha256-muL74fsbGA8K8WlZSPNWddOiuBnC54kAajncX6nXrh4=", "owner": "nix-community", "repo": "home-manager", - "rev": "3b5a8d3dc79e05213d3c428a0b8777e21cb0c6b8", + "rev": "054d9e3187ca00479e8036dc0e92900a384f30fd", "type": "github" }, "original": { @@ -44,11 +44,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1665081174, - "narHash": "sha256-6hsmzdhdy8Kbvl5e0xZNE83pW3fKQvNiobJkM6KQrgA=", + "lastModified": 1670597555, + "narHash": "sha256-/k939P2S2246G6K5fyvC0U2IWvULhb4ZJg9K7ZxsX+k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "598f83ebeb2235435189cf84d844b8b73e858e0f", + "rev": "2dea0f4c2d6e4603f54b2c56c22367e77869490c", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nur": { "locked": { - "lastModified": 1665240972, - "narHash": "sha256-g8D/+byiwKD1pyFPUtVe9e3tmJtbnXXMh5b+jBLAokQ=", + "lastModified": 1670690902, + "narHash": "sha256-AxAy3pmT1gHAIkPrpdZLrjD32kRZYz1BTbS+RzNynbU=", "owner": "nix-community", "repo": "nur", - "rev": "216b4de2d1351cd1c09f1cd6b7345053dffdc50d", + "rev": "9900aa788ffbb86d13e281f9df6b19d98aea5aab", "type": "github" }, "original": { @@ -83,11 +83,11 @@ }, "utils": { "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "owner": "numtide", "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 471a5ac..c1a8ed7 100644 --- a/home.nix +++ b/home.nix @@ -18,7 +18,7 @@ ]; home = { - stateVersion = "21.11"; + stateVersion = "22.11"; sessionVariables = { EDITOR = "nvim"; VISUAL = "$EDITOR"; @@ -45,6 +45,7 @@ ghcid gnupg go + graphviz haskell-language-server hugo luajit @@ -69,7 +70,7 @@ openssl pandoc patchelf - # poetry + pijul rclone readline ripgrep From 45a9afa2306580448a25be830ea77c7f505067e5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 4 Jan 2023 18:12:50 -0800 Subject: [PATCH 035/177] Cleanup --- home.nix | 11 +++++++++++ programs/neovim/init.lua | 8 ++++++-- programs/neovim/settings/salargalaxyline.lua | 12 ------------ 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/home.nix b/home.nix index c1a8ed7..cb4f6dc 100644 --- a/home.nix +++ b/home.nix @@ -71,6 +71,7 @@ pandoc patchelf pijul + prettyping rclone readline ripgrep @@ -234,6 +235,8 @@ set -xg PATH /Users/salar/.luarocks/bin:/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/nix/store/3qp71mhrpxxg080yc82k51nx7b5hkajr-kitty-0.21.2/Applications/kitty.app/Contents/MacOS $PATH + set -xg PATH "/Users/salar/Library/Application Support/Coursier/bin" $PATH + set -xg JAVA_HOME /Users/salar/.nix-profile set -xg JDTLS_CONFIG /Users/salar/.config/jdt-language-server/config_mac @@ -297,6 +300,14 @@ end ''; + # pijul config + xdg.configFile."pijul/config.toml".text = lib.mkAfter '' + [author] + name = "softinio" + full_name = "Salar Rahmanian" + email = "code@softinio.com" + ''; + # Neovim Configuration xdg.configFile."nvim/lua/salargalaxyline.lua".source = programs/neovim/settings/salargalaxyline.lua; xdg.configFile."nvim/init.lua".source = programs/neovim/init.lua; diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 342f67b..a49de4d 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -179,7 +179,7 @@ _G.load_config = function() require('texlabconfig').setup { cache_activate = true, cache_filetypes = { 'tex', 'bib' }, - reverse_search_edit_cmd = 'split', + reverse_search_edit_cmd = vim.cmd.edit, settings = { texlab = { build = { @@ -519,7 +519,11 @@ _G.load_config = function() Lua = { completion = { callSnippet = "Replace" - } + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'} + }, } } }) diff --git a/programs/neovim/settings/salargalaxyline.lua b/programs/neovim/settings/salargalaxyline.lua index 729f50b..8e678d7 100644 --- a/programs/neovim/settings/salargalaxyline.lua +++ b/programs/neovim/settings/salargalaxyline.lua @@ -178,18 +178,6 @@ gls.right[4] = { highlight = { colors.yellow, colors.purple }, }, } -gls.right[5] = { - BatteryNvim = { - provider = function() - local status = require 'battery'.get_status_line() - local formatted = string.format(status) - return formatted - end, - separator = '', - separator_highlight = { colors.bg, colors.purple }, - highlight = { colors.grey, colors.purple }, - }, -} gls.short_line_left[1] = { BufferType = { From 2e60e6925f698c1837290a70a65ae23ac51af617 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 11 Feb 2023 14:52:08 -0800 Subject: [PATCH 036/177] updates plus decoupling of neovim config to a separate repo --- flake.lock | 24 +- home.nix | 37 +- programs/neovim/init.lua | 667 ------------------- programs/neovim/settings/salargalaxyline.lua | 198 ------ 4 files changed, 40 insertions(+), 886 deletions(-) delete mode 100644 programs/neovim/init.lua delete mode 100644 programs/neovim/settings/salargalaxyline.lua diff --git a/flake.lock b/flake.lock index 71a545e..40ca3e4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1668784520, - "narHash": "sha256-gGgVAMwYPPmrfnvnoRi6OkEB5KRsNTb9uYzEceLdO/g=", + "lastModified": 1673295039, + "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "6349b99bc2b96ded34d068a88c7c5ced406b7f7f", + "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", "type": "github" }, "original": { @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1670513770, - "narHash": "sha256-muL74fsbGA8K8WlZSPNWddOiuBnC54kAajncX6nXrh4=", + "lastModified": 1675935446, + "narHash": "sha256-WajulTn7QdwC7QuXRBavrANuIXE5z+08EdxdRw1qsNs=", "owner": "nix-community", "repo": "home-manager", - "rev": "054d9e3187ca00479e8036dc0e92900a384f30fd", + "rev": "2dce7f1a55e785a22d61668516df62899278c9e4", "type": "github" }, "original": { @@ -44,11 +44,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1670597555, - "narHash": "sha256-/k939P2S2246G6K5fyvC0U2IWvULhb4ZJg9K7ZxsX+k=", + "lastModified": 1675942811, + "narHash": "sha256-/v4Z9mJmADTpXrdIlAjFa1e+gkpIIROR670UVDQFwIw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2dea0f4c2d6e4603f54b2c56c22367e77869490c", + "rev": "724bfc0892363087709bd3a5a1666296759154b1", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nur": { "locked": { - "lastModified": 1670690902, - "narHash": "sha256-AxAy3pmT1gHAIkPrpdZLrjD32kRZYz1BTbS+RzNynbU=", + "lastModified": 1676087160, + "narHash": "sha256-el2tNbWUhpz0IBoORS144xjMTi9WIqbQWRBmrsF4M64=", "owner": "nix-community", "repo": "nur", - "rev": "9900aa788ffbb86d13e281f9df6b19d98aea5aab", + "rev": "1ddd5cf5cc7215ea63f1dee09016b53cc79034e5", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index cb4f6dc..2cb8e1b 100644 --- a/home.nix +++ b/home.nix @@ -6,12 +6,12 @@ imports = (import ./programs); - nixpkgs.overlays = [ - (import ./overlays/sumneko-lua-language-server) + # nixpkgs.overlays = [ + # (import ./overlays/sumneko-lua-language-server) # (import (builtins.fetchTarball { # url = https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz; # })) - ]; + # ]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "vscode" @@ -25,7 +25,6 @@ }; packages = with pkgs; [ ( python310.withPackages (ps: with ps; [ pip flake8 black ]) ) -# adoptopenjdk-hotspot-bin-17 jdk any-nix-shell aspell @@ -55,13 +54,14 @@ maven multimarkdown mypy - ncdu + # ncdu neofetch neovim niv nix-index nixfmt nix-prefetch-git + nodejs nodePackages.pyright nodePackages.typescript-language-server nodePackages.vscode-html-languageserver-bin @@ -85,7 +85,6 @@ sqlite stylua stack - sumneko-lua-language-server tealdeer tectonic texlab @@ -121,6 +120,10 @@ }; }; + programs.gitui = { + enable = true; + }; + programs.htop = { enable = true; }; @@ -154,6 +157,19 @@ }; }; + programs.wezterm = { + enable = true; + extraConfig = '' + local wezterm = require 'wezterm' + return { + color_scheme = "tokyonight", + font = wezterm.font("JetBrains Mono"), + font_size = 16, + dpi = 144, + } + ''; + }; + programs.vscode = { enable = true; extensions = [ @@ -290,7 +306,7 @@ rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; v="nvim"; sshfre1="ssh salar@fre1.softinio.net"; - sshfre2="ssh -p 22 salar@fre2.softinio.net"; + sshfre2="ssh -p 2022 salar@fre2.softinio.net"; }; }; @@ -309,6 +325,9 @@ ''; # Neovim Configuration - xdg.configFile."nvim/lua/salargalaxyline.lua".source = programs/neovim/settings/salargalaxyline.lua; - xdg.configFile."nvim/init.lua".source = programs/neovim/init.lua; + xdg.configFile."nvim".source = builtins.fetchGit { + url = "https://git.softinio.com/softinio/nvim-config.git"; + rev = "9431d011d164289f0f16b851dd8605a0bf334c46"; + }; } + diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua deleted file mode 100644 index a49de4d..0000000 --- a/programs/neovim/init.lua +++ /dev/null @@ -1,667 +0,0 @@ -local fn = vim.fn - -local install_path = fn.stdpath 'data' .. '/site/pack/packer/start/packer.nvim' - -local function load_plugins() - local use = require('packer').use - require('packer').startup(function() - use 'wbthomason/packer.nvim' -- Package manager - use 'neovim/nvim-lspconfig' -- Collection of configurations for built-in LSP client - use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } - use 'nvim-treesitter/nvim-treesitter-textobjects' - use 'nvim-treesitter/playground' - use 'folke/which-key.nvim' - use 'folke/neodev.nvim' - use 'folke/tokyonight.nvim' -- Theme - use { 'folke/trouble.nvim' } - use { 'justinhj/battery.nvim', requires = 'nvim-lua/plenary.nvim'} - use { 'nvim-telescope/telescope.nvim', requires = { { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' } } } - use 'nvim-telescope/telescope-dap.nvim' - use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } - use { 'softinio/scaladex.nvim' } - use 'windwp/nvim-autopairs' -- Autopairs - use 'nvim-tree/nvim-web-devicons' - use { - 'nvim-tree/nvim-tree.lua', - tag = 'nightly' -- optional, updated every week. (see issue #1193) - } - use { - 'glepnir/galaxyline.nvim', - config = function() - require 'salargalaxyline' - end, - } - use 'lukas-reineke/indent-blankline.nvim' - use { 'lewis6991/gitsigns.nvim', requires = 'nvim-lua/plenary.nvim' } - use { 'TimUntersberger/neogit', requires = { { 'nvim-lua/plenary.nvim' }, { 'sindrets/diffview.nvim' } } } - use { - 'hrsh7th/nvim-cmp', - requires = { - 'hrsh7th/cmp-nvim-lsp', - 'hrsh7th/cmp-buffer', - 'hrsh7th/cmp-path', - 'hrsh7th/cmp-cmdline', - 'hrsh7th/cmp-nvim-lua', - 'hrsh7th/cmp-nvim-lsp-signature-help', - 'L3MON4D3/LuaSnip', - 'saadparwaiz1/cmp_luasnip', - } - } - use {'tzachar/cmp-tabnine', run='./install.sh', requires = 'hrsh7th/nvim-cmp'} - use 'kevinhwang91/nvim-bqf' - use 'mfussenegger/nvim-dap' - use 'mfussenegger/nvim-dap-python' - use 'jbyuki/one-small-step-for-vimkind' - use {'theHamsta/nvim-dap-virtual-text'} - use 'sheerun/vim-polyglot' - use 'scalameta/nvim-metals' - use 'b3nj5m1n/kommentary' - use 'ckipp01/stylua-nvim' - use 'gennaro-tedesco/nvim-jqx' - use 'p00f/nvim-ts-rainbow' - use 'christoomey/vim-tmux-navigator' - use 'lervag/vimtex' - use { - 'f3fora/nvim-texlabconfig', - run = 'go build' - } - use { - 'phaazon/mind.nvim', - branch = 'v2.2', - requires = { 'nvim-lua/plenary.nvim' }, - config = function() - require'mind'.setup() - end - } - end) -end - -_G.load_config = function() - require('gitsigns').setup() - require('kommentary.config').use_extended_mappings() - require 'salargalaxyline' - require('trouble').setup() - require('which-key').setup() - require('indent_blankline').setup({ - indent_blankline_use_treesitter = true - }) - - -- nvim-autopairs - require('nvim-autopairs').setup() - - -- battery.nvim - local battery = require("battery") - battery.setup({ - update_rate_seconds = 30, -- Number of seconds between checking battery status - show_status_when_no_battery = true, -- Don't show any icon or text when no battery found (desktop for example) - show_plugged_icon = true, -- If true show a cable icon alongside the battery icon when plugged in - show_unplugged_icon = true, -- When true show a diconnected cable icon when not plugged in - show_percent = true, -- Whether or not to show the percent charge remaining in digits - vertical_icons = true, -- When true icons are vertical, otherwise shows horizontal battery icon - }) - - -- nvim-dap - local dap = require('dap') - dap.configurations.lua = { - { - type = 'nlua', - request = 'attach', - name = "Attach to running Neovim instance", - host = function() - local value = vim.fn.input('Host [127.0.0.1]: ') - if value ~= "" then - return value - end - return '127.0.0.1' - end, - port = function() - local val = tonumber(vim.fn.input('Port: ')) - assert(val, "Please provide a port number") - return val - end, - } - } - - dap.adapters.nlua = function(callback, config) - callback({ type = 'server', host = config.host, port = config.port or 8088 }) - end - - dap.configurations.scala = { - { - type = "scala", - request = "launch", - name = "Run", - metals = { - runType = "run", - args = { "firstArg", "secondArg", "thirdArg" }, - }, - }, - { - type = "scala", - request = "launch", - name = "Test File", - metals = { - runType = "testFile", - }, - }, - { - type = "scala", - request = "launch", - name = "Test Target", - metals = { - runType = "testTarget", - }, - }, - } - - - vim.fn.sign_define('DapBreakpoint', {text='🛑', texthl='', linehl='', numhl=''}) - vim.fn.sign_define('DapStopped', {text='⭐️', texthl='', linehl='', numhl=''}) - - require('dap-python').test_runner = 'pytest' - - -- vimtex - vim.g.vimtex_view_method = 'skim' - vim.g.vimtex_compiler_method = 'tectonic' - - -- nvim-texlabconfig - local tex_preview_executable = '/Applications/Skim.app/Contents/SharedSupport/displayline' - local tex_preview_args = {"%l", "%p", "%f"} - local texlab_build_executable = 'tectonic' - local texlab_build_args = { - '-X', - 'compile', - '%f', - '--synctex', - '--keep-logs', - '--keep-intermediates' - } - require('texlabconfig').setup { - cache_activate = true, - cache_filetypes = { 'tex', 'bib' }, - reverse_search_edit_cmd = vim.cmd.edit, - settings = { - texlab = { - build = { - executable = texlab_build_executable, - args = texlab_build_args - }, - forwardSearch = { - executable = tex_preview_executable, - args = tex_preview_args - } - } - } - } - - -- nvim-tree - vim.g.loaded_netrw = 1 - vim.g.loaded_netrwPlugin = 1 - require("nvim-tree").setup({ - sort_by = "case_sensitive", - disable_netrw = true, - view = { - adaptive_size = true, - mappings = { - list = { - { key = "u", action = "dir_up" }, - }, - }, - }, - renderer = { - highlight_git = true, - group_empty = true, - }, - filters = { - dotfiles = false, - }, - }) - - -- Treesitter - require('nvim-treesitter.configs').setup { - query_linter = { - enable = true, - use_virtual_text = true, - lint_events = { 'BufWrite', 'CursorHold' }, - }, - -- ensure_installed = 'maintained', - highlight = { enable = true }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = 'gnn', - node_incremental = 'grn', - scope_incremental = 'grc', - node_decremental = 'grm', - }, - }, - indent = { - enable = true, - }, - textobjects = { - select = { - enable = true, - lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim - keymaps = { - -- You can use the capture groups defined in textobjects.scm - ['af'] = '@function.outer', - ['if'] = '@function.inner', - ['ac'] = '@class.outer', - ['ic'] = '@class.inner', - }, - }, - move = { - enable = true, - set_jumps = true, -- whether to set jumps in the jumplist - goto_next_start = { - [']m'] = '@function.outer', - [']]'] = '@class.outer', - }, - goto_next_end = { - [']M'] = '@function.outer', - [']['] = '@class.outer', - }, - goto_previous_start = { - ['[m'] = '@function.outer', - ['[['] = '@class.outer', - }, - goto_previous_end = { - ['[M'] = '@function.outer', - ['[]'] = '@class.outer', - }, - }, - }, - playground = { - enable = true, - disable = {}, - updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code - persist_queries = false, -- Whether the query persists across vim sessions - keybindings = { - toggle_query_editor = 'o', - toggle_hl_groups = 'i', - toggle_injected_languages = 't', - toggle_anonymous_nodes = 'a', - toggle_language_display = 'I', - focus_language = 'f', - unfocus_language = 'F', - update = 'R', - goto_node = '', - show_help = '?', - }, - }, - rainbow = { - enable = true, - extended_mode = true, - max_file_lines = 1000, - }, - } - -- vim.opt.foldmethod = 'expr' - -- vim.opt.foldexpr = 'nvim_treesitter#foldexpr()' - ---WORKAROUND - vim.api.nvim_create_autocmd({'BufEnter','BufAdd','BufNew','BufNewFile','BufWinEnter'}, { - group = vim.api.nvim_create_augroup('TS_FOLD_WORKAROUND', {}), - callback = function() - vim.opt.foldmethod = 'expr' - vim.opt.foldexpr = 'nvim_treesitter#foldexpr()' - end - }) - ---ENDWORKAROUND - - -- neogit - require('neogit').setup { - integrations = { - diffview = true, - }, - } - - --Incremental live completion - vim.o.inccommand = 'nosplit' - - --Set highlight on search - vim.o.hlsearch = false - vim.o.incsearch = true - - --Make line numbers default - vim.wo.number = true - - --Do not save when switching buffers - vim.o.hidden = true - - --Enable mouse mode - vim.o.mouse = 'a' - - -- clipboard - vim.o.clipboard = 'unnamedplus' - - --Enable break indent - vim.o.breakindent = true - - --Save undo history - vim.cmd [[set undofile]] - - --Case insensitive searching UNLESS /C or capital in search - vim.o.ignorecase = true - vim.o.smartcase = true - - --Decrease update time - vim.o.updatetime = 250 - vim.wo.signcolumn = 'yes' - - --Set colorscheme (order is important here) - vim.g.tokyonight_style = 'night' - vim.g.tokyonight_italic_functions = true - vim.o.termguicolors = true - vim.cmd [[colorscheme tokyonight]] - - --Remap space as leader key - vim.api.nvim_set_keymap('', '', '', { noremap = true, silent = true }) - vim.g.mapleader = ' ' - vim.g.maplocalleader = ' ' - - --Remap for dealing with word wrap - vim.api.nvim_set_keymap('n', 'k', "v:count == 0 ? 'gk' : 'k'", { noremap = true, expr = true, silent = true }) - vim.api.nvim_set_keymap('n', 'j', "v:count == 0 ? 'gj' : 'j'", { noremap = true, expr = true, silent = true }) - - --Remap escape to leave terminal mode - vim.api.nvim_set_keymap('t', '', [[]], { noremap = true }) - - --Add map to enter paste mode - vim.o.pastetoggle = '' - - --Map blankline - vim.g.indent_blankline_char = '┊' - vim.g.indent_blankline_filetype_exclude = { 'help', 'packer' } - vim.g.indent_blankline_buftype_exclude = { 'terminal', 'nofile' } - vim.g.indent_blankline_char_highlight = 'LineNr' - - -- Toggle to disable mouse mode and indentlines for easier paste - ToggleMouse = function() - if vim.o.mouse == 'a' then - vim.cmd [[IndentBlanklineDisable]] - vim.wo.signcolumn = 'no' - vim.o.mouse = 'v' - vim.wo.number = false - print 'Mouse disabled' - else - vim.cmd [[IndentBlanklineEnable]] - vim.wo.signcolumn = 'yes' - vim.o.mouse = 'a' - vim.wo.number = true - print 'Mouse enabled' - end - end - - vim.api.nvim_set_keymap('n', '', 'lua ToggleMouse()', { noremap = true }) - - -- Telescope - require('telescope').setup { - defaults = { - mappings = { - i = { - [''] = false, - [''] = false, - }, - }, - file_ignore_patterns = { "node_modules", "target"}, - extensions = { - fzf = { - fuzzy = true, - override_generic_sorter = true, - override_file_sorter = true, - case_mode = "smart_case" - } - } - }, - } - require('telescope').load_extension('dap') - require('telescope').load_extension('fzf') - require('telescope').load_extension('scaladex') - - --Add leader shortcuts - vim.api.nvim_set_keymap('n', 'f', [[lua require('telescope.builtin').find_files()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', '', [[lua require('telescope.builtin').buffers()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'l', [[lua require('telescope.builtin').current_buffer_fuzzy_find()]], { noremap = true, silent = true }) - -- vim.api.nvim_set_keymap('n', 't', [[lua require('telescope.builtin').tags()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', '?', [[lua require('telescope.builtin').oldfiles()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'sd', [[lua require('telescope.builtin').grep_string()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'sp', [[lua require('telescope.builtin').live_grep()]], { noremap = true, silent = true }) - -- vim.api.nvim_set_keymap('n', 'o', [[lua require('telescope.builtin').tags{ only_current_buffer = true }]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'gco', [[lua require('telescope.builtin').git_commits()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'gb', [[lua require('telescope.builtin').git_branches()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'gs', [[lua require('telescope.builtin').git_status()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'gp', [[lua require('telescope.builtin').git_bcommits()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'm', [[lua require('nvim-tree').toggle()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'ng', [[lua require('neogit').open({ kind = "split" })]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'nm', [[lua require("telescope").extensions.metals.commands()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'tt', [[lua require("metals.tvp").toggle_tree_view()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'tr', [[lua require("metals.tvp").reveal_in_tree()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'ws', [[lua require"metals".worksheet_hover()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'a', [[lua RELOAD("metals").open_all_diagnostics()]], { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'nu', ':PackerUpdate', { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'si', [[lua require('telescope').extensions.scaladex.scaladex.search()]], { noremap = true, silent = true }) - - -- Change preview window location - vim.g.splitbelow = true - - -- Highlight on yank - vim.api.nvim_exec( - [[ - augroup YankHighlight - autocmd! - autocmd TextYankPost * silent! lua vim.highlight.on_yank() - augroup end - ]], - false - ) - - -- Y yank until the end of line - vim.api.nvim_set_keymap('n', 'Y', 'y$', { noremap = true }) - - -- - -- LSP settings - local nvim_lsp = require 'lspconfig' - local on_attach = function(_client, bufnr) - vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - local opts = { noremap = true, silent = true } - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', 'lua vim.lsp.buf.declaration()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', 'lua vim.lsp.buf.definition()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', 'lua vim.lsp.buf.hover()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gm', 'lua vim.lsp.buf.implementation()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '', 'lua vim.lsp.buf.signature_help()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'D', 'lua vim.lsp.buf.type_definition()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'rn', 'lua vim.lsp.buf.rename()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', 'lua vim.lsp.buf.references()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ca', 'lua vim.lsp.buf.code_action()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'e', 'lua vim.lsp.diagnostic.show_line_diagnostics()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '[d', 'lua vim.lsp.diagnostic.goto_prev()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dr', [[lua require('dap').repl.toggle()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ds', [[lua require('dap').ui.variables.scopes()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dk', [[lua require('dap').ui.widgets.hover()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dl', [[lua require('dap').run_last()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dz', [[lua require('dap').toggle_breakpoint()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'dc', [[lua require('dap').continue()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_over()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_out()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', '', [[lua require('dap').step_into()]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'B', [[lua require('dap').set_breakpoint(vim.fn.input('Breakpoint condition: '))]], { noremap = true, silent = true }) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'lp', [[lua require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: '))]], { noremap = true, silent = true }) - end - - -- Enable the following language servers - local servers = { 'hls', 'html', 'jdtls', 'jsonls', 'pyright', 'rnix', 'rust_analyzer','sourcekit', 'tsserver', 'yamlls' } - for _, lsp in ipairs(servers) do - nvim_lsp[lsp].setup { on_attach = on_attach } - end - - -- lua language server - local sumneko_binary = vim.fn.getenv 'HOME' .. '/.nix-profile/bin/lua-language-server' - local runtime_path = vim.split(package.path, ';') - table.insert(runtime_path, 'lua/?.lua') - table.insert(runtime_path, 'lua/?/init.lua') - - require("neodev").setup({ - override = function(root_dir, library) - if require("neodev.util").has_file(root_dir, "/etc/nixos") then - library.enabled = true - library.plugins = true - end - end, - }) - - nvim_lsp.sumneko_lua.setup({ - settings = { - Lua = { - completion = { - callSnippet = "Replace" - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'} - }, - } - } - }) - - -- metals - vim.g.metals_server_version = '0.11.9' - local metals_config = require('metals').bare_config() - metals_config.settings = { - showImplicitArguments = true, - showInferredType = true, - bloopSbtAlreadyInstalled = false, - excludedPackages = { - "akka.actor.typed.javadsl", - "com.github.swagger.akka.javadsl", - "akka.stream.javadsl", - }, - fallbackScalaVersion = "2.13.8", - superMethodLensesEnabled = true, - javaHome = "/Users/salar/.nix-profile" - } - metals_config.init_options.statusBarProvider = 'on' - metals_config.on_attach = function(client, bufnr) - vim.cmd([[autocmd CursorHold lua vim.lsp.buf.document_highlight()]]) - vim.cmd([[autocmd CursorMoved lua vim.lsp.buf.clear_references()]]) - vim.cmd([[autocmd BufEnter,CursorHold,InsertLeave lua vim.lsp.codelens.refresh()]]) - - require("metals").setup_dap() - end - metals_config.init_options.statusBarProvider = "on" - local capabilities = vim.lsp.protocol.make_client_capabilities() - metals_config.capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) - local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }) - vim.api.nvim_create_autocmd("FileType", { - pattern = { "scala", "sbt" }, - callback = function() - require("metals").initialize_or_attach(metals_config) - end, - group = nvim_metals_group, - }) - - -- Map :Format to vim.lsp.buf.formatting() - vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]] - - -- Set completeopt to have a better completion experience - vim.o.completeopt = 'menuone,noinsert' - - -- nvim-cmp - local cmp_autopairs = require('nvim-autopairs.completion.cmp') - local cmp = require("cmp") - cmp.setup { - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) - end, - }, - sources = { - { name = "nvim_lsp", priority = 10 }, - { name = "buffer" }, - { name = "luasnip" }, - { name = "cmp_tabnine" }, - { name = "path" }, - { name = 'nvim_lua' }, - { name = 'nvim_lsp_signature_help' } - }, - mapping = cmp.mapping.preset.insert({ - -- None of this made sense to me when first looking into this since there - -- is no vim docs, but you can't have select = true here _unless_ you are - -- also using the snippet stuff. So keep in mind that if you remove - -- snippets you need to remove this select - [""] = cmp.mapping.confirm({ select = true }), - -- I use tabs... some say you should stick to ins-completion but this is just here as an example - [""] = function(fallback) - if cmp.visible() then - cmp.select_next_item() - else - fallback() - end - end, - [""] = function(fallback) - if cmp.visible() then - cmp.select_prev_item() - else - fallback() - end - end, - }), - } - cmp.event:on( - 'confirm_done', - cmp_autopairs.on_confirm_done() - ) --- - - local t = function(str) - return vim.api.nvim_replace_termcodes(str, true, true, true) - end - - local check_back_space = function() - local col = vim.fn.col '.' - 1 - if col == 0 or vim.fn.getline('.'):sub(col, col):match '%s' then - return true - else - return false - end - end - - -- Use (s-)tab to: - --- move to prev/next item in completion menuone - --- jump to prev/next snippet's placeholder - _G.tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t '' - elseif check_back_space() then - return t '' - else - return vim.fn['cmp#complete']() - end - end - _G.s_tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t '' - else - return t '' - end - end - - vim.api.nvim_set_keymap('i', '', 'v:lua.tab_complete()', { expr = true }) - vim.api.nvim_set_keymap('s', '', 'v:lua.tab_complete()', { expr = true }) - vim.api.nvim_set_keymap('i', '', 'v:lua.s_tab_complete()', { expr = true }) - vim.api.nvim_set_keymap('s', '', 'v:lua.s_tab_complete()', { expr = true }) -end - -if fn.isdirectory(install_path) == 0 then - fn.system { 'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path } - load_plugins() - require('packer').sync() - vim.cmd 'autocmd User PackerComplete ++once lua load_config()' -else - load_plugins() - _G.load_config() -end diff --git a/programs/neovim/settings/salargalaxyline.lua b/programs/neovim/settings/salargalaxyline.lua deleted file mode 100644 index 8e678d7..0000000 --- a/programs/neovim/settings/salargalaxyline.lua +++ /dev/null @@ -1,198 +0,0 @@ -local gl = require 'galaxyline' -local gls = gl.section -gl.short_line_list = { 'LuaTree', 'vista', 'dbui' } - -local colors = { - bg = '#282c34', - yellow = '#fabd2f', - cyan = '#008080', - darkblue = '#081633', - green = '#afd700', - orange = '#FF8800', - purple = '#5d4d7a', - magenta = '#d16d9e', - grey = '#c0c0c0', - blue = '#0087d7', - red = '#ec5f67', -} - -local buffer_not_empty = function() - if vim.fn.empty(vim.fn.expand '%:t') ~= 1 then - return true - end - return false -end - -gls.left[1] = { - FirstElement = { - provider = function() - return '▋' - end, - highlight = { colors.blue, colors.yellow }, - }, -} -gls.left[2] = { - ViMode = { - provider = function() - local alias = { n = 'NORMAL', i = 'INSERT', c = 'COMMAND', v = 'VISUAL', V = 'VISUAL LINE', [''] = 'VISUAL BLOCK' } - return alias[vim.fn.mode()] - end, - separator = '', - separator_highlight = { - colors.purple, - function() - if not buffer_not_empty() then - return colors.purple - end - return colors.darkblue - end, - }, - highlight = { colors.darkblue, colors.purple, 'bold' }, - }, -} -gls.left[3] = { - FileIcon = { - provider = 'FileIcon', - condition = buffer_not_empty, - highlight = { require('galaxyline.provider_fileinfo').get_file_icon_color, colors.darkblue }, - }, -} -gls.left[4] = { - FileName = { - provider = { 'FileName', 'FileSize' }, - condition = buffer_not_empty, - separator = '', - separator_highlight = { colors.purple, colors.darkblue }, - highlight = { colors.magenta, colors.darkblue }, - }, -} - -gls.left[5] = { - GitIcon = { - provider = function() - return '  ' - end, - condition = buffer_not_empty, - highlight = { colors.orange, colors.purple }, - }, -} -gls.left[6] = { - GitBranch = { - provider = 'GitBranch', - condition = buffer_not_empty, - highlight = { colors.grey, colors.purple }, - }, -} - -local checkwidth = function() - local squeeze_width = vim.fn.winwidth(0) / 2 - if squeeze_width > 40 then - return true - end - return false -end - -gls.left[7] = { - DiffAdd = { - provider = 'DiffAdd', - condition = checkwidth, - icon = ' ', - highlight = { colors.green, colors.purple }, - }, -} -gls.left[8] = { - DiffModified = { - provider = 'DiffModified', - condition = checkwidth, - icon = ' ', - highlight = { colors.orange, colors.purple }, - }, -} -gls.left[9] = { - DiffRemove = { - provider = 'DiffRemove', - condition = checkwidth, - icon = ' ', - highlight = { colors.red, colors.purple }, - }, -} -gls.left[10] = { - LeftEnd = { - provider = function() - return '' - end, - separator = '', - separator_highlight = { colors.purple, colors.bg }, - highlight = { colors.purple, colors.purple }, - }, -} -gls.left[11] = { - DiagnosticError = { - provider = 'DiagnosticError', - icon = '  ', - highlight = { colors.red, colors.bg }, - }, -} -gls.left[12] = { - Space = { - provider = function() - return ' ' - end, - }, -} -gls.left[13] = { - DiagnosticWarn = { - provider = 'DiagnosticWarn', - icon = '  ', - highlight = { colors.blue, colors.bg }, - }, -} -gls.right[1] = { - FileFormat = { - provider = 'FileFormat', - separator = '', - separator_highlight = { colors.bg, colors.purple }, - highlight = { colors.grey, colors.purple }, - }, -} -gls.right[2] = { - LineInfo = { - provider = 'LineColumn', - separator = ' | ', - separator_highlight = { colors.darkblue, colors.purple }, - highlight = { colors.grey, colors.purple }, - }, -} -gls.right[3] = { - PerCent = { - provider = 'LinePercent', - separator = '', - separator_highlight = { colors.darkblue, colors.purple }, - highlight = { colors.grey, colors.darkblue }, - }, -} -gls.right[4] = { - ScrollBar = { - provider = 'ScrollBar', - separator_highlight = { colors.purple, colors.bg }, - highlight = { colors.yellow, colors.purple }, - }, -} - -gls.short_line_left[1] = { - BufferType = { - provider = 'FileTypeName', - separator = '', - separator_highlight = { colors.purple, colors.bg }, - highlight = { colors.grey, colors.purple }, - }, -} - -gls.short_line_right[1] = { - BufferIcon = { - provider = 'BufferIcon', - separator = '', - separator_highlight = { colors.purple, colors.bg }, - highlight = { colors.grey, colors.purple }, - }, -} From 03412261b517c36e4141c555e63ad0257fe808e0 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 11 Feb 2023 21:04:42 -0800 Subject: [PATCH 037/177] add wezterm --- home.nix | 17 +-- programs/default.nix | 1 + programs/tmux/default.nix | 1 - programs/wezterm/default.nix | 11 ++ programs/wezterm/wezterm.lua | 231 +++++++++++++++++++++++++++++++++++ 5 files changed, 246 insertions(+), 15 deletions(-) create mode 100644 programs/wezterm/default.nix create mode 100644 programs/wezterm/wezterm.lua diff --git a/home.nix b/home.nix index 2cb8e1b..6f0bd30 100644 --- a/home.nix +++ b/home.nix @@ -157,19 +157,6 @@ }; }; - programs.wezterm = { - enable = true; - extraConfig = '' - local wezterm = require 'wezterm' - return { - color_scheme = "tokyonight", - font = wezterm.font("JetBrains Mono"), - font_size = 16, - dpi = 144, - } - ''; - }; - programs.vscode = { enable = true; extensions = [ @@ -281,7 +268,7 @@ shellAliases = { cat="bat"; - du="ncdu --color dark -rr -x"; + # du="ncdu --color dark -rr -x"; fzfp="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; ping="prettyping"; ".." = "cd .."; @@ -292,6 +279,7 @@ gc="git commit -m"; gca="git commit -am"; gws="git status"; + gu="gitui"; ghauth="gh auth login --with-token < ~/.ghauth"; giscala="gitignore scala,vim,java,sbt > .gitignore"; gforksync="git fetch upstream && git merge upstream/master && git push origin master"; @@ -305,6 +293,7 @@ nixversion="nix eval nixpkgs.lib.version"; rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; v="nvim"; + wezk="wezterm show-keys --lua"; sshfre1="ssh salar@fre1.softinio.net"; sshfre2="ssh -p 2022 salar@fre2.softinio.net"; }; diff --git a/programs/default.nix b/programs/default.nix index 5dcd279..d39377b 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,4 +1,5 @@ [ ./git ./tmux + ./wezterm ] diff --git a/programs/tmux/default.nix b/programs/tmux/default.nix index 90cb547..9e264fe 100644 --- a/programs/tmux/default.nix +++ b/programs/tmux/default.nix @@ -2,7 +2,6 @@ let tmuxConfig = builtins.readFile ./tmux.conf; - in { programs.tmux = { diff --git a/programs/wezterm/default.nix b/programs/wezterm/default.nix new file mode 100644 index 0000000..e73111f --- /dev/null +++ b/programs/wezterm/default.nix @@ -0,0 +1,11 @@ +{ config, pkgs, ... }: + +let + weztermConfig = builtins.readFile ./wezterm.lua; +in +{ + programs.wezterm = { + enable = true; + extraConfig = weztermConfig; + }; +} diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua new file mode 100644 index 0000000..ff08081 --- /dev/null +++ b/programs/wezterm/wezterm.lua @@ -0,0 +1,231 @@ +local wezterm = require 'wezterm' +local act = wezterm.action + +return { + color_scheme = "tokyonight", + font = wezterm.font("JetBrains Mono"), + font_size = 16, + dpi = 144, + enable_kitty_keyboard = true, + keys = { + { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, + { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) }, + { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, + { key = '!', mods = 'CTRL', action = act.ActivateTab(0) }, + { key = '!', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) }, + { key = '-', mods = 'ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, + { key = '-', mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, + { key = '#', mods = 'CTRL', action = act.ActivateTab(2) }, + { key = '#', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) }, + { key = '$', mods = 'CTRL', action = act.ActivateTab(3) }, + { key = '$', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) }, + { key = '%', mods = 'CTRL', action = act.ActivateTab(4) }, + { key = '%', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) }, + { key = "'", mods = 'ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, + { key = "'", mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, + { key = '&', mods = 'CTRL', action = act.ActivateTab(6) }, + { key = '&', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) }, + { key = "'", mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, + { key = '(', mods = 'CTRL', action = act.ActivateTab(-1) }, + { key = '(', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) }, + { key = ')', mods = 'CTRL', action = act.ResetFontSize }, + { key = ')', mods = 'SHIFT|CTRL', action = act.ResetFontSize }, + { key = '*', mods = 'CTRL', action = act.ActivateTab(7) }, + { key = '*', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) }, + { key = '+', mods = 'CTRL', action = act.IncreaseFontSize }, + { key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize }, + { key = '-', mods = 'CTRL', action = act.DecreaseFontSize }, + { key = '-', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, + { key = '-', mods = 'SUPER', action = act.DecreaseFontSize }, + { key = '0', mods = 'CTRL', action = act.ResetFontSize }, + { key = '0', mods = 'SHIFT|CTRL', action = act.ResetFontSize }, + { key = '0', mods = 'SUPER', action = act.ResetFontSize }, + { key = '1', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) }, + { key = '1', mods = 'SUPER', action = act.ActivateTab(0) }, + { key = '2', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) }, + { key = '2', mods = 'SUPER', action = act.ActivateTab(1) }, + { key = '3', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) }, + { key = '3', mods = 'SUPER', action = act.ActivateTab(2) }, + { key = '4', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) }, + { key = '4', mods = 'SUPER', action = act.ActivateTab(3) }, + { key = '5', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) }, + { key = '5', mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, + { key = '5', mods = 'SUPER', action = act.ActivateTab(4) }, + { key = '6', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) }, + { key = '6', mods = 'SUPER', action = act.ActivateTab(5) }, + { key = '7', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) }, + { key = '7', mods = 'SUPER', action = act.ActivateTab(6) }, + { key = '8', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) }, + { key = '8', mods = 'SUPER', action = act.ActivateTab(7) }, + { key = '9', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) }, + { key = '9', mods = 'SUPER', action = act.ActivateTab(-1) }, + { key = '=', mods = 'CTRL', action = act.IncreaseFontSize }, + { key = '=', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize }, + { key = '=', mods = 'SUPER', action = act.IncreaseFontSize }, + { key = '@', mods = 'CTRL', action = act.ActivateTab(1) }, + { key = '@', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) }, + { key = 'C', mods = 'CTRL', action = act.CopyTo 'Clipboard' }, + { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, + { key = 'F', mods = 'CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, + { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, + { key = 'H', mods = 'CTRL', action = act.HideApplication }, + { key = 'H', mods = 'SHIFT|CTRL', action = act.HideApplication }, + { key = 'K', mods = 'CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, + { key = 'K', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, + { key = 'L', mods = 'CTRL', action = act.ShowDebugOverlay }, + { key = 'L', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay }, + { key = 'M', mods = 'CTRL', action = act.Hide }, + { key = 'M', mods = 'SHIFT|CTRL', action = act.Hide }, + { key = 'N', mods = 'CTRL', action = act.SpawnWindow }, + { key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow }, + { key = 'P', mods = 'CTRL', action = act.PaneSelect{ alphabet = '', mode = 'Activate' } }, + { key = 'P', mods = 'SHIFT|CTRL', action = act.PaneSelect{ alphabet = '', mode = 'Activate' } }, + { key = 'Q', mods = 'CTRL', action = act.QuitApplication }, + { key = 'Q', mods = 'SHIFT|CTRL', action = act.QuitApplication }, + { key = 'R', mods = 'CTRL', action = act.ReloadConfiguration }, + { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, + { key = 'T', mods = 'CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'U', mods = 'CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } }, + { key = 'U', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } }, + { key = 'V', mods = 'CTRL', action = act.PasteFrom 'Clipboard' }, + { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, + { key = 'W', mods = 'CTRL', action = act.CloseCurrentTab{ confirm = true } }, + { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, + { key = 'X', mods = 'CTRL', action = act.ActivateCopyMode }, + { key = 'X', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode }, + { key = 'Z', mods = 'CTRL', action = act.TogglePaneZoomState }, + { key = 'Z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState }, + { key = '[', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) }, + { key = ']', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) }, + { key = '^', mods = 'CTRL', action = act.ActivateTab(5) }, + { key = '^', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) }, + { key = '_', mods = 'CTRL', action = act.DecreaseFontSize }, + { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, + { key = 'c', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, + { key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' }, + { key = 'f', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, + { key = 'f', mods = 'SUPER', action = act.Search 'CurrentSelectionOrEmptyString' }, + { key = 'h', mods = 'SHIFT|CTRL', action = act.HideApplication }, + { key = 'h', mods = 'SUPER', action = act.HideApplication }, + { key = 'k', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, + { key = 'k', mods = 'SUPER', action = act.ClearScrollback 'ScrollbackOnly' }, + { key = 'l', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay }, + { key = 'm', mods = 'SHIFT|CTRL', action = act.Hide }, + { key = 'm', mods = 'SUPER', action = act.Hide }, + { key = 'n', mods = 'SHIFT|CTRL', action = act.SpawnWindow }, + { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, + { key = 'p', mods = 'SHIFT|CTRL', action = act.PaneSelect{ alphabet = '', mode = 'Activate' } }, + { key = 'q', mods = 'SHIFT|CTRL', action = act.QuitApplication }, + { key = 'q', mods = 'SUPER', action = act.QuitApplication }, + { key = 'r', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, + { key = 'r', mods = 'SUPER', action = act.ReloadConfiguration }, + { key = 't', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'u', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } }, + { key = 'v', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, + { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' }, + { key = 'w', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, + { key = 'w', mods = 'SUPER', action = act.CloseCurrentTab{ confirm = true } }, + { key = 'x', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode }, + { key = 'z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState }, + { key = '{', mods = 'SUPER', action = act.ActivateTabRelative(-1) }, + { key = '{', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) }, + { key = '}', mods = 'SUPER', action = act.ActivateTabRelative(1) }, + { key = '}', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) }, + { key = 'phys:Space', mods = 'SHIFT|CTRL', action = act.QuickSelect }, + { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) }, + { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) }, + { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) }, + { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) }, + { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) }, + { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) }, + { key = 'LeftArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' }, + { key = 'LeftArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Left', 1 } }, + { key = 'RightArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' }, + { key = 'RightArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Right', 1 } }, + { key = 'UpArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' }, + { key = 'UpArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Up', 1 } }, + { key = 'DownArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' }, + { key = 'DownArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Down', 1 } }, + { key = 'Insert', mods = 'SHIFT', action = act.PasteFrom 'PrimarySelection' }, + { key = 'Insert', mods = 'CTRL', action = act.CopyTo 'PrimarySelection' }, + { key = 'Copy', mods = 'NONE', action = act.CopyTo 'Clipboard' }, + { key = 'Paste', mods = 'NONE', action = act.PasteFrom 'Clipboard' }, + }, + + key_tables = { + copy_mode = { + { key = 'Tab', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' }, + { key = 'Tab', mods = 'SHIFT', action = act.CopyMode 'MoveBackwardWord' }, + { key = 'Enter', mods = 'NONE', action = act.CopyMode 'MoveToStartOfNextLine' }, + { key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' }, + { key = 'Space', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } }, + { key = '$', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' }, + { key = '$', mods = 'SHIFT', action = act.CopyMode 'MoveToEndOfLineContent' }, + { key = ',', mods = 'NONE', action = act.CopyMode 'JumpReverse' }, + { key = '0', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' }, + { key = ';', mods = 'NONE', action = act.CopyMode 'JumpAgain' }, + { key = 'F', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = false } } }, + { key = 'F', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = false } } }, + { key = 'G', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackBottom' }, + { key = 'G', mods = 'SHIFT', action = act.CopyMode 'MoveToScrollbackBottom' }, + { key = 'H', mods = 'NONE', action = act.CopyMode 'MoveToViewportTop' }, + { key = 'H', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportTop' }, + { key = 'L', mods = 'NONE', action = act.CopyMode 'MoveToViewportBottom' }, + { key = 'L', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportBottom' }, + { key = 'M', mods = 'NONE', action = act.CopyMode 'MoveToViewportMiddle' }, + { key = 'M', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportMiddle' }, + { key = 'O', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' }, + { key = 'O', mods = 'SHIFT', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' }, + { key = 'T', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = true } } }, + { key = 'T', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = true } } }, + { key = 'V', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Line' } }, + { key = 'V', mods = 'SHIFT', action = act.CopyMode{ SetSelectionMode = 'Line' } }, + { key = '^', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLineContent' }, + { key = '^', mods = 'SHIFT', action = act.CopyMode 'MoveToStartOfLineContent' }, + { key = 'b', mods = 'NONE', action = act.CopyMode 'MoveBackwardWord' }, + { key = 'b', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' }, + { key = 'b', mods = 'CTRL', action = act.CopyMode 'PageUp' }, + { key = 'c', mods = 'CTRL', action = act.CopyMode 'Close' }, + { key = 'f', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = false } } }, + { key = 'f', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' }, + { key = 'f', mods = 'CTRL', action = act.CopyMode 'PageDown' }, + { key = 'g', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackTop' }, + { key = 'g', mods = 'CTRL', action = act.CopyMode 'Close' }, + { key = 'h', mods = 'NONE', action = act.CopyMode 'MoveLeft' }, + { key = 'j', mods = 'NONE', action = act.CopyMode 'MoveDown' }, + { key = 'k', mods = 'NONE', action = act.CopyMode 'MoveUp' }, + { key = 'l', mods = 'NONE', action = act.CopyMode 'MoveRight' }, + { key = 'm', mods = 'ALT', action = act.CopyMode 'MoveToStartOfLineContent' }, + { key = 'o', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEnd' }, + { key = 'q', mods = 'NONE', action = act.CopyMode 'Close' }, + { key = 't', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = true } } }, + { key = 'v', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } }, + { key = 'v', mods = 'CTRL', action = act.CopyMode{ SetSelectionMode = 'Block' } }, + { key = 'w', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' }, + { key = 'y', mods = 'NONE', action = act.Multiple{ { CopyTo = 'ClipboardAndPrimarySelection' }, { CopyMode = 'Close' } } }, + { key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PageUp' }, + { key = 'PageDown', mods = 'NONE', action = act.CopyMode 'PageDown' }, + { key = 'LeftArrow', mods = 'NONE', action = act.CopyMode 'MoveLeft' }, + { key = 'LeftArrow', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' }, + { key = 'RightArrow', mods = 'NONE', action = act.CopyMode 'MoveRight' }, + { key = 'RightArrow', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' }, + { key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'MoveUp' }, + { key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'MoveDown' }, + }, + + search_mode = { + { key = 'Enter', mods = 'NONE', action = act.CopyMode 'PriorMatch' }, + { key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' }, + { key = 'n', mods = 'CTRL', action = act.CopyMode 'NextMatch' }, + { key = 'p', mods = 'CTRL', action = act.CopyMode 'PriorMatch' }, + { key = 'r', mods = 'CTRL', action = act.CopyMode 'CycleMatchType' }, + { key = 'u', mods = 'CTRL', action = act.CopyMode 'ClearPattern' }, + { key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PriorMatchPage' }, + { key = 'PageDown', mods = 'NONE', action = act.CopyMode 'NextMatchPage' }, + { key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'PriorMatch' }, + { key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'NextMatch' }, + }, + } +} From 99ce45327022c1698f6fc6253757f48310a60c0f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 11 Feb 2023 21:35:00 -0800 Subject: [PATCH 038/177] update fish plugins --- home.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home.nix b/home.nix index 6f0bd30..a564c37 100644 --- a/home.nix +++ b/home.nix @@ -196,7 +196,7 @@ src = pkgs.fetchFromGitHub { owner = "edc"; repo = "bass"; - rev = "50eba266b0d8a952c7230fca1114cbc9fbbdfbd4"; + rev = "2fd3d2157d5271ca3575b13daec975ca4c10577a"; sha256 = "0ppmajynpb9l58xbrcnbp41b66g7p0c9l2nlsvyjwk6d16g4p4gy"; }; } @@ -205,7 +205,7 @@ src = pkgs.fetchFromGitHub { owner = "oh-my-fish"; repo = "plugin-foreign-env"; - rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc"; + rev = "3ee95536106c11073d6ff466c1681cde31001383"; sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"; }; } @@ -214,7 +214,7 @@ src = pkgs.fetchFromGitHub { owner = "oh-my-fish"; repo = "theme-bobthefish"; - rev = "a2ad38aa051aaed25ae3bd6129986e7f27d42d7b"; + rev = "2dcfcab653ae69ae95ab57217fe64c97ae05d8de"; sha256 = "1fssb5bqd2d7856gsylf93d28n3rw4rlqkhbg120j5ng27c7v7lq"; }; } From 7c8834990d5bcb9154e484dabcf08a0220c8ef40 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 14 Feb 2023 22:15:53 -0800 Subject: [PATCH 039/177] improvements to wez keybind and chose theme for kitty --- home.nix | 9 +- .../sumneko-lua-language-server/default.nix | 38 --- programs/wezterm/wezterm.lua | 247 +++--------------- 3 files changed, 33 insertions(+), 261 deletions(-) delete mode 100644 overlays/sumneko-lua-language-server/default.nix diff --git a/home.nix b/home.nix index a564c37..e12194c 100644 --- a/home.nix +++ b/home.nix @@ -7,7 +7,6 @@ imports = (import ./programs); # nixpkgs.overlays = [ - # (import ./overlays/sumneko-lua-language-server) # (import (builtins.fetchTarball { # url = https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz; # })) @@ -134,6 +133,7 @@ programs.kitty = { enable = true; + theme = "Tokyo Night"; font = { name = "FiraCode Nerd Font Mono Retina"; size = 16; @@ -285,6 +285,7 @@ gforksync="git fetch upstream && git merge upstream/master && git push origin master"; grep="grep --color=auto"; new-sbt="sbt new scala/scala-seed.g8"; + nixc="cd ~/.config/nixpkgs"; nixre="nix build && sudo ./result/activate"; nixinfo="nix-shell -p nix-info --run \"nix-info -m\""; nixgc="nix-collect-garbage -d"; @@ -299,12 +300,6 @@ }; }; - xdg.configFile."fish/conf.d/plugin-bobthefish.fish".text = lib.mkAfter '' - for f in $plugin_dir/*.fish - source $f - end - ''; - # pijul config xdg.configFile."pijul/config.toml".text = lib.mkAfter '' [author] diff --git a/overlays/sumneko-lua-language-server/default.nix b/overlays/sumneko-lua-language-server/default.nix deleted file mode 100644 index 6efa0bf..0000000 --- a/overlays/sumneko-lua-language-server/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -self: super: { - sumneko-lua-language-server = super.sumneko-lua-language-server.overrideAttrs ( - o: rec { - version = "2.2.3"; - - src = builtins.fetchurl { - url = "https://github.com/sumneko/vscode-lua/releases/download/v${version}/lua-${version}.vsix"; - sha256 = "16rpi6p7rslpdfi37ndy5g9qmvh22qljfk9w15kdrr668hfwp7nm"; - }; - - unpackPhase = '' - ${super.pkgs.unzip}/bin/unzip $src - ''; - - platform = if super.stdenv.isDarwin then "macOS" else "Linux"; - - preBuild = ""; - postBuild = ""; - nativeBuildInputs = [ - super.makeWrapper - ]; - - installPhase = '' - mkdir -p $out - cp -r extension $out/extras - chmod a+x $out/extras/server/bin/$platform/lua-language-server - makeWrapper $out/extras/server/bin/$platform/lua-language-server \ - $out/bin/lua-language-server \ - --add-flags "-E -e LANG=en $out/extras/server/main.lua \ - --logpath='~/.cache/sumneko_lua/log' \ - --metapath='~/.cache/sumneko_lua/meta'" - ''; - - meta.platforms = super.lib.platforms.all; - } - ); -} - diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index ff08081..00a4227 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -2,230 +2,45 @@ local wezterm = require 'wezterm' local act = wezterm.action return { + check_for_updates = false, color_scheme = "tokyonight", font = wezterm.font("JetBrains Mono"), font_size = 16, dpi = 144, enable_kitty_keyboard = true, + leader = { key="b", mods="CTRL", timeout_milliseconds = 1000 }, + disable_default_key_bindings = true, + default_prog = { "/Users/salar/.nix-profile/bin/fish" }, keys = { - { key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) }, - { key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) }, + { key = "-", mods = "LEADER", action=wezterm.action{SplitVertical={domain="CurrentPaneDomain"}}}, + { key = "'", mods = "LEADER", action=wezterm.action{SplitHorizontal={domain="CurrentPaneDomain"}}}, + { key = "z", mods = "LEADER", action=act.TogglePaneZoomState }, + { key = "c", mods = "LEADER", action=wezterm.action{SpawnTab="CurrentPaneDomain"}}, + { key = "h", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Left"}}, + { key = "j", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Down"}}, + { key = "k", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Up"}}, + { key = "l", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Right"}}, + { key = "H", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Left", 5}}}, + { key = "J", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Down", 5}}}, + { key = "K", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Up", 5}}}, + { key = "L", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Right", 5}}}, + { key = "1", mods = "LEADER", action=wezterm.action{ActivateTab=0}}, + { key = "2", mods = "LEADER", action=wezterm.action{ActivateTab=1}}, + { key = "3", mods = "LEADER", action=wezterm.action{ActivateTab=2}}, + { key = "4", mods = "LEADER", action=wezterm.action{ActivateTab=3}}, + { key = "5", mods = "LEADER", action=wezterm.action{ActivateTab=4}}, + { key = "6", mods = "LEADER", action=wezterm.action{ActivateTab=5}}, + { key = "7", mods = "LEADER", action=wezterm.action{ActivateTab=6}}, + { key = "8", mods = "LEADER", action=wezterm.action{ActivateTab=7}}, + { key = "9", mods = "LEADER", action=wezterm.action{ActivateTab=8}}, + { key = "&", mods = "LEADER", action=wezterm.action{CloseCurrentTab={confirm=true}}}, + { key = "x", mods = "LEADER", action=wezterm.action{CloseCurrentPane={confirm=true}}}, { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, - { key = '!', mods = 'CTRL', action = act.ActivateTab(0) }, - { key = '!', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) }, - { key = '-', mods = 'ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, - { key = '-', mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, - { key = '#', mods = 'CTRL', action = act.ActivateTab(2) }, - { key = '#', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) }, - { key = '$', mods = 'CTRL', action = act.ActivateTab(3) }, - { key = '$', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) }, - { key = '%', mods = 'CTRL', action = act.ActivateTab(4) }, - { key = '%', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) }, - { key = "'", mods = 'ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, - { key = "'", mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, - { key = '&', mods = 'CTRL', action = act.ActivateTab(6) }, - { key = '&', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) }, - { key = "'", mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } }, - { key = '(', mods = 'CTRL', action = act.ActivateTab(-1) }, - { key = '(', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) }, - { key = ')', mods = 'CTRL', action = act.ResetFontSize }, - { key = ')', mods = 'SHIFT|CTRL', action = act.ResetFontSize }, - { key = '*', mods = 'CTRL', action = act.ActivateTab(7) }, - { key = '*', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) }, - { key = '+', mods = 'CTRL', action = act.IncreaseFontSize }, - { key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize }, - { key = '-', mods = 'CTRL', action = act.DecreaseFontSize }, - { key = '-', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, - { key = '-', mods = 'SUPER', action = act.DecreaseFontSize }, - { key = '0', mods = 'CTRL', action = act.ResetFontSize }, - { key = '0', mods = 'SHIFT|CTRL', action = act.ResetFontSize }, - { key = '0', mods = 'SUPER', action = act.ResetFontSize }, - { key = '1', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) }, - { key = '1', mods = 'SUPER', action = act.ActivateTab(0) }, - { key = '2', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) }, - { key = '2', mods = 'SUPER', action = act.ActivateTab(1) }, - { key = '3', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) }, - { key = '3', mods = 'SUPER', action = act.ActivateTab(2) }, - { key = '4', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) }, - { key = '4', mods = 'SUPER', action = act.ActivateTab(3) }, - { key = '5', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) }, - { key = '5', mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } }, - { key = '5', mods = 'SUPER', action = act.ActivateTab(4) }, - { key = '6', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) }, - { key = '6', mods = 'SUPER', action = act.ActivateTab(5) }, - { key = '7', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) }, - { key = '7', mods = 'SUPER', action = act.ActivateTab(6) }, - { key = '8', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) }, - { key = '8', mods = 'SUPER', action = act.ActivateTab(7) }, - { key = '9', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) }, - { key = '9', mods = 'SUPER', action = act.ActivateTab(-1) }, - { key = '=', mods = 'CTRL', action = act.IncreaseFontSize }, - { key = '=', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize }, - { key = '=', mods = 'SUPER', action = act.IncreaseFontSize }, - { key = '@', mods = 'CTRL', action = act.ActivateTab(1) }, - { key = '@', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) }, - { key = 'C', mods = 'CTRL', action = act.CopyTo 'Clipboard' }, - { key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, - { key = 'F', mods = 'CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, - { key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, - { key = 'H', mods = 'CTRL', action = act.HideApplication }, - { key = 'H', mods = 'SHIFT|CTRL', action = act.HideApplication }, - { key = 'K', mods = 'CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, - { key = 'K', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, - { key = 'L', mods = 'CTRL', action = act.ShowDebugOverlay }, - { key = 'L', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay }, - { key = 'M', mods = 'CTRL', action = act.Hide }, - { key = 'M', mods = 'SHIFT|CTRL', action = act.Hide }, - { key = 'N', mods = 'CTRL', action = act.SpawnWindow }, - { key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow }, - { key = 'P', mods = 'CTRL', action = act.PaneSelect{ alphabet = '', mode = 'Activate' } }, - { key = 'P', mods = 'SHIFT|CTRL', action = act.PaneSelect{ alphabet = '', mode = 'Activate' } }, - { key = 'Q', mods = 'CTRL', action = act.QuitApplication }, - { key = 'Q', mods = 'SHIFT|CTRL', action = act.QuitApplication }, - { key = 'R', mods = 'CTRL', action = act.ReloadConfiguration }, - { key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, - { key = 'T', mods = 'CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = 'U', mods = 'CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } }, - { key = 'U', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } }, - { key = 'V', mods = 'CTRL', action = act.PasteFrom 'Clipboard' }, - { key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, - { key = 'W', mods = 'CTRL', action = act.CloseCurrentTab{ confirm = true } }, - { key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, - { key = 'X', mods = 'CTRL', action = act.ActivateCopyMode }, - { key = 'X', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode }, - { key = 'Z', mods = 'CTRL', action = act.TogglePaneZoomState }, - { key = 'Z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState }, - { key = '[', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) }, - { key = ']', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) }, - { key = '^', mods = 'CTRL', action = act.ActivateTab(5) }, - { key = '^', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) }, - { key = '_', mods = 'CTRL', action = act.DecreaseFontSize }, - { key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize }, - { key = 'c', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' }, { key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' }, - { key = 'f', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' }, - { key = 'f', mods = 'SUPER', action = act.Search 'CurrentSelectionOrEmptyString' }, - { key = 'h', mods = 'SHIFT|CTRL', action = act.HideApplication }, - { key = 'h', mods = 'SUPER', action = act.HideApplication }, - { key = 'k', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' }, - { key = 'k', mods = 'SUPER', action = act.ClearScrollback 'ScrollbackOnly' }, - { key = 'l', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay }, - { key = 'm', mods = 'SHIFT|CTRL', action = act.Hide }, - { key = 'm', mods = 'SUPER', action = act.Hide }, - { key = 'n', mods = 'SHIFT|CTRL', action = act.SpawnWindow }, - { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, - { key = 'p', mods = 'SHIFT|CTRL', action = act.PaneSelect{ alphabet = '', mode = 'Activate' } }, - { key = 'q', mods = 'SHIFT|CTRL', action = act.QuitApplication }, - { key = 'q', mods = 'SUPER', action = act.QuitApplication }, - { key = 'r', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration }, - { key = 'r', mods = 'SUPER', action = act.ReloadConfiguration }, - { key = 't', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = 'u', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } }, - { key = 'v', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' }, { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' }, - { key = 'w', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } }, - { key = 'w', mods = 'SUPER', action = act.CloseCurrentTab{ confirm = true } }, - { key = 'x', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode }, - { key = 'z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState }, - { key = '{', mods = 'SUPER', action = act.ActivateTabRelative(-1) }, - { key = '{', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) }, - { key = '}', mods = 'SUPER', action = act.ActivateTabRelative(1) }, - { key = '}', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) }, - { key = 'phys:Space', mods = 'SHIFT|CTRL', action = act.QuickSelect }, - { key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) }, - { key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) }, - { key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) }, - { key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) }, - { key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) }, - { key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) }, - { key = 'LeftArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' }, - { key = 'LeftArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Left', 1 } }, - { key = 'RightArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' }, - { key = 'RightArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Right', 1 } }, - { key = 'UpArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' }, - { key = 'UpArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Up', 1 } }, - { key = 'DownArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' }, - { key = 'DownArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Down', 1 } }, - { key = 'Insert', mods = 'SHIFT', action = act.PasteFrom 'PrimarySelection' }, - { key = 'Insert', mods = 'CTRL', action = act.CopyTo 'PrimarySelection' }, - { key = 'Copy', mods = 'NONE', action = act.CopyTo 'Clipboard' }, - { key = 'Paste', mods = 'NONE', action = act.PasteFrom 'Clipboard' }, - }, - - key_tables = { - copy_mode = { - { key = 'Tab', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' }, - { key = 'Tab', mods = 'SHIFT', action = act.CopyMode 'MoveBackwardWord' }, - { key = 'Enter', mods = 'NONE', action = act.CopyMode 'MoveToStartOfNextLine' }, - { key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' }, - { key = 'Space', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } }, - { key = '$', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' }, - { key = '$', mods = 'SHIFT', action = act.CopyMode 'MoveToEndOfLineContent' }, - { key = ',', mods = 'NONE', action = act.CopyMode 'JumpReverse' }, - { key = '0', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' }, - { key = ';', mods = 'NONE', action = act.CopyMode 'JumpAgain' }, - { key = 'F', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = false } } }, - { key = 'F', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = false } } }, - { key = 'G', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackBottom' }, - { key = 'G', mods = 'SHIFT', action = act.CopyMode 'MoveToScrollbackBottom' }, - { key = 'H', mods = 'NONE', action = act.CopyMode 'MoveToViewportTop' }, - { key = 'H', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportTop' }, - { key = 'L', mods = 'NONE', action = act.CopyMode 'MoveToViewportBottom' }, - { key = 'L', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportBottom' }, - { key = 'M', mods = 'NONE', action = act.CopyMode 'MoveToViewportMiddle' }, - { key = 'M', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportMiddle' }, - { key = 'O', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' }, - { key = 'O', mods = 'SHIFT', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' }, - { key = 'T', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = true } } }, - { key = 'T', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = true } } }, - { key = 'V', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Line' } }, - { key = 'V', mods = 'SHIFT', action = act.CopyMode{ SetSelectionMode = 'Line' } }, - { key = '^', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLineContent' }, - { key = '^', mods = 'SHIFT', action = act.CopyMode 'MoveToStartOfLineContent' }, - { key = 'b', mods = 'NONE', action = act.CopyMode 'MoveBackwardWord' }, - { key = 'b', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' }, - { key = 'b', mods = 'CTRL', action = act.CopyMode 'PageUp' }, - { key = 'c', mods = 'CTRL', action = act.CopyMode 'Close' }, - { key = 'f', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = false } } }, - { key = 'f', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' }, - { key = 'f', mods = 'CTRL', action = act.CopyMode 'PageDown' }, - { key = 'g', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackTop' }, - { key = 'g', mods = 'CTRL', action = act.CopyMode 'Close' }, - { key = 'h', mods = 'NONE', action = act.CopyMode 'MoveLeft' }, - { key = 'j', mods = 'NONE', action = act.CopyMode 'MoveDown' }, - { key = 'k', mods = 'NONE', action = act.CopyMode 'MoveUp' }, - { key = 'l', mods = 'NONE', action = act.CopyMode 'MoveRight' }, - { key = 'm', mods = 'ALT', action = act.CopyMode 'MoveToStartOfLineContent' }, - { key = 'o', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEnd' }, - { key = 'q', mods = 'NONE', action = act.CopyMode 'Close' }, - { key = 't', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = true } } }, - { key = 'v', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } }, - { key = 'v', mods = 'CTRL', action = act.CopyMode{ SetSelectionMode = 'Block' } }, - { key = 'w', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' }, - { key = 'y', mods = 'NONE', action = act.Multiple{ { CopyTo = 'ClipboardAndPrimarySelection' }, { CopyMode = 'Close' } } }, - { key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PageUp' }, - { key = 'PageDown', mods = 'NONE', action = act.CopyMode 'PageDown' }, - { key = 'LeftArrow', mods = 'NONE', action = act.CopyMode 'MoveLeft' }, - { key = 'LeftArrow', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' }, - { key = 'RightArrow', mods = 'NONE', action = act.CopyMode 'MoveRight' }, - { key = 'RightArrow', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' }, - { key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'MoveUp' }, - { key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'MoveDown' }, - }, - - search_mode = { - { key = 'Enter', mods = 'NONE', action = act.CopyMode 'PriorMatch' }, - { key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' }, - { key = 'n', mods = 'CTRL', action = act.CopyMode 'NextMatch' }, - { key = 'p', mods = 'CTRL', action = act.CopyMode 'PriorMatch' }, - { key = 'r', mods = 'CTRL', action = act.CopyMode 'CycleMatchType' }, - { key = 'u', mods = 'CTRL', action = act.CopyMode 'ClearPattern' }, - { key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PriorMatchPage' }, - { key = 'PageDown', mods = 'NONE', action = act.CopyMode 'NextMatchPage' }, - { key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'PriorMatch' }, - { key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'NextMatch' }, - }, + { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, + { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'q', mods = 'SUPER', action = act.QuitApplication }, } } + From 307d569fcca0b8cd041361882731cb5fe3a3e94e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 16 Feb 2023 00:26:32 -0800 Subject: [PATCH 040/177] wezterm: add keybindings for workspaces and change leader key --- programs/wezterm/wezterm.lua | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 00a4227..9e15886 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -1,6 +1,10 @@ local wezterm = require 'wezterm' local act = wezterm.action +wezterm.on('update-right-status', function(window, pane) + window:set_right_status(window:active_workspace()) +end) + return { check_for_updates = false, color_scheme = "tokyonight", @@ -8,7 +12,7 @@ return { font_size = 16, dpi = 144, enable_kitty_keyboard = true, - leader = { key="b", mods="CTRL", timeout_milliseconds = 1000 }, + leader = { key="b", mods="SUPER|CTRL", timeout_milliseconds = 1000 }, disable_default_key_bindings = true, default_prog = { "/Users/salar/.nix-profile/bin/fish" }, keys = { @@ -41,6 +45,14 @@ return { { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, { key = 'q', mods = 'SUPER', action = act.QuitApplication }, + { key = 'i', mods = 'CTRL|SHIFT', action = act.SwitchToWorkspace }, + { + key = '9', + mods = 'ALT', + action = act.ShowLauncherArgs { + flags = 'FUZZY|WORKSPACES', + }, + }, } } From 595a70a753dab4080c74dd4e714d250ed756ec2d Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 21 Feb 2023 18:12:34 -0800 Subject: [PATCH 041/177] update nvim --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index e12194c..e02c53c 100644 --- a/home.nix +++ b/home.nix @@ -311,7 +311,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "9431d011d164289f0f16b851dd8605a0bf334c46"; + rev = "30228420ad22efcbb313fe1da744701ce347bb9f"; }; } From 095b211b7941da52426f379320e06a4d1470c708 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 23 Feb 2023 18:44:46 -0800 Subject: [PATCH 042/177] flake and neovim updates --- flake.lock | 18 +++++++++--------- home.nix | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 40ca3e4..cae993a 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1675935446, - "narHash": "sha256-WajulTn7QdwC7QuXRBavrANuIXE5z+08EdxdRw1qsNs=", + "lastModified": 1677104801, + "narHash": "sha256-2V5nKOYVFMYlseYdDKiEaww2xqcE0GtS1ax3SoUX99I=", "owner": "nix-community", "repo": "home-manager", - "rev": "2dce7f1a55e785a22d61668516df62899278c9e4", + "rev": "4295fdfa6b0005c32f2e1f0b732faf5810c1bc7f", "type": "github" }, "original": { @@ -44,11 +44,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1675942811, - "narHash": "sha256-/v4Z9mJmADTpXrdIlAjFa1e+gkpIIROR670UVDQFwIw=", + "lastModified": 1677063315, + "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "724bfc0892363087709bd3a5a1666296759154b1", + "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nur": { "locked": { - "lastModified": 1676087160, - "narHash": "sha256-el2tNbWUhpz0IBoORS144xjMTi9WIqbQWRBmrsF4M64=", + "lastModified": 1677204696, + "narHash": "sha256-AWCrT5BEl3Jgr9dhDj0Bj8VRdTYaCHXTnR/NVnyh/Cg=", "owner": "nix-community", "repo": "nur", - "rev": "1ddd5cf5cc7215ea63f1dee09016b53cc79034e5", + "rev": "2f0a94085df4764f360350d944a9124f79476f9c", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index e02c53c..de0cd3d 100644 --- a/home.nix +++ b/home.nix @@ -24,7 +24,7 @@ }; packages = with pkgs; [ ( python310.withPackages (ps: with ps; [ pip flake8 black ]) ) - jdk + jdk17 any-nix-shell aspell bloop @@ -311,7 +311,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "30228420ad22efcbb313fe1da744701ce347bb9f"; + rev = "a8853c25bb1c257ee6f0e6d5ba9d317fbdde6b7f"; }; } From 2a94b52e760dfd222a00503d252a5ce394d761e3 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 24 Feb 2023 18:19:14 -0800 Subject: [PATCH 043/177] markdown improvements --- home.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index de0cd3d..f9ce077 100644 --- a/home.nix +++ b/home.nix @@ -41,6 +41,7 @@ gitAndTools.diff-so-fancy ghc ghcid + glow gnupg go graphviz @@ -50,6 +51,7 @@ luajitPackages.luarocks luajitPackages.luasocket lorri + marksman maven multimarkdown mypy @@ -311,7 +313,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "a8853c25bb1c257ee6f0e6d5ba9d317fbdde6b7f"; + rev = "f1ca602f8d25d9bd18648acc9b61c1356ec24fd0"; }; } From e9e81fb6fb49aaac3d6835b29c701b54bef36184 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 24 Feb 2023 19:14:05 -0800 Subject: [PATCH 044/177] neovim updates --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index f9ce077..d07150e 100644 --- a/home.nix +++ b/home.nix @@ -313,7 +313,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "f1ca602f8d25d9bd18648acc9b61c1356ec24fd0"; + rev = "ff03b6eaaf55fa6d50a8c03a8747043636a6c0a4"; }; } From 5dd55a91dffbeddde17888b987917668e9aef744 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 28 Feb 2023 18:38:05 -0800 Subject: [PATCH 045/177] latest neovim and wezterm config updates --- home.nix | 5 ++++- programs/wezterm/wezterm.lua | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index d07150e..3135efa 100644 --- a/home.nix +++ b/home.nix @@ -34,6 +34,7 @@ cmake coursier curlFull + delta exa fd ffmpeg @@ -299,6 +300,8 @@ wezk="wezterm show-keys --lua"; sshfre1="ssh salar@fre1.softinio.net"; sshfre2="ssh -p 2022 salar@fre2.softinio.net"; + sshhcloud1="ssh salar@hcloud1.softinio.net"; + sshhcloud1r="ssh root@hcloud1.softinio.net"; }; }; @@ -313,7 +316,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "ff03b6eaaf55fa6d50a8c03a8747043636a6c0a4"; + rev = "e7dfc75b15c3dfecb736809815db09896529bf6d"; }; } diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 9e15886..86b1d20 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -11,7 +11,6 @@ return { font = wezterm.font("JetBrains Mono"), font_size = 16, dpi = 144, - enable_kitty_keyboard = true, leader = { key="b", mods="SUPER|CTRL", timeout_milliseconds = 1000 }, disable_default_key_bindings = true, default_prog = { "/Users/salar/.nix-profile/bin/fish" }, From f55b00efc06687b48d4c103c9ba56f5103944b4d Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 28 Feb 2023 19:03:28 -0800 Subject: [PATCH 046/177] update neovim config --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 3135efa..79ba1d3 100644 --- a/home.nix +++ b/home.nix @@ -316,7 +316,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "e7dfc75b15c3dfecb736809815db09896529bf6d"; + rev = "8f9763738d35e3b889d328f75bea8cd69c6ebd8f"; }; } From 487f3988c6fda6811ea0116f6fafa52bbf811f57 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 1 Mar 2023 22:02:48 -0800 Subject: [PATCH 047/177] update neovim --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 79ba1d3..b1ce80f 100644 --- a/home.nix +++ b/home.nix @@ -316,7 +316,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "8f9763738d35e3b889d328f75bea8cd69c6ebd8f"; + rev = "b873a14c3adc0815a51a54fa96f4d2fcfc1e93ba"; }; } From 63a1ab0a2f72bfe422aef2e02d3b31b3c540ef83 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 1 Mar 2023 22:06:10 -0800 Subject: [PATCH 048/177] add alias for adding ssh key on mac --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index b1ce80f..8e45546 100644 --- a/home.nix +++ b/home.nix @@ -270,6 +270,7 @@ ''; shellAliases = { + addsshmac="ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain"; cat="bat"; # du="ncdu --color dark -rr -x"; fzfp="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; From 5d8cfd92502576fbd7142417914d4f95a208a570 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 7 Mar 2023 07:57:11 -0800 Subject: [PATCH 049/177] neovim update --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 8e45546..6e0fc0a 100644 --- a/home.nix +++ b/home.nix @@ -317,7 +317,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/softinio/nvim-config.git"; - rev = "b873a14c3adc0815a51a54fa96f4d2fcfc1e93ba"; + rev = "3c5cdb2304a76e942cfb126e5ad0c93076626c7a"; }; } From 24d20d13910be4dfc45e5c4a1364706ec8d07d96 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 8 Mar 2023 19:31:49 -0800 Subject: [PATCH 050/177] wezterm updates --- programs/wezterm/wezterm.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 86b1d20..0d75a68 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -8,16 +8,16 @@ end) return { check_for_updates = false, color_scheme = "tokyonight", - font = wezterm.font("JetBrains Mono"), + font = wezterm.font("FiraCode Nerd Font Mono"), font_size = 16, dpi = 144, + scrollback_lines = 10000, leader = { key="b", mods="SUPER|CTRL", timeout_milliseconds = 1000 }, - disable_default_key_bindings = true, default_prog = { "/Users/salar/.nix-profile/bin/fish" }, keys = { { key = "-", mods = "LEADER", action=wezterm.action{SplitVertical={domain="CurrentPaneDomain"}}}, { key = "'", mods = "LEADER", action=wezterm.action{SplitHorizontal={domain="CurrentPaneDomain"}}}, - { key = "z", mods = "LEADER", action=act.TogglePaneZoomState }, + { key = "8", mods = "ALT", action=act.TogglePaneZoomState }, { key = "c", mods = "LEADER", action=wezterm.action{SpawnTab="CurrentPaneDomain"}}, { key = "h", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Left"}}, { key = "j", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Down"}}, From 985b139a3b2c5a900c0ff9f25b5da1202d12f591 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 8 Mar 2023 20:56:34 -0800 Subject: [PATCH 051/177] wezterm updates --- programs/wezterm/wezterm.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 0d75a68..6056403 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -12,12 +12,14 @@ return { font_size = 16, dpi = 144, scrollback_lines = 10000, - leader = { key="b", mods="SUPER|CTRL", timeout_milliseconds = 1000 }, + initial_cols = 400, + initial_rows = 80, + leader = { key="b", mods="SUPER", timeout_milliseconds = 1000 }, default_prog = { "/Users/salar/.nix-profile/bin/fish" }, keys = { { key = "-", mods = "LEADER", action=wezterm.action{SplitVertical={domain="CurrentPaneDomain"}}}, { key = "'", mods = "LEADER", action=wezterm.action{SplitHorizontal={domain="CurrentPaneDomain"}}}, - { key = "8", mods = "ALT", action=act.TogglePaneZoomState }, + { key = "k", mods = "SUPER", action=act.TogglePaneZoomState }, { key = "c", mods = "LEADER", action=wezterm.action{SpawnTab="CurrentPaneDomain"}}, { key = "h", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Left"}}, { key = "j", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Down"}}, From 22ce600524500470bc3530157b551022372f758e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 8 Apr 2023 16:32:46 -0700 Subject: [PATCH 052/177] flake update and wezterm ssh config --- flake.lock | 30 +++++++++++++++--------------- home.nix | 10 ++++++---- programs/wezterm/wezterm.lua | 8 ++++++++ 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index cae993a..91f8bbd 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1673295039, - "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=", + "lastModified": 1680266963, + "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "87b9d090ad39b25b2400029c64825fc2a8868943", + "rev": "99d4187d11be86b49baa3a1aec0530004072374f", "type": "github" }, "original": { @@ -29,11 +29,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1677104801, - "narHash": "sha256-2V5nKOYVFMYlseYdDKiEaww2xqcE0GtS1ax3SoUX99I=", + "lastModified": 1680667162, + "narHash": "sha256-2vgxK4j42y73S3XB2cThz1dSEyK9J9tfu4mhuEfAw68=", "owner": "nix-community", "repo": "home-manager", - "rev": "4295fdfa6b0005c32f2e1f0b732faf5810c1bc7f", + "rev": "440faf5ae472657ef2d8cc7756d77b6ab0ace68d", "type": "github" }, "original": { @@ -44,11 +44,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1677063315, - "narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=", + "lastModified": 1680758185, + "narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "988cc958c57ce4350ec248d2d53087777f9e1949", + "rev": "0e19daa510e47a40e06257e205965f3b96ce0ac9", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nur": { "locked": { - "lastModified": 1677204696, - "narHash": "sha256-AWCrT5BEl3Jgr9dhDj0Bj8VRdTYaCHXTnR/NVnyh/Cg=", + "lastModified": 1680925189, + "narHash": "sha256-fvUnUetVs+rd3UJUwbz7iJR4FOCKKacZ+jr62QHN7Rg=", "owner": "nix-community", "repo": "nur", - "rev": "2f0a94085df4764f360350d944a9124f79476f9c", + "rev": "37873ea3385b62c9ab795fcd0aaa68863bd0c887", "type": "github" }, "original": { @@ -83,11 +83,11 @@ }, "utils": { "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 6e0fc0a..d3b224a 100644 --- a/home.nix +++ b/home.nix @@ -42,7 +42,6 @@ gitAndTools.diff-so-fancy ghc ghcid - glow gnupg go graphviz @@ -51,12 +50,11 @@ luajit luajitPackages.luarocks luajitPackages.luasocket - lorri marksman maven multimarkdown mypy - # ncdu + ncdu neofetch neovim niv @@ -104,6 +102,10 @@ enable = true; }; + programs.btop = { + enable = true; + }; + programs.direnv = { enable = true; nix-direnv.enable = true; @@ -272,7 +274,7 @@ shellAliases = { addsshmac="ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain"; cat="bat"; - # du="ncdu --color dark -rr -x"; + du="ncdu --color dark -rr -x"; fzfp="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; ping="prettyping"; ".." = "cd .."; diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 6056403..e71b2fc 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -16,6 +16,14 @@ return { initial_rows = 80, leader = { key="b", mods="SUPER", timeout_milliseconds = 1000 }, default_prog = { "/Users/salar/.nix-profile/bin/fish" }, + ssh_domains = { + { + name = "hcloud1", + remote_address = "hcloud1.softinio.net", + username = "salar", + remote_wezterm_path = "/run/current-system/sw/bin/wezterm" + } + }, keys = { { key = "-", mods = "LEADER", action=wezterm.action{SplitVertical={domain="CurrentPaneDomain"}}}, { key = "'", mods = "LEADER", action=wezterm.action{SplitHorizontal={domain="CurrentPaneDomain"}}}, From cdc210994a3638e93e6029fde2fe3f2c374ea11c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 29 Apr 2023 23:28:16 -0700 Subject: [PATCH 053/177] latest updates and comment out wezterm for now due to bug --- flake.lock | 42 +++++++++++++----------------------------- home.nix | 7 +++++-- programs/default.nix | 2 +- 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 91f8bbd..e32fe4d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1680266963, - "narHash": "sha256-IW/lzbUCOcldLHWHjNSg1YoViDnZOmz0ZJL7EH9OkV8=", + "lastModified": 1682773107, + "narHash": "sha256-+h94XeJnG3uk5imJlBi/1lVmcfCbxHpwZp5u7n3Krwg=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "99d4187d11be86b49baa3a1aec0530004072374f", + "rev": "379d42fad6bc5c28f79d5f7ff2fa5f1c90cb7bf8", "type": "github" }, "original": { @@ -25,15 +25,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "utils": "utils" + ] }, "locked": { - "lastModified": 1680667162, - "narHash": "sha256-2vgxK4j42y73S3XB2cThz1dSEyK9J9tfu4mhuEfAw68=", + "lastModified": 1682779989, + "narHash": "sha256-H8AjcIBYFYrlRobYJ+n1B+ZJ6TsaaeZpuLn4iRqVvr4=", "owner": "nix-community", "repo": "home-manager", - "rev": "440faf5ae472657ef2d8cc7756d77b6ab0ace68d", + "rev": "3144311f31194b537808ae6848f86f3dbf977d59", "type": "github" }, "original": { @@ -44,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1680758185, - "narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=", + "lastModified": 1682692304, + "narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e19daa510e47a40e06257e205965f3b96ce0ac9", + "rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37", "type": "github" }, "original": { @@ -60,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1680925189, - "narHash": "sha256-fvUnUetVs+rd3UJUwbz7iJR4FOCKKacZ+jr62QHN7Rg=", + "lastModified": 1682820334, + "narHash": "sha256-dE9vVSJZei3fqZDTbDYU35/N7XCpHoEPdS8LBid1tb4=", "owner": "nix-community", "repo": "nur", - "rev": "37873ea3385b62c9ab795fcd0aaa68863bd0c887", + "rev": "119de5f27fc96b9dc56406050b764b9a1016a061", "type": "github" }, "original": { @@ -80,21 +79,6 @@ "nixpkgs": "nixpkgs", "nur": "nur" } - }, - "utils": { - "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", diff --git a/home.nix b/home.nix index d3b224a..5ea4002 100644 --- a/home.nix +++ b/home.nix @@ -147,7 +147,7 @@ copy_on_select = true; enabled_layouts = "*"; macos_quit_when_last_window_closed = true; - scrollback_lines = 10000; + scrollback_lines = 50000; }; }; @@ -269,6 +269,7 @@ interactiveShellInit = '' eval (direnv hook fish) any-nix-shell fish --info-right | source + ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain ''; shellAliases = { @@ -287,6 +288,8 @@ gws="git status"; gu="gitui"; ghauth="gh auth login --with-token < ~/.ghauth"; + gitpurgemain=''git branch --merged | grep -v "\*" | grep -v "main" | xargs -n 1 git branch -d''; + gitpurgemaster=''git branch --merged | grep -v "\*" | grep -v "master" | xargs -n 1 git branch -d''; giscala="gitignore scala,vim,java,sbt > .gitignore"; gforksync="git fetch upstream && git merge upstream/master && git push origin master"; grep="grep --color=auto"; @@ -318,7 +321,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { - url = "https://git.softinio.com/softinio/nvim-config.git"; + url = "https://git.softinio.com/nvim-config.git"; rev = "3c5cdb2304a76e942cfb126e5ad0c93076626c7a"; }; } diff --git a/programs/default.nix b/programs/default.nix index d39377b..3d7dbc1 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,5 +1,5 @@ [ ./git ./tmux - ./wezterm + # ./wezterm ] From 5819915e4e71098a713fef55c83626a1fe44ab86 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 30 Apr 2023 11:44:34 -0700 Subject: [PATCH 054/177] add helix and change kitty leader key --- home.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home.nix b/home.nix index 5ea4002..7f82d9b 100644 --- a/home.nix +++ b/home.nix @@ -128,6 +128,13 @@ enable = true; }; + programs.helix = { + enable = true; + settings = { + theme = "tokyonight"; + }; + }; + programs.htop = { enable = true; }; @@ -148,6 +155,7 @@ enabled_layouts = "*"; macos_quit_when_last_window_closed = true; scrollback_lines = 50000; + kitty_mod = "ctrl+cmd"; }; }; From 595e21ea925e8706b0caae5d95e3bdf16aae9b71 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 11 Jun 2023 14:09:46 -0700 Subject: [PATCH 055/177] nix update and comment out forcing git protocol for git config --- flake.lock | 24 ++++++++++++------------ home.nix | 4 ++-- programs/default.nix | 2 +- programs/git/default.nix | 10 +++++----- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/flake.lock b/flake.lock index e32fe4d..a13a332 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1682773107, - "narHash": "sha256-+h94XeJnG3uk5imJlBi/1lVmcfCbxHpwZp5u7n3Krwg=", + "lastModified": 1686307493, + "narHash": "sha256-R4VEFnDn7nRmNxAu1LwNbjns5DPM8IBsvnrWmZ8ymPs=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "379d42fad6bc5c28f79d5f7ff2fa5f1c90cb7bf8", + "rev": "7c16d31383a90e0e72ace0c35d2d66a18f90fb4f", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1682779989, - "narHash": "sha256-H8AjcIBYFYrlRobYJ+n1B+ZJ6TsaaeZpuLn4iRqVvr4=", + "lastModified": 1686391840, + "narHash": "sha256-5S0APl6Mfm6a37taHwvuf11UHnAX0+PnoWQbsYbMUnc=", "owner": "nix-community", "repo": "home-manager", - "rev": "3144311f31194b537808ae6848f86f3dbf977d59", + "rev": "0144ac418ef633bfc9dbd89b8c199ad3a617c59f", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1682692304, - "narHash": "sha256-9/lyXN2BpHw+1xE+D2ySBSLMCHWqiWu5tPHBMRDib8M=", + "lastModified": 1686412476, + "narHash": "sha256-inl9SVk6o5h75XKC79qrDCAobTD1Jxh6kVYTZKHzewA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37", + "rev": "21951114383770f96ae528d0ae68824557768e81", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1682820334, - "narHash": "sha256-dE9vVSJZei3fqZDTbDYU35/N7XCpHoEPdS8LBid1tb4=", + "lastModified": 1686512756, + "narHash": "sha256-tsIkWXV8l4p4h1ABaCd/kb8ywa+l24I2ZIKY1oZQz/g=", "owner": "nix-community", "repo": "nur", - "rev": "119de5f27fc96b9dc56406050b764b9a1016a061", + "rev": "46c244ec901161db0195ef690b4f8224c565dbbb", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 7f82d9b..07c1f03 100644 --- a/home.nix +++ b/home.nix @@ -77,7 +77,6 @@ ripgrep ripgrep-all rnix-lsp - rust-analyzer rustup sbt scala-cli @@ -275,6 +274,7 @@ ''; interactiveShellInit = '' + set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH eval (direnv hook fish) any-nix-shell fish --info-right | source ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain @@ -330,7 +330,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/nvim-config.git"; - rev = "3c5cdb2304a76e942cfb126e5ad0c93076626c7a"; + rev = "bc2b71fa94386902cddf145b556575ab7381f827"; }; } diff --git a/programs/default.nix b/programs/default.nix index 3d7dbc1..d39377b 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,5 +1,5 @@ [ ./git ./tmux - # ./wezterm + ./wezterm ] diff --git a/programs/git/default.nix b/programs/git/default.nix index 5dad237..01bb53c 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -19,11 +19,11 @@ let cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""; prompt = false; }; - url = { - "git@github.com:" = { - insteadOf = "https://github.com/"; - }; - }; + # url = { + # "git@github.com:" = { + # insteadOf = "https://github.com/"; + # }; + # }; fetch.prune = true; pull = { rebase = true; From e0c67d29eda7544ddffca736a7bc32d3a05c8acb Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 15 Jul 2023 16:42:50 -0700 Subject: [PATCH 056/177] latest flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index a13a332..4a04f21 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1686307493, - "narHash": "sha256-R4VEFnDn7nRmNxAu1LwNbjns5DPM8IBsvnrWmZ8ymPs=", + "lastModified": 1689281837, + "narHash": "sha256-msgwgot2/hxXzlpYltIZ7boAqBkN8XejNOhBJ07q3FY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "7c16d31383a90e0e72ace0c35d2d66a18f90fb4f", + "rev": "c806a73609e77f0c446fdad5d3ea6ca3b7ae6e5f", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1686391840, - "narHash": "sha256-5S0APl6Mfm6a37taHwvuf11UHnAX0+PnoWQbsYbMUnc=", + "lastModified": 1689447223, + "narHash": "sha256-A5vQBtWYamvGf3c2IEhAmwIkXBzuzrkpnMYbLvc+lEY=", "owner": "nix-community", "repo": "home-manager", - "rev": "0144ac418ef633bfc9dbd89b8c199ad3a617c59f", + "rev": "f5b03feb33629cb2b6dd513935637e8cc718a5ba", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1686412476, - "narHash": "sha256-inl9SVk6o5h75XKC79qrDCAobTD1Jxh6kVYTZKHzewA=", + "lastModified": 1689373857, + "narHash": "sha256-mtBksyvhhT98Zsm9tYHuMKuLwUKDwv+BGTl6K5nOGhY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "21951114383770f96ae528d0ae68824557768e81", + "rev": "dfdbcc428f365071f0ca3888f6ec8c25c3792885", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1686512756, - "narHash": "sha256-tsIkWXV8l4p4h1ABaCd/kb8ywa+l24I2ZIKY1oZQz/g=", + "lastModified": 1689461231, + "narHash": "sha256-U8aLskZ2g065jcqNJatEyXI1rVkrfp8HtY4Sbqzu8Wc=", "owner": "nix-community", "repo": "nur", - "rev": "46c244ec901161db0195ef690b4f8224c565dbbb", + "rev": "e63268c11cc7324a004e50383dad8f8b26c85204", "type": "github" }, "original": { From 5abb42c8b66469c92bfaea8430aa57ec0dce8e38 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 12 Aug 2023 14:13:38 -0700 Subject: [PATCH 057/177] flake updates --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 4a04f21..7a13033 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1689281837, - "narHash": "sha256-msgwgot2/hxXzlpYltIZ7boAqBkN8XejNOhBJ07q3FY=", + "lastModified": 1691640097, + "narHash": "sha256-6vPsJYjtt2hs4mkiR46yt8c/Spdm/UiUKoSCIlc7iJw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c806a73609e77f0c446fdad5d3ea6ca3b7ae6e5f", + "rev": "426d38710b656b0a31f8eaae6e0002206a3b96d7", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1689447223, - "narHash": "sha256-A5vQBtWYamvGf3c2IEhAmwIkXBzuzrkpnMYbLvc+lEY=", + "lastModified": 1691856649, + "narHash": "sha256-1/KYCwNyOPpUoyno9Yj3zMHITQaW+wPzVlJFPOPPCo4=", "owner": "nix-community", "repo": "home-manager", - "rev": "f5b03feb33629cb2b6dd513935637e8cc718a5ba", + "rev": "406d34d919e9e8b831b531782cf5ef6995188566", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1689373857, - "narHash": "sha256-mtBksyvhhT98Zsm9tYHuMKuLwUKDwv+BGTl6K5nOGhY=", + "lastModified": 1691654369, + "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dfdbcc428f365071f0ca3888f6ec8c25c3792885", + "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1689461231, - "narHash": "sha256-U8aLskZ2g065jcqNJatEyXI1rVkrfp8HtY4Sbqzu8Wc=", + "lastModified": 1691854419, + "narHash": "sha256-ZMdZIJ2ql6tyOT2XPbOZmEUiz2H0pbryZwj/nTfVREs=", "owner": "nix-community", "repo": "nur", - "rev": "e63268c11cc7324a004e50383dad8f8b26c85204", + "rev": "93fd3971deda2516b227a1bff71551c4eeb79f00", "type": "github" }, "original": { From 8238a9955522eaf4ef029987632f93896b116e23 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 16 Sep 2023 12:25:19 -0700 Subject: [PATCH 058/177] flake update, replace exa with eza and comment out broken packages from update for now --- flake.lock | 24 ++++++++++++------------ home.nix | 16 +++++++++++++--- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 7a13033..b45a767 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1691640097, - "narHash": "sha256-6vPsJYjtt2hs4mkiR46yt8c/Spdm/UiUKoSCIlc7iJw=", + "lastModified": 1694810318, + "narHash": "sha256-LuvrVj2oj9TzdnnwtQUClqcXjpgwCP01FFVBM7azGV8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "426d38710b656b0a31f8eaae6e0002206a3b96d7", + "rev": "80bb201f4925cdda5a7a3c7b1900fb26bb2af2e8", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1691856649, - "narHash": "sha256-1/KYCwNyOPpUoyno9Yj3zMHITQaW+wPzVlJFPOPPCo4=", + "lastModified": 1694643239, + "narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=", "owner": "nix-community", "repo": "home-manager", - "rev": "406d34d919e9e8b831b531782cf5ef6995188566", + "rev": "d9b88b43524db1591fb3d9410a21428198d75d49", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1691654369, - "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1691854419, - "narHash": "sha256-ZMdZIJ2ql6tyOT2XPbOZmEUiz2H0pbryZwj/nTfVREs=", + "lastModified": 1694886364, + "narHash": "sha256-MbwCXmTpdBlJPuJwBmAI1wb/z9J84OC4M4d7hz7spSs=", "owner": "nix-community", "repo": "nur", - "rev": "93fd3971deda2516b227a1bff71551c4eeb79f00", + "rev": "40cd392b888a4d78044d733b9fee61710f749a05", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 07c1f03..0fe4ded 100644 --- a/home.nix +++ b/home.nix @@ -35,7 +35,7 @@ coursier curlFull delta - exa + eza fd ffmpeg font-awesome @@ -75,7 +75,7 @@ rclone readline ripgrep - ripgrep-all + # ripgrep-all rnix-lsp rustup sbt @@ -158,6 +158,16 @@ }; }; + # programs.nheko = { + # enable = true; + # settings = { + # scaleFactor = 1.0; + # user = { + # alertOnNotification = true; + # }; + # }; + # }; + programs.starship = { enable = true; settings = { @@ -288,7 +298,7 @@ ping="prettyping"; ".." = "cd .."; pj="python -m json.tool"; - l="exa --long --header --git --all"; + l="eza --long --header --git --all"; g="git"; gl="git log"; gc="git commit -m"; From c70d6cbe79a5a6c052f49cc84f0195f153c640db Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 22 Sep 2023 20:37:08 -0700 Subject: [PATCH 059/177] eza update, add emacs, update wezterm config and flake/nix updates --- darwin-configuration.nix | 4 ++++ flake.lock | 24 ++++++++++++------------ home.nix | 33 ++++++++++++++++++++++----------- programs/wezterm/wezterm.lua | 1 + 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/darwin-configuration.nix b/darwin-configuration.nix index 7c57259..975ad41 100644 --- a/darwin-configuration.nix +++ b/darwin-configuration.nix @@ -32,4 +32,8 @@ distributedBuilds = false; }; services.nix-daemon.enable = true; + services.emacs = { + enable = true; + package = pkgs.emacsMacport; + }; } diff --git a/flake.lock b/flake.lock index b45a767..dedd807 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1694810318, - "narHash": "sha256-LuvrVj2oj9TzdnnwtQUClqcXjpgwCP01FFVBM7azGV8=", + "lastModified": 1695424346, + "narHash": "sha256-jkjKhxaBpS7p//l90uz9lNdVK5imVe9eo+XH6zbfrJU=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "80bb201f4925cdda5a7a3c7b1900fb26bb2af2e8", + "rev": "c286b23c7fd7f0622bc4af898c91f58b8d304ff1", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1694643239, - "narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=", + "lastModified": 1695224363, + "narHash": "sha256-+hfjJLUMck5G92RVFDZA7LWkR3kOxs5zQ7RPW9t3eM8=", "owner": "nix-community", "repo": "home-manager", - "rev": "d9b88b43524db1591fb3d9410a21428198d75d49", + "rev": "408ba13188ff9ce309fa2bdd2f81287d79773b00", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1694767346, - "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", + "lastModified": 1695145219, + "narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", + "rev": "5ba549eafcf3e33405e5f66decd1a72356632b96", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1694886364, - "narHash": "sha256-MbwCXmTpdBlJPuJwBmAI1wb/z9J84OC4M4d7hz7spSs=", + "lastModified": 1695434182, + "narHash": "sha256-SRnWqW5+tPa+WhNB5i/cZ7LjesdT/3A+LRULWVNbJ2U=", "owner": "nix-community", "repo": "nur", - "rev": "40cd392b888a4d78044d733b9fee61710f749a05", + "rev": "f024b6efcc7bb61c3e55aa906a60531c9e262197", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 0fe4ded..1292193 100644 --- a/home.nix +++ b/home.nix @@ -6,18 +6,12 @@ imports = (import ./programs); - # nixpkgs.overlays = [ - # (import (builtins.fetchTarball { - # url = https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz; - # })) - # ]; - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "vscode" ]; home = { - stateVersion = "22.11"; + stateVersion = "23.05"; sessionVariables = { EDITOR = "nvim"; VISUAL = "$EDITOR"; @@ -35,7 +29,6 @@ coursier curlFull delta - eza fd ffmpeg font-awesome @@ -81,6 +74,7 @@ sbt scala-cli shellcheck + slides sqlite stylua stack @@ -105,11 +99,29 @@ enable = true; }; + programs.emacs = { + enable = true; + package = pkgs.emacsMacport; + }; + programs.direnv = { enable = true; nix-direnv.enable = true; }; + programs.eza = { + enable = true; + enableAliases = true; + git = true; + icons = true; + extraOptions = [ + "--group-directories-first" + "--long" + "--header" + "--all" + ]; + }; + programs.fzf = { enable = true; enableFishIntegration = true; @@ -298,7 +310,7 @@ ping="prettyping"; ".." = "cd .."; pj="python -m json.tool"; - l="eza --long --header --git --all"; + l="ll"; g="git"; gl="git log"; gc="git commit -m"; @@ -317,8 +329,7 @@ nixinfo="nix-shell -p nix-info --run \"nix-info -m\""; nixgc="nix-collect-garbage -d"; nixq="nix-env -qa"; - nixupdate="sudo nix-channel --update"; - nixversion="nix eval nixpkgs.lib.version"; + nixupgrade="nix upgrade-nix"; rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; v="nvim"; wezk="wezterm show-keys --lua"; diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index e71b2fc..ba055be 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -6,6 +6,7 @@ wezterm.on('update-right-status', function(window, pane) end) return { + adjust_window_size_when_changing_font_size = false, check_for_updates = false, color_scheme = "tokyonight", font = wezterm.font("FiraCode Nerd Font Mono"), From f34346c313cf893c919028cc9833e18cc0e89882 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 23 Sep 2023 10:11:48 -0700 Subject: [PATCH 060/177] remove pijul and comment out python --- home.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/home.nix b/home.nix index 1292193..5cb3e1e 100644 --- a/home.nix +++ b/home.nix @@ -17,7 +17,7 @@ VISUAL = "$EDITOR"; }; packages = with pkgs; [ - ( python310.withPackages (ps: with ps; [ pip flake8 black ]) ) + # ( python310.withPackages (ps: with ps; [ pip flake8 black ]) ) jdk17 any-nix-shell aspell @@ -63,7 +63,6 @@ openssl pandoc patchelf - pijul prettyping rclone readline @@ -340,14 +339,6 @@ }; }; - # pijul config - xdg.configFile."pijul/config.toml".text = lib.mkAfter '' - [author] - name = "softinio" - full_name = "Salar Rahmanian" - email = "code@softinio.com" - ''; - # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/nvim-config.git"; From e64fcefc8ccf28e8faf2e8e976f99cdd0781aa2e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 23 Sep 2023 15:30:58 -0700 Subject: [PATCH 061/177] add gh-dash --- home.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home.nix b/home.nix index 5cb3e1e..a8da47d 100644 --- a/home.nix +++ b/home.nix @@ -134,6 +134,10 @@ }; }; + programs.gh-dash = { + enable = true; + }; + programs.gitui = { enable = true; }; From 8e5335ee3359abbf1b27cb517018e35b69ba989b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 14 Oct 2023 09:49:58 -0700 Subject: [PATCH 062/177] flake update and general improvements --- darwin-configuration.nix | 7 ++++--- flake.lock | 24 ++++++++++++------------ home.nix | 4 ++-- programs/wezterm/wezterm.lua | 3 ++- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/darwin-configuration.nix b/darwin-configuration.nix index 975ad41..555161c 100644 --- a/darwin-configuration.nix +++ b/darwin-configuration.nix @@ -26,9 +26,10 @@ "nixpkgs=${nixpkgs}" ]; package = pkgs.nixUnstable; - extraOptions = '' - experimental-features = nix-command flakes - ''; + settings = { + experimental-features = "nix-command flakes repl-flake"; + trusted-users = [ "root" "salar" ]; + }; distributedBuilds = false; }; services.nix-daemon.enable = true; diff --git a/flake.lock b/flake.lock index dedd807..02a38ee 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1695424346, - "narHash": "sha256-jkjKhxaBpS7p//l90uz9lNdVK5imVe9eo+XH6zbfrJU=", + "lastModified": 1696360011, + "narHash": "sha256-HpPv27qMuPou4acXcZ8Klm7Zt0Elv9dgDvSJaomWb9Y=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c286b23c7fd7f0622bc4af898c91f58b8d304ff1", + "rev": "8b6ea26d5d2e8359d06278364f41fbc4b903b28a", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1695224363, - "narHash": "sha256-+hfjJLUMck5G92RVFDZA7LWkR3kOxs5zQ7RPW9t3eM8=", + "lastModified": 1696940889, + "narHash": "sha256-p2Wic74A1tZpFcld1wSEbFQQbrZ/tPDuLieCnspamQo=", "owner": "nix-community", "repo": "home-manager", - "rev": "408ba13188ff9ce309fa2bdd2f81287d79773b00", + "rev": "6bba64781e4b7c1f91a733583defbd3e46b49408", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1695145219, - "narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=", + "lastModified": 1697059129, + "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5ba549eafcf3e33405e5f66decd1a72356632b96", + "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1695434182, - "narHash": "sha256-SRnWqW5+tPa+WhNB5i/cZ7LjesdT/3A+LRULWVNbJ2U=", + "lastModified": 1697291160, + "narHash": "sha256-WV4TsmIi2vGu6cO5Xq4FPA/iSHsOEy1/Vy2uUC3p1jM=", "owner": "nix-community", "repo": "nur", - "rev": "f024b6efcc7bb61c3e55aa906a60531c9e262197", + "rev": "383bba42753ac667dc9904b83eca755c5f0324ca", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index a8da47d..55decf7 100644 --- a/home.nix +++ b/home.nix @@ -84,7 +84,7 @@ tokei tree tree-sitter - wget + # wget xz yq ]; @@ -346,7 +346,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/nvim-config.git"; - rev = "bc2b71fa94386902cddf145b556575ab7381f827"; + rev = "c2d6d6379dba1c85381e8f18ff5bd1127255306c"; }; } diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index ba055be..db2b87d 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -8,11 +8,12 @@ end) return { adjust_window_size_when_changing_font_size = false, check_for_updates = false, + -- color_scheme = "Gruvbox Light"; color_scheme = "tokyonight", font = wezterm.font("FiraCode Nerd Font Mono"), font_size = 16, dpi = 144, - scrollback_lines = 10000, + scrollback_lines = 50000, initial_cols = 400, initial_rows = 80, leader = { key="b", mods="SUPER", timeout_milliseconds = 1000 }, From 55468c89f69c5dc1f1d3da68b14fc62e3dd13dc1 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 21 Oct 2023 08:38:48 -0700 Subject: [PATCH 063/177] flake and nvim updates --- flake.lock | 24 ++++++++++++------------ home.nix | 44 +++++++------------------------------------- 2 files changed, 19 insertions(+), 49 deletions(-) diff --git a/flake.lock b/flake.lock index 02a38ee..1a2744b 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1696360011, - "narHash": "sha256-HpPv27qMuPou4acXcZ8Klm7Zt0Elv9dgDvSJaomWb9Y=", + "lastModified": 1697723594, + "narHash": "sha256-W7lTC+kHGS1YCOutGpxUHF0cK66iY/GYr3INaTyVa/I=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "8b6ea26d5d2e8359d06278364f41fbc4b903b28a", + "rev": "19f75c2b45fbfc307ecfeb9dadc41a4c1e4fb980", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1696940889, - "narHash": "sha256-p2Wic74A1tZpFcld1wSEbFQQbrZ/tPDuLieCnspamQo=", + "lastModified": 1697838989, + "narHash": "sha256-hwVlO+st8vWJO6iy3/JbMHrUyY4Ak7xUSmffoWqBPUg=", "owner": "nix-community", "repo": "home-manager", - "rev": "6bba64781e4b7c1f91a733583defbd3e46b49408", + "rev": "ae631b0b20f06f7d239d160723d228891ddb2fe0", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1697059129, - "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", + "lastModified": 1697723726, + "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", + "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nur": { "locked": { - "lastModified": 1697291160, - "narHash": "sha256-WV4TsmIi2vGu6cO5Xq4FPA/iSHsOEy1/Vy2uUC3p1jM=", + "lastModified": 1697866785, + "narHash": "sha256-68Qf0RuGKnihfsR45ugZZsBhnVY7dtX7lKbjOF3A43Y=", "owner": "nix-community", "repo": "nur", - "rev": "383bba42753ac667dc9904b83eca755c5f0324ca", + "rev": "f45bab34a6b89a8d004517012d3285fd00d6b114", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 55decf7..c9b6a18 100644 --- a/home.nix +++ b/home.nix @@ -17,8 +17,7 @@ VISUAL = "$EDITOR"; }; packages = with pkgs; [ - # ( python310.withPackages (ps: with ps; [ pip flake8 black ]) ) - jdk17 + jdk21 any-nix-shell aspell bloop @@ -31,6 +30,9 @@ delta fd ffmpeg + fishPlugins.bass + fishPlugins.foreign-env + fishPlugins.bobthefish font-awesome gitAndTools.diff-so-fancy ghc @@ -56,6 +58,7 @@ nix-prefetch-git nodejs nodePackages.pyright + nodePackages.bash-language-server nodePackages.typescript-language-server nodePackages.vscode-html-languageserver-bin nodePackages.vscode-json-languageserver @@ -98,11 +101,6 @@ enable = true; }; - programs.emacs = { - enable = true; - package = pkgs.emacsMacport; - }; - programs.direnv = { enable = true; nix-direnv.enable = true; @@ -227,35 +225,7 @@ gitignore = "curl -sL https://www.gitignore.io/api/$argv"; }; - plugins = [ - { - name = "bass"; - src = pkgs.fetchFromGitHub { - owner = "edc"; - repo = "bass"; - rev = "2fd3d2157d5271ca3575b13daec975ca4c10577a"; - sha256 = "0ppmajynpb9l58xbrcnbp41b66g7p0c9l2nlsvyjwk6d16g4p4gy"; - }; - } - { - name = "foreign-env"; - src = pkgs.fetchFromGitHub { - owner = "oh-my-fish"; - repo = "plugin-foreign-env"; - rev = "3ee95536106c11073d6ff466c1681cde31001383"; - sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"; - }; - } - { - name = "bobthefish"; - src = pkgs.fetchFromGitHub { - owner = "oh-my-fish"; - repo = "theme-bobthefish"; - rev = "2dcfcab653ae69ae95ab57217fe64c97ae05d8de"; - sha256 = "1fssb5bqd2d7856gsylf93d28n3rw4rlqkhbg120j5ng27c7v7lq"; - }; - } - ]; + plugins = [ ]; loginShellInit = '' set -xg TERM xterm-256color @@ -346,7 +316,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/nvim-config.git"; - rev = "c2d6d6379dba1c85381e8f18ff5bd1127255306c"; + rev = "543a87b647e771b58941bc6cbf461a9da7b5459a"; }; } From 559b8684b0738e9781576a7eb053dc0e1d2473ef Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 5 Nov 2023 15:02:17 -0800 Subject: [PATCH 064/177] nvim update for adding obsiidian plugin --- home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index c9b6a18..2c376eb 100644 --- a/home.nix +++ b/home.nix @@ -303,6 +303,7 @@ nixgc="nix-collect-garbage -d"; nixq="nix-env -qa"; nixupgrade="nix upgrade-nix"; + obsidian="cd ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Notes"; rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; v="nvim"; wezk="wezterm show-keys --lua"; @@ -316,7 +317,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/nvim-config.git"; - rev = "543a87b647e771b58941bc6cbf461a9da7b5459a"; + rev = "a2a4948626b84eb5115d2826afc76978c659e535"; }; } From 1c0cb47c5b4dd5337ed86146504f80d6697df2f8 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 11 Nov 2023 18:23:43 -0800 Subject: [PATCH 065/177] neovim and vscode update --- home.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index 2c376eb..5fe4887 100644 --- a/home.nix +++ b/home.nix @@ -212,6 +212,7 @@ userSettings = { editor.fontFamily = "FiraCode Nerd Font Mono Retina"; editor.fontSize = 16; + editor.copyWithSyntaxHighlighting = true; telemetry.enableTelemetry = false; workbench.colorTheme = "Solarized Light"; workbench.iconTheme = "vscode-icons"; @@ -303,7 +304,6 @@ nixgc="nix-collect-garbage -d"; nixq="nix-env -qa"; nixupgrade="nix upgrade-nix"; - obsidian="cd ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Notes"; rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; v="nvim"; wezk="wezterm show-keys --lua"; @@ -317,7 +317,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/nvim-config.git"; - rev = "a2a4948626b84eb5115d2826afc76978c659e535"; + rev = "eb9068022763edafca9ac280ab3553fafc59ee5b"; }; } From bd57d53565ee245742b1bdeb565454992c5b1f0a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 3 Dec 2023 22:32:43 -0800 Subject: [PATCH 066/177] updates to migrate to apple silicon / apple m3 processor --- darwin-configuration.nix | 40 ------------------ flake.lock | 61 +++++++++++++-------------- flake.nix | 81 +++++++++++++++++++++++++++++------- home.nix | 54 ++++++++++++++---------- programs/wezterm/wezterm.lua | 4 +- 5 files changed, 129 insertions(+), 111 deletions(-) delete mode 100644 darwin-configuration.nix diff --git a/darwin-configuration.nix b/darwin-configuration.nix deleted file mode 100644 index 555161c..0000000 --- a/darwin-configuration.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ pkgs, nix, nixpkgs, config, lib, ... }: -{ - environment.systemPackages = with pkgs; - [ - home-manager - ]; - - fonts = { - fontDir.enable = true; - fonts = with pkgs; [ - fira-code - ]; - }; - - programs.fish.enable = true; - - system.stateVersion = 4; - users = { - users.salar = { - home = /Users/salar; - }; - }; - - nix = { - nixPath = lib.mkForce [ - "nixpkgs=${nixpkgs}" - ]; - package = pkgs.nixUnstable; - settings = { - experimental-features = "nix-command flakes repl-flake"; - trusted-users = [ "root" "salar" ]; - }; - distributedBuilds = false; - }; - services.nix-daemon.enable = true; - services.emacs = { - enable = true; - package = pkgs.emacsMacport; - }; -} diff --git a/flake.lock b/flake.lock index 1a2744b..3329e3e 100644 --- a/flake.lock +++ b/flake.lock @@ -1,26 +1,5 @@ { "nodes": { - "darwin": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1697723594, - "narHash": "sha256-W7lTC+kHGS1YCOutGpxUHF0cK66iY/GYr3INaTyVa/I=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "19f75c2b45fbfc307ecfeb9dadc41a4c1e4fb980", - "type": "github" - }, - "original": { - "owner": "lnl7", - "ref": "master", - "repo": "nix-darwin", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -28,11 +7,11 @@ ] }, "locked": { - "lastModified": 1697838989, - "narHash": "sha256-hwVlO+st8vWJO6iy3/JbMHrUyY4Ak7xUSmffoWqBPUg=", + "lastModified": 1701609479, + "narHash": "sha256-mcEnMz7XB3K57ZX16VXoEkswljSNGXdMuUu5+g8a8R8=", "owner": "nix-community", "repo": "home-manager", - "rev": "ae631b0b20f06f7d239d160723d228891ddb2fe0", + "rev": "e504e8d01f950776c3a3160ba38c5957a1b89e66", "type": "github" }, "original": { @@ -41,13 +20,33 @@ "type": "github" } }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1700795494, + "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1697723726, - "narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=", + "lastModified": 1701253981, + "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0", + "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", "type": "github" }, "original": { @@ -59,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1697866785, - "narHash": "sha256-68Qf0RuGKnihfsR45ugZZsBhnVY7dtX7lKbjOF3A43Y=", + "lastModified": 1701645127, + "narHash": "sha256-MhsntrTDlOnlGW3HRTxs1H+BUCHbA0uYb0i3pwxugi8=", "owner": "nix-community", "repo": "nur", - "rev": "f45bab34a6b89a8d004517012d3285fd00d6b114", + "rev": "e7d5551b1d558382e503c8b827c6ff48cd50baa7", "type": "github" }, "original": { @@ -74,8 +73,8 @@ }, "root": { "inputs": { - "darwin": "darwin", "home-manager": "home-manager", + "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs", "nur": "nur" } diff --git a/flake.nix b/flake.nix index 4cd500c..2d4bd6c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,34 +1,85 @@ { description = "Nix and home-manager configurations for Softinio's macbook"; + inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nix-darwin = { + url = "github:LnL7/nix-darwin"; + inputs.nixpkgs.follows = "nixpkgs"; + }; nur.url = github:nix-community/nur; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; - darwin = { - url = "github:lnl7/nix-darwin/master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; - outputs = {darwin, home-manager, nur, nixpkgs, ...}: + + outputs = {self, nix-darwin, home-manager, nur, nixpkgs, ...}: let homeManagerConfFor = config: { ... }: { nixpkgs.overlays = [ nur.overlay ]; imports = [ config ]; }; - darwinSystem = darwin.lib.darwinSystem { - system = "x86_64-darwin"; - modules = [ - ./darwin-configuration.nix - home-manager.darwinModules.home-manager { - home-manager.users.salar = homeManagerConfFor ./home.nix; - } + + m3maxConfiguration = { pkgs, ... }: { + environment.systemPackages = with pkgs; + [ + home-manager + ]; + + fonts = { + fontDir.enable = true; + fonts = with pkgs; [ + fira-code ]; - specialArgs = { inherit nixpkgs; }; }; - in { - defaultPackage.x86_64-darwin = darwinSystem.system; + + services.nix-daemon.enable = true; + + nix = { + nixPath = nixpkgs.lib.mkForce [ + "nixpkgs=${nixpkgs}" + ]; + + package = pkgs.nixUnstable; + settings = { + experimental-features = "nix-command flakes repl-flake"; + extra-platforms = [ "x86_64-darwin" "aarch64-darwin" ]; + trusted-users = [ "root" "salar" ]; + }; + distributedBuilds = false; + }; + + programs.fish.enable = true; + + system.configurationRevision = self.rev or self.dirtyRev or null; + + system.stateVersion = 4; + + nixpkgs.hostPlatform = "aarch64-darwin"; + + users = { + users.salar = { + home = /Users/salar; + }; + }; }; + in + { + darwinConfigurations.salarm3max = nix-darwin.lib.darwinSystem { + system = "aarc64-darwin"; + modules = [ + m3maxConfiguration + home-manager.darwinModules.home-manager { + home-manager.useUserPackages = true; + home-manager.users.salar = homeManagerConfFor ./home.nix; + } + ]; + specialArgs = { inherit nixpkgs; }; + }; + + darwinPackages = self.darwinConfigurations.salarm3max.pkgs; + + defaultPackage.aarch64-darwin = self.darwinConfigurations.salarm3max.system; + }; } diff --git a/home.nix b/home.nix index 5fe4887..1b99ff7 100644 --- a/home.nix +++ b/home.nix @@ -7,11 +7,15 @@ imports = (import ./programs); nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "discord" + "idea-ultimate" + "slack" "vscode" + "zoom" ]; home = { - stateVersion = "23.05"; + stateVersion = "23.11"; sessionVariables = { EDITOR = "nvim"; VISUAL = "$EDITOR"; @@ -20,17 +24,19 @@ jdk21 any-nix-shell aspell - bloop + #bloop cabal-install cabal2nix cachix + cargo cmake coursier - curlFull + #curlFull delta + discord fd ffmpeg - fishPlugins.bass + #fishPlugins.bass fishPlugins.foreign-env fishPlugins.bobthefish font-awesome @@ -40,6 +46,7 @@ gnupg go graphviz + jetbrains.idea-ultimate haskell-language-server hugo luajit @@ -70,12 +77,13 @@ rclone readline ripgrep - # ripgrep-all + ripgrep-all rnix-lsp - rustup + rustc sbt scala-cli shellcheck + slack slides sqlite stylua @@ -87,9 +95,10 @@ tokei tree tree-sitter - # wget + wget xz yq + zoom-us ]; }; @@ -159,7 +168,7 @@ enable = true; theme = "Tokyo Night"; font = { - name = "FiraCode Nerd Font Mono Retina"; + name = "SF Mono"; size = 16; }; settings = { @@ -171,16 +180,6 @@ }; }; - # programs.nheko = { - # enable = true; - # settings = { - # scaleFactor = 1.0; - # user = { - # alertOnNotification = true; - # }; - # }; - # }; - programs.starship = { enable = true; settings = { @@ -198,24 +197,37 @@ pkgs.vscode-extensions.scalameta.metals pkgs.vscode-extensions.usernamehw.errorlens pkgs.vscode-extensions.redhat.java + pkgs.vscode-extensions.redhat.vscode-yaml pkgs.vscode-extensions.xyz.local-history pkgs.vscode-extensions.yzhang.markdown-all-in-one pkgs.vscode-extensions.svsool.markdown-memo pkgs.vscode-extensions.github.vscode-pull-request-github + pkgs.vscode-extensions.github.vscode-github-actions + pkgs.vscode-extensions.vscode-icons-team.vscode-icons pkgs.vscode-extensions.github.github-vscode-theme pkgs.vscode-extensions.jnoortheen.nix-ide pkgs.vscode-extensions.timonwong.shellcheck pkgs.vscode-extensions.skyapps.fish-vscode pkgs.vscode-extensions.baccata.scaladex-search pkgs.vscode-extensions.davidanson.vscode-markdownlint + pkgs.vscode-extensions.ms-python.python + pkgs.vscode-extensions.mechatroner.rainbow-csv + pkgs.vscode-extensions.mkhl.direnv + pkgs.vscode-extensions.asvetliakov.vscode-neovim ]; userSettings = { - editor.fontFamily = "FiraCode Nerd Font Mono Retina"; + editor.fontFamily = "SF Mono"; editor.fontSize = 16; editor.copyWithSyntaxHighlighting = true; telemetry.enableTelemetry = false; workbench.colorTheme = "Solarized Light"; workbench.iconTheme = "vscode-icons"; + workbench.sideBar.location = "right"; + "githubPullRequests.pullBranch" = "never"; + "markdown.extension.preview.autoShowPreviewToSide" = true; + "extensions.experimental.affinity" = { + "asvetliakov.vscode-neovim" = 1; + }; }; }; @@ -250,10 +262,6 @@ set -xg JAVA_HOME /Users/salar/.nix-profile - set -xg JDTLS_CONFIG /Users/salar/.config/jdt-language-server/config_mac - - set -xg JAR /Users/salar/.config/jdt-language-server/plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar - set -xg WORKSPACE /Users/salar/Projects set -xg NIX_PATH $HOME/.nix-defexpr/channels $NIX_PATH diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index db2b87d..7629991 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -10,14 +10,14 @@ return { check_for_updates = false, -- color_scheme = "Gruvbox Light"; color_scheme = "tokyonight", - font = wezterm.font("FiraCode Nerd Font Mono"), + font = wezterm.font("SF Mono"), font_size = 16, dpi = 144, scrollback_lines = 50000, initial_cols = 400, initial_rows = 80, leader = { key="b", mods="SUPER", timeout_milliseconds = 1000 }, - default_prog = { "/Users/salar/.nix-profile/bin/fish" }, + default_prog = { "/etc/profiles/per-user/salar/bin/fish" }, ssh_domains = { { name = "hcloud1", From 17166fd00f6cd66358b85d3b01fb000d2d0075ef Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 6 Dec 2023 23:03:53 -0800 Subject: [PATCH 067/177] flake update and add darcs --- flake.lock | 18 +++++++++--------- home.nix | 13 +++++++++++++ programs/git/default.nix | 2 -- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 3329e3e..30235c2 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1701609479, - "narHash": "sha256-mcEnMz7XB3K57ZX16VXoEkswljSNGXdMuUu5+g8a8R8=", + "lastModified": 1701728041, + "narHash": "sha256-x0pyrI1vC8evVDxCxyO6olOyr4wlFg9+VS3C3p4xFYQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "e504e8d01f950776c3a3160ba38c5957a1b89e66", + "rev": "ac7216918cd65f3824ba7817dea8f22e61221eaf", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1701253981, - "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=", + "lastModified": 1701718080, + "narHash": "sha256-6ovz0pG76dE0P170pmmZex1wWcQoeiomUZGggfH9XPs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58", + "rev": "2c7f3c0fb7c08a0814627611d9d7d45ab6d75335", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1701645127, - "narHash": "sha256-MhsntrTDlOnlGW3HRTxs1H+BUCHbA0uYb0i3pwxugi8=", + "lastModified": 1701931957, + "narHash": "sha256-56UgLvWAJhAFSaez2RexXdX1q1lgezdzSj+P07BpPQY=", "owner": "nix-community", "repo": "nur", - "rev": "e7d5551b1d558382e503c8b827c6ff48cd50baa7", + "rev": "2a39523613fbd643d4873fe4926f768f6263ab1c", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 1b99ff7..46b2ff9 100644 --- a/home.nix +++ b/home.nix @@ -110,6 +110,19 @@ enable = true; }; + programs.darcs = { + enable = true; + author = [ + "Salar Rahmanian " + ]; + boring = [ + "^.idea$" + "^.direnv$" + "^.envrc$" + "^.vscode$" + ]; + }; + programs.direnv = { enable = true; nix-direnv.enable = true; diff --git a/programs/git/default.nix b/programs/git/default.nix index 01bb53c..5b0b8da 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -45,11 +45,9 @@ let "*.metals" "*.metals.sbt" "*metals.sbt" - "*.direnv" "*.envrc" # there is lorri, nix-direnv & simple direnv; let people decide "*hie.yaml" # ghcide files "*.mill-version" # used by metals - "*.idea" "*.vscode" "*.python-version" "result" From 482c68d6df342f3fee98dedf895558a5d77e8e31 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 9 Dec 2023 16:01:42 -0800 Subject: [PATCH 068/177] flake update --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 30235c2..e9ebe29 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1701728041, - "narHash": "sha256-x0pyrI1vC8evVDxCxyO6olOyr4wlFg9+VS3C3p4xFYQ=", + "lastModified": 1702159252, + "narHash": "sha256-4mYOL1EhOmt92OtYsHXRViWrSHvR5obLfCllMmQsUzY=", "owner": "nix-community", "repo": "home-manager", - "rev": "ac7216918cd65f3824ba7817dea8f22e61221eaf", + "rev": "e6b7303bd149723c57ca23f5a9428482d6b07306", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1701931957, - "narHash": "sha256-56UgLvWAJhAFSaez2RexXdX1q1lgezdzSj+P07BpPQY=", + "lastModified": 1702161971, + "narHash": "sha256-A1PO1dgLCk8hPsb/q8GesuW6pplRu2YsRMKznOnlfwE=", "owner": "nix-community", "repo": "nur", - "rev": "2a39523613fbd643d4873fe4926f768f6263ab1c", + "rev": "d068810e22fb745f32c8c8891e816f3ad0f14cea", "type": "github" }, "original": { From b02dc5d2edb0fb180eba428251b349a8692fef59 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 17 Dec 2023 15:32:00 -0800 Subject: [PATCH 069/177] flake and neovim related updates --- flake.lock | 18 +++++++++--------- home.nix | 5 ++--- programs/wezterm/wezterm.lua | 1 + 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index e9ebe29..4b1647b 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1702159252, - "narHash": "sha256-4mYOL1EhOmt92OtYsHXRViWrSHvR5obLfCllMmQsUzY=", + "lastModified": 1702814335, + "narHash": "sha256-Qck7BAMi3eydzT1WFOzp/SgECetyPpOn1dLgmxH2ebQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "e6b7303bd149723c57ca23f5a9428482d6b07306", + "rev": "e4dba0bd01956170667458be7b45f68170a63651", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1701718080, - "narHash": "sha256-6ovz0pG76dE0P170pmmZex1wWcQoeiomUZGggfH9XPs=", + "lastModified": 1702312524, + "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2c7f3c0fb7c08a0814627611d9d7d45ab6d75335", + "rev": "a9bf124c46ef298113270b1f84a164865987a91c", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1702161971, - "narHash": "sha256-A1PO1dgLCk8hPsb/q8GesuW6pplRu2YsRMKznOnlfwE=", + "lastModified": 1702838362, + "narHash": "sha256-ft1fzEDtKJjjgMF7JWmzkxiJo9FxZ1HFMJ08hRGbYt0=", "owner": "nix-community", "repo": "nur", - "rev": "d068810e22fb745f32c8c8891e816f3ad0f14cea", + "rev": "211009227f02cc46ca6239891c1cc005ae8c00f9", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 46b2ff9..441a790 100644 --- a/home.nix +++ b/home.nix @@ -54,6 +54,7 @@ luajitPackages.luasocket marksman maven + metals multimarkdown mypy ncdu @@ -273,8 +274,6 @@ set -xg PATH "/Users/salar/Library/Application Support/Coursier/bin" $PATH - set -xg JAVA_HOME /Users/salar/.nix-profile - set -xg WORKSPACE /Users/salar/Projects set -xg NIX_PATH $HOME/.nix-defexpr/channels $NIX_PATH @@ -338,7 +337,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://git.softinio.com/nvim-config.git"; - rev = "eb9068022763edafca9ac280ab3553fafc59ee5b"; + rev = "49af022e9a5fbf4d5a87a4fabafb42fd4890cfed"; }; } diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 7629991..5013d50 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -64,6 +64,7 @@ return { flags = 'FUZZY|WORKSPACES', }, }, + { key = 'Tab', mods = 'CTRL', action = wezterm.action.DisableDefaultAssignment }, } } From 5c6caa88a901c8704266d8e980eea62ca0253ec8 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 23 Jan 2024 20:31:55 -0800 Subject: [PATCH 070/177] flake update and added lazygit --- flake.lock | 24 ++++++++++++------------ home.nix | 17 +++++++++++++---- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index 4b1647b..e8ad85f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1702814335, - "narHash": "sha256-Qck7BAMi3eydzT1WFOzp/SgECetyPpOn1dLgmxH2ebQ=", + "lastModified": 1706001011, + "narHash": "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=", "owner": "nix-community", "repo": "home-manager", - "rev": "e4dba0bd01956170667458be7b45f68170a63651", + "rev": "3df2a80f3f85f91ea06e5e91071fa74ba92e5084", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "lastModified": 1705915768, + "narHash": "sha256-+Jlz8OAqkOwJlioac9wtpsCnjgGYUhvLpgJR/5tP9po=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "rev": "1e706ef323de76236eb183d7784f3bd57255ec0b", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702312524, - "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", + "lastModified": 1705856552, + "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a9bf124c46ef298113270b1f84a164865987a91c", + "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1702838362, - "narHash": "sha256-ft1fzEDtKJjjgMF7JWmzkxiJo9FxZ1HFMJ08hRGbYt0=", + "lastModified": 1706069182, + "narHash": "sha256-9XpBDEcpKjD1fXei4qB8NZe3AWK/Xp/Y4EWvCXP6+Z4=", "owner": "nix-community", "repo": "nur", - "rev": "211009227f02cc46ca6239891c1cc005ae8c00f9", + "rev": "4d0f41b9d3d9497fbee183e0e2a6f75b5c59140a", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 441a790..2c09f08 100644 --- a/home.nix +++ b/home.nix @@ -107,9 +107,9 @@ enable = true; }; - programs.btop = { - enable = true; - }; + # programs.btop = { + # enable = true; + # }; programs.darcs = { enable = true; @@ -152,6 +152,11 @@ settings = { editor = "nvim"; git_protocol = "ssh"; + prompt = "enabled"; + aliases = { + co = "pr checkout"; + pv = "pr view"; + }; }; }; @@ -181,7 +186,7 @@ programs.kitty = { enable = true; theme = "Tokyo Night"; - font = { + font = { name = "SF Mono"; size = 16; }; @@ -194,6 +199,10 @@ }; }; + programs.lazygit = { + enable = true; + }; + programs.starship = { enable = true; settings = { From 1636b6eb8a010ba7791e5580e43cdd90087736df Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 17 Feb 2024 15:58:59 -0800 Subject: [PATCH 071/177] flake update, nvim update and add pngpaste --- flake.lock | 24 ++++++++++++------------ home.nix | 6 ++++-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index e8ad85f..30b76e8 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1706001011, - "narHash": "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=", + "lastModified": 1708031129, + "narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=", "owner": "nix-community", "repo": "home-manager", - "rev": "3df2a80f3f85f91ea06e5e91071fa74ba92e5084", + "rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1705915768, - "narHash": "sha256-+Jlz8OAqkOwJlioac9wtpsCnjgGYUhvLpgJR/5tP9po=", + "lastModified": 1707707289, + "narHash": "sha256-YuDt/eSTXMEHv8jS8BEZJgqCcG8Tr3cyqaZjJFXZHsw=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "1e706ef323de76236eb183d7784f3bd57255ec0b", + "rev": "44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705856552, - "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", + "lastModified": 1708118438, + "narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", + "rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1706069182, - "narHash": "sha256-9XpBDEcpKjD1fXei4qB8NZe3AWK/Xp/Y4EWvCXP6+Z4=", + "lastModified": 1708213449, + "narHash": "sha256-m1H5SvWlIldAzQrvzOSxhoxNJjodIZZBY34F/Iu7id4=", "owner": "nix-community", "repo": "nur", - "rev": "4d0f41b9d3d9497fbee183e0e2a6f75b5c59140a", + "rev": "ccc244cf9a517cdfccfd6a7a8b47083a5f926a0e", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 2c09f08..d2184e1 100644 --- a/home.nix +++ b/home.nix @@ -74,6 +74,7 @@ openssl pandoc patchelf + pngpaste prettyping rclone readline @@ -326,6 +327,7 @@ giscala="gitignore scala,vim,java,sbt > .gitignore"; gforksync="git fetch upstream && git merge upstream/master && git push origin master"; grep="grep --color=auto"; + lg="lazygit"; new-sbt="sbt new scala/scala-seed.g8"; nixc="cd ~/.config/nixpkgs"; nixre="nix build && sudo ./result/activate"; @@ -345,8 +347,8 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { - url = "https://git.softinio.com/nvim-config.git"; - rev = "49af022e9a5fbf4d5a87a4fabafb42fd4890cfed"; + url = "https://code.softinio.com/softinio/nvim-config"; + rev = "a58443e9e5b6afdaa2d23a54d6abe81c6496b3a6"; }; } From db1c0a7c243eed07e1c7307ac6acb9eea4171917 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 18 Feb 2024 21:29:00 -0800 Subject: [PATCH 072/177] add new packages and flake update --- flake.lock | 18 +++++++++--------- home.nix | 15 ++++++++++++--- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 30b76e8..d4c8985 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1708031129, - "narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=", + "lastModified": 1708294481, + "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8", + "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1707707289, - "narHash": "sha256-YuDt/eSTXMEHv8jS8BEZJgqCcG8Tr3cyqaZjJFXZHsw=", + "lastModified": 1708231718, + "narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd", + "rev": "0e6857fa1d632637488666c08e7b02c08e3178f8", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1708213449, - "narHash": "sha256-m1H5SvWlIldAzQrvzOSxhoxNJjodIZZBY34F/Iu7id4=", + "lastModified": 1708320008, + "narHash": "sha256-z3UURq162FuNuc2gqdveyDEgxSvpEWi8kyjXlzvlyGs=", "owner": "nix-community", "repo": "nur", - "rev": "ccc244cf9a517cdfccfd6a7a8b47083a5f926a0e", + "rev": "a8d1fb94a4cdca7ac79b16456fefa9609b5bce4a", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index d2184e1..ae7e87a 100644 --- a/home.nix +++ b/home.nix @@ -71,11 +71,14 @@ nodePackages.vscode-html-languageserver-bin nodePackages.vscode-json-languageserver nodePackages.yaml-language-server + ollama openssl + oterm pandoc patchelf pngpaste prettyping + python3Packages.huggingface-hub rclone readline ripgrep @@ -98,6 +101,7 @@ tree tree-sitter wget + xcodes xz yq zoom-us @@ -108,9 +112,9 @@ enable = true; }; - # programs.btop = { - # enable = true; - # }; + programs.btop = { + enable = true; + }; programs.darcs = { enable = true; @@ -204,6 +208,11 @@ enable = true; }; + programs.nix-index = { + enable = true; + enableFishIntegration = true; + }; + programs.starship = { enable = true; settings = { From d393f2c62d14d482851b9c4cda6eb02c05368ae9 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 19 Feb 2024 22:39:38 -0800 Subject: [PATCH 073/177] add jupyter and flake update --- flake.lock | 12 ++++++------ home.nix | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index d4c8985..82b2db2 100644 --- a/flake.lock +++ b/flake.lock @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708118438, - "narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", + "lastModified": 1708296515, + "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", + "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1708320008, - "narHash": "sha256-z3UURq162FuNuc2gqdveyDEgxSvpEWi8kyjXlzvlyGs=", + "lastModified": 1708408824, + "narHash": "sha256-wgx4wBCl11lyrIU/SCbsZ5MR0f4tXkPYV3FMidu1AOw=", "owner": "nix-community", "repo": "nur", - "rev": "a8d1fb94a4cdca7ac79b16456fefa9609b5bce4a", + "rev": "49ed1c11041345b7b6e98492701b751cfc864ee3", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index ae7e87a..29ef5b4 100644 --- a/home.nix +++ b/home.nix @@ -79,6 +79,7 @@ pngpaste prettyping python3Packages.huggingface-hub + python3Packages.jupyterlab rclone readline ripgrep From ca6336a7fc19d05a438d6c562314564d43c39f03 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 9 Mar 2024 10:22:17 -0800 Subject: [PATCH 074/177] flake update and neovim update --- flake.lock | 24 ++++++++++++------------ home.nix | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 82b2db2..c566528 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1708294481, - "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", + "lastModified": 1709988192, + "narHash": "sha256-qxwIkl85P0I1/EyTT+NJwzbXdOv86vgZxcv4UKicjK8=", "owner": "nix-community", "repo": "home-manager", - "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", + "rev": "b0b0c3d94345050a7f86d1ebc6c56eea4389d030", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1708231718, - "narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=", + "lastModified": 1709771483, + "narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "0e6857fa1d632637488666c08e7b02c08e3178f8", + "rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708296515, - "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", + "lastModified": 1709703039, + "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", + "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1708408824, - "narHash": "sha256-wgx4wBCl11lyrIU/SCbsZ5MR0f4tXkPYV3FMidu1AOw=", + "lastModified": 1710006296, + "narHash": "sha256-HuOpxTp/VX9FKjm0tn+omw1z8SsJapFtxuKTDdysJdE=", "owner": "nix-community", "repo": "nur", - "rev": "49ed1c11041345b7b6e98492701b751cfc864ee3", + "rev": "414e2ef360397c9e024d09dda6de78455d2e00b2", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 29ef5b4..87f8d58 100644 --- a/home.nix +++ b/home.nix @@ -358,7 +358,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "a58443e9e5b6afdaa2d23a54d6abe81c6496b3a6"; + rev = "6f0048ce70cc3c6f0f7a7ad44fe0aafde5006bad"; }; } From 832bc572083c376fa0f26102250e3c90c1129406 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 23 Mar 2024 10:14:43 -0700 Subject: [PATCH 075/177] updates and cleanup --- flake.lock | 24 ++++++------- home.nix | 101 +++++++++++++++++++++++++---------------------------- 2 files changed, 59 insertions(+), 66 deletions(-) diff --git a/flake.lock b/flake.lock index c566528..2aeb70f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1709988192, - "narHash": "sha256-qxwIkl85P0I1/EyTT+NJwzbXdOv86vgZxcv4UKicjK8=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "b0b0c3d94345050a7f86d1ebc6c56eea4389d030", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1709771483, - "narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=", + "lastModified": 1710717205, + "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6", + "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709703039, - "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1710006296, - "narHash": "sha256-HuOpxTp/VX9FKjm0tn+omw1z8SsJapFtxuKTDdysJdE=", + "lastModified": 1711204334, + "narHash": "sha256-Wzdv/we5OmxDHx9qxwO9b6XKRm6IS4jwoVbV65g8LxI=", "owner": "nix-community", "repo": "nur", - "rev": "414e2ef360397c9e024d09dda6de78455d2e00b2", + "rev": "676b81c589e5389344eb5c8f5e3fcf321e1dd87d", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 87f8d58..c8378a3 100644 --- a/home.nix +++ b/home.nix @@ -8,9 +8,9 @@ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "discord" - "idea-ultimate" "slack" "vscode" + "vscode-extension-MS-python-vscode-pylance" "zoom" ]; @@ -25,30 +25,22 @@ any-nix-shell aspell #bloop - cabal-install - cabal2nix cachix - cargo cmake coursier - #curlFull + curlFull delta + deno discord fd ffmpeg - #fishPlugins.bass fishPlugins.foreign-env fishPlugins.bobthefish font-awesome gitAndTools.diff-so-fancy - ghc - ghcid gnupg go graphviz - jetbrains.idea-ultimate - haskell-language-server - hugo luajit luajitPackages.luarocks luajitPackages.luasocket @@ -73,7 +65,7 @@ nodePackages.yaml-language-server ollama openssl - oterm + # oterm pandoc patchelf pngpaste @@ -84,8 +76,7 @@ readline ripgrep ripgrep-all - rnix-lsp - rustc + rustup sbt scala-cli shellcheck @@ -93,7 +84,6 @@ slides sqlite stylua - stack tealdeer tectonic texlab @@ -110,7 +100,7 @@ }; programs.bat = { - enable = true; + enable = true; }; programs.btop = { @@ -137,7 +127,7 @@ programs.eza = { enable = true; - enableAliases = true; + enableFishIntegration = true; git = true; icons = true; extraOptions = [ @@ -244,10 +234,12 @@ pkgs.vscode-extensions.skyapps.fish-vscode pkgs.vscode-extensions.baccata.scaladex-search pkgs.vscode-extensions.davidanson.vscode-markdownlint - pkgs.vscode-extensions.ms-python.python + pkgs.vscode-extensions.ms-python.vscode-pylance + # pkgs.vscode-extensions.ms-python.python pkgs.vscode-extensions.mechatroner.rainbow-csv pkgs.vscode-extensions.mkhl.direnv pkgs.vscode-extensions.asvetliakov.vscode-neovim + pkgs.vscode-extensions.rust-lang.rust-analyzer ]; userSettings = { editor.fontFamily = "SF Mono"; @@ -307,7 +299,7 @@ set -xg LUA_PATH "/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?.lua;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?/init.lua;/Users/salar/.luarocks/share/lua/5.1/?.lua;/Users/salar/.luarocks/share/lua/5.1/?/init.lua" set -xg LUA_CPATH "?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?/init.lua;/Users/salar/.luarocks/lib/lua/5.1/?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/lib/lua/5.1/?.so" - ''; + ''; interactiveShellInit = '' set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH @@ -317,48 +309,49 @@ ''; shellAliases = { - addsshmac="ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain"; - cat="bat"; - du="ncdu --color dark -rr -x"; - fzfp="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; - ping="prettyping"; + addsshmac = "ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain"; + cat = "bat"; + du = "ncdu --color dark -rr -x"; + fzfp = "fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; + ping = "prettyping"; ".." = "cd .."; - pj="python -m json.tool"; - l="ll"; - g="git"; - gl="git log"; - gc="git commit -m"; - gca="git commit -am"; - gws="git status"; - gu="gitui"; - ghauth="gh auth login --with-token < ~/.ghauth"; - gitpurgemain=''git branch --merged | grep -v "\*" | grep -v "main" | xargs -n 1 git branch -d''; - gitpurgemaster=''git branch --merged | grep -v "\*" | grep -v "master" | xargs -n 1 git branch -d''; - giscala="gitignore scala,vim,java,sbt > .gitignore"; - gforksync="git fetch upstream && git merge upstream/master && git push origin master"; - grep="grep --color=auto"; - lg="lazygit"; - new-sbt="sbt new scala/scala-seed.g8"; - nixc="cd ~/.config/nixpkgs"; - nixre="nix build && sudo ./result/activate"; - nixinfo="nix-shell -p nix-info --run \"nix-info -m\""; - nixgc="nix-collect-garbage -d"; - nixq="nix-env -qa"; - nixupgrade="nix upgrade-nix"; - rmxcodederived="rm -fr ~/Library/Developer/Xcode/DerivedData"; - v="nvim"; - wezk="wezterm show-keys --lua"; - sshfre1="ssh salar@fre1.softinio.net"; - sshfre2="ssh -p 2022 salar@fre2.softinio.net"; - sshhcloud1="ssh salar@hcloud1.softinio.net"; - sshhcloud1r="ssh root@hcloud1.softinio.net"; + pj = "python -m json.tool"; + l = "ll"; + g = "git"; + gl = "git log"; + gc = "git commit -m"; + gca = "git commit -am"; + gws = "git status"; + gu = "gitui"; + ghauth = "gh auth login --with-token < ~/.ghauth"; + gitpurgemain = ''git branch --merged | grep -v "\*" | grep -v "main" | xargs -n 1 git branch -d''; + gitpurgemaster = ''git branch --merged | grep -v "\*" | grep -v "master" | xargs -n 1 git branch -d''; + giscala = "gitignore scala,vim,java,sbt > .gitignore"; + gforksync = "git fetch upstream && git merge upstream/master && git push origin master"; + grep = "grep --color=auto"; + lg = "lazygit"; + new-sbt = "sbt new scala/scala-seed.g8"; + nixc = "cd ~/.config/nixpkgs"; + nixre = "nix build && sudo ./result/activate"; + nixinfo = "nix-shell -p nix-info --run \"nix-info -m\""; + nixgc = "nix-collect-garbage -d"; + nixq = "nix-env -qa"; + nixstorerepair = "nix-store --repair --verify --check-contents"; + nixupgrade = "nix upgrade-nix"; + rmxcodederived = "rm -fr ~/Library/Developer/Xcode/DerivedData"; + v = "nvim"; + wezk = "wezterm show-keys --lua"; + sshfre1 = "ssh salar@fre1.softinio.net"; + sshfre2 = "ssh -p 2022 salar@fre2.softinio.net"; + sshhcloud1 = "ssh salar@hcloud1.softinio.net"; + sshhcloud1r = "ssh root@hcloud1.softinio.net"; }; }; # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "6f0048ce70cc3c6f0f7a7ad44fe0aafde5006bad"; + rev = "20abfd7ad7a56d7a73d83f6443bb7fe9a72f6b1a"; }; } From 850b39c9b6ae662285ecd1724b44a087e3c8496c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 26 Apr 2024 12:20:53 -0700 Subject: [PATCH 076/177] updates and added devenv as a package --- flake.lock | 24 +++++------ flake.nix | 119 +++++++++++++++++++++++++++-------------------------- home.nix | 3 +- 3 files changed, 74 insertions(+), 72 deletions(-) diff --git a/flake.lock b/flake.lock index 2aeb70f..e54dd0d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1711133180, - "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", + "lastModified": 1714042918, + "narHash": "sha256-4AItZA3EQIiSNAxliuYEJumw/LaVfrMv84gYyrs0r3U=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", + "rev": "0c5704eceefcb7bb238a958f532a86e3b59d76db", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1710717205, - "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", + "lastModified": 1713946171, + "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", + "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711001935, - "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", + "lastModified": 1714076141, + "narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20f77aa09916374aa3141cbc605c955626762c9a", + "rev": "7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1711204334, - "narHash": "sha256-Wzdv/we5OmxDHx9qxwO9b6XKRm6IS4jwoVbV65g8LxI=", + "lastModified": 1714153552, + "narHash": "sha256-+3CdMPm0E4fExxj3xZ8nZY/TW/Tc0BczK4DopNdr6gY=", "owner": "nix-community", "repo": "nur", - "rev": "676b81c589e5389344eb5c8f5e3fcf321e1dd87d", + "rev": "8f0f28c3bf4fb66368ecf10fd742a44c7f816d35", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2d4bd6c..3362b7d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { description = "Nix and home-manager configurations for Softinio's macbook"; - + inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nix-darwin = { @@ -13,73 +13,74 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - - outputs = {self, nix-darwin, home-manager, nur, nixpkgs, ...}: + + outputs = { self, nix-darwin, home-manager, nur, nixpkgs, ... }: let homeManagerConfFor = config: { ... }: { nixpkgs.overlays = [ nur.overlay ]; imports = [ config ]; }; - + m3maxConfiguration = { pkgs, ... }: { environment.systemPackages = with pkgs; - [ - home-manager - ]; - - fonts = { - fontDir.enable = true; - fonts = with pkgs; [ - fira-code - ]; - }; - - services.nix-daemon.enable = true; - - nix = { - nixPath = nixpkgs.lib.mkForce [ - "nixpkgs=${nixpkgs}" - ]; - - package = pkgs.nixUnstable; - settings = { - experimental-features = "nix-command flakes repl-flake"; - extra-platforms = [ "x86_64-darwin" "aarch64-darwin" ]; - trusted-users = [ "root" "salar" ]; + [ + home-manager + ]; + + fonts = { + fontDir.enable = true; + fonts = with pkgs; [ + fira-code + ]; }; - distributedBuilds = false; - }; - - programs.fish.enable = true; - - system.configurationRevision = self.rev or self.dirtyRev or null; - - system.stateVersion = 4; - - nixpkgs.hostPlatform = "aarch64-darwin"; - - users = { - users.salar = { - home = /Users/salar; + + services.nix-daemon.enable = true; + + nix = { + nixPath = nixpkgs.lib.mkForce [ + "nixpkgs=${nixpkgs}" + ]; + + package = pkgs.nixUnstable; + settings = { + experimental-features = "nix-command flakes"; + extra-platforms = [ "x86_64-darwin" "aarch64-darwin" ]; + trusted-users = [ "root" "salar" ]; + }; + distributedBuilds = false; + }; + + programs.fish.enable = true; + + system.configurationRevision = self.rev or self.dirtyRev or null; + + system.stateVersion = 4; + + nixpkgs.hostPlatform = "aarch64-darwin"; + + users = { + users.salar = { + home = /Users/salar; + }; }; }; + in + { + darwinConfigurations.salarm3max = nix-darwin.lib.darwinSystem { + system = "aarc64-darwin"; + modules = [ + m3maxConfiguration + home-manager.darwinModules.home-manager + { + home-manager.useUserPackages = true; + home-manager.users.salar = homeManagerConfFor ./home.nix; + } + ]; + specialArgs = { inherit nixpkgs; }; + }; + + darwinPackages = self.darwinConfigurations.salarm3max.pkgs; + + defaultPackage.aarch64-darwin = self.darwinConfigurations.salarm3max.system; }; - in - { - darwinConfigurations.salarm3max = nix-darwin.lib.darwinSystem { - system = "aarc64-darwin"; - modules = [ - m3maxConfiguration - home-manager.darwinModules.home-manager { - home-manager.useUserPackages = true; - home-manager.users.salar = homeManagerConfFor ./home.nix; - } - ]; - specialArgs = { inherit nixpkgs; }; - }; - - darwinPackages = self.darwinConfigurations.salarm3max.pkgs; - - defaultPackage.aarch64-darwin = self.darwinConfigurations.salarm3max.system; - }; } diff --git a/home.nix b/home.nix index c8378a3..4b3385a 100644 --- a/home.nix +++ b/home.nix @@ -31,6 +31,7 @@ curlFull delta deno + devenv discord fd ffmpeg @@ -351,7 +352,7 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "20abfd7ad7a56d7a73d83f6443bb7fe9a72f6b1a"; + rev = "12c5e919e829c067ba795fe7f1e02037cbc0b4e9"; }; } From 6896222f3a560081fbc0bb88794ce923748b963c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 29 Apr 2024 09:03:19 -0700 Subject: [PATCH 077/177] remove fre1 alias and updates --- flake.lock | 18 +++++++++--------- home.nix | 2 -- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index e54dd0d..3ff59d9 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1714042918, - "narHash": "sha256-4AItZA3EQIiSNAxliuYEJumw/LaVfrMv84gYyrs0r3U=", + "lastModified": 1714377222, + "narHash": "sha256-UsDsjWCKlWn8vbXi8Zza9Hkq3xyk8fpvFNo2VM5S74E=", "owner": "nix-community", "repo": "home-manager", - "rev": "0c5704eceefcb7bb238a958f532a86e3b59d76db", + "rev": "2af7c78b7bb9cf18406a193eba13ef9f99388f49", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714076141, - "narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=", + "lastModified": 1714253743, + "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856", + "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1714153552, - "narHash": "sha256-+3CdMPm0E4fExxj3xZ8nZY/TW/Tc0BczK4DopNdr6gY=", + "lastModified": 1714405537, + "narHash": "sha256-Lu3QD7dZq/ewFs3Dkau+02ddABNSt4d5M1N+hBU/kzQ=", "owner": "nix-community", "repo": "nur", - "rev": "8f0f28c3bf4fb66368ecf10fd742a44c7f816d35", + "rev": "cfad987565e2da98baa3c899fafad88687aa0b19", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 4b3385a..4252d03 100644 --- a/home.nix +++ b/home.nix @@ -342,8 +342,6 @@ rmxcodederived = "rm -fr ~/Library/Developer/Xcode/DerivedData"; v = "nvim"; wezk = "wezterm show-keys --lua"; - sshfre1 = "ssh salar@fre1.softinio.net"; - sshfre2 = "ssh -p 2022 salar@fre2.softinio.net"; sshhcloud1 = "ssh salar@hcloud1.softinio.net"; sshhcloud1r = "ssh root@hcloud1.softinio.net"; }; From bea7f4b4114cbf8e0cbe588edff1615769fa804a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 12 May 2024 14:32:51 -0700 Subject: [PATCH 078/177] nix versions unstable removal correction --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 3362b7d..227585e 100644 --- a/flake.nix +++ b/flake.nix @@ -41,7 +41,7 @@ "nixpkgs=${nixpkgs}" ]; - package = pkgs.nixUnstable; + package = pkgs.nixFlakes; settings = { experimental-features = "nix-command flakes"; extra-platforms = [ "x86_64-darwin" "aarch64-darwin" ]; From 7ca9501e87804f3197b4d6cb398e2733e2270463 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 12 May 2024 14:32:59 -0700 Subject: [PATCH 079/177] flake update --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 3ff59d9..9451616 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1714377222, - "narHash": "sha256-UsDsjWCKlWn8vbXi8Zza9Hkq3xyk8fpvFNo2VM5S74E=", + "lastModified": 1715486357, + "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", "owner": "nix-community", "repo": "home-manager", - "rev": "2af7c78b7bb9cf18406a193eba13ef9f99388f49", + "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714253743, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", + "lastModified": 1715447595, + "narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", + "rev": "062ca2a9370a27a35c524dc82d540e6e9824b652", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1714405537, - "narHash": "sha256-Lu3QD7dZq/ewFs3Dkau+02ddABNSt4d5M1N+hBU/kzQ=", + "lastModified": 1715547070, + "narHash": "sha256-c4igsuyh7VukfPftA73xQVq1ItFKKuqDAma5BnO4Jhc=", "owner": "nix-community", "repo": "nur", - "rev": "cfad987565e2da98baa3c899fafad88687aa0b19", + "rev": "8d252a325a8e9cbc6d83bd77c2e6e9b92033a739", "type": "github" }, "original": { From 29c4ce7acd29db76d95482bb87da915c348cf474 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 18 May 2024 11:01:47 -0700 Subject: [PATCH 080/177] flake update and added packages oterm and slumber --- flake.lock | 24 ++++++++++++------------ home.nix | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index 9451616..3d1e810 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1715486357, - "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", + "lastModified": 1715930644, + "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", "owner": "nix-community", "repo": "home-manager", - "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", + "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1713946171, - "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", + "lastModified": 1715901937, + "narHash": "sha256-eMyvWP56ZOdraC2IOvZo0/RTDcrrsqJ0oJWDC76JTak=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", + "rev": "ffc01182f90118119930bdfc528c1ee9a39ecef8", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715447595, - "narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=", + "lastModified": 1715961556, + "narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "062ca2a9370a27a35c524dc82d540e6e9824b652", + "rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1715547070, - "narHash": "sha256-c4igsuyh7VukfPftA73xQVq1ItFKKuqDAma5BnO4Jhc=", + "lastModified": 1716052828, + "narHash": "sha256-ad4ZJ5lFxnnq4BQd3lgY0t9yI9CSRMDl+kdcqPeDFIA=", "owner": "nix-community", "repo": "nur", - "rev": "8d252a325a8e9cbc6d83bd77c2e6e9b92033a739", + "rev": "f4e21887115370c490d24e27dfeccd9ec20ecdf8", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 4252d03..db5f473 100644 --- a/home.nix +++ b/home.nix @@ -24,7 +24,6 @@ jdk21 any-nix-shell aspell - #bloop cachix cmake coursier @@ -66,7 +65,7 @@ nodePackages.yaml-language-server ollama openssl - # oterm + oterm pandoc patchelf pngpaste @@ -83,6 +82,7 @@ shellcheck slack slides + slumber sqlite stylua tealdeer From 276ceac3d53a33bcb44e23d248c5939d1c5e7d16 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 18 May 2024 11:31:35 -0700 Subject: [PATCH 081/177] run nixfmt on repo --- config.nix | 5 +- flake.nix | 94 +++++++++++++++++++++--------------- home.nix | 30 +++++++----- programs/git/default.nix | 34 ++++++------- programs/tmux/default.nix | 13 ++--- programs/wezterm/default.nix | 2 +- 6 files changed, 93 insertions(+), 85 deletions(-) diff --git a/config.nix b/config.nix index 0ad4e95..69baf10 100644 --- a/config.nix +++ b/config.nix @@ -1,4 +1 @@ -{ - allowUnfree = true; -} - +{ allowUnfree = true; } diff --git a/flake.nix b/flake.nix index 227585e..cb51c77 100644 --- a/flake.nix +++ b/flake.nix @@ -7,63 +7,75 @@ url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; - nur.url = github:nix-community/nur; + nur.url = "github:nix-community/nur"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, nix-darwin, home-manager, nur, nixpkgs, ... }: + outputs = + { + self, + nix-darwin, + home-manager, + nur, + nixpkgs, + ... + }: let - homeManagerConfFor = config: { ... }: { - nixpkgs.overlays = [ nur.overlay ]; - imports = [ config ]; - }; - - m3maxConfiguration = { pkgs, ... }: { - environment.systemPackages = with pkgs; - [ - home-manager - ]; - - fonts = { - fontDir.enable = true; - fonts = with pkgs; [ - fira-code - ]; + homeManagerConfFor = + config: + { ... }: + { + nixpkgs.overlays = [ nur.overlay ]; + imports = [ config ]; }; - services.nix-daemon.enable = true; + m3maxConfiguration = + { pkgs, ... }: + { + environment.systemPackages = with pkgs; [ home-manager ]; - nix = { - nixPath = nixpkgs.lib.mkForce [ - "nixpkgs=${nixpkgs}" - ]; - - package = pkgs.nixFlakes; - settings = { - experimental-features = "nix-command flakes"; - extra-platforms = [ "x86_64-darwin" "aarch64-darwin" ]; - trusted-users = [ "root" "salar" ]; + fonts = { + fontDir.enable = true; + fonts = with pkgs; [ fira-code ]; }; - distributedBuilds = false; - }; - programs.fish.enable = true; + services.nix-daemon.enable = true; - system.configurationRevision = self.rev or self.dirtyRev or null; + nix = { + nixPath = nixpkgs.lib.mkForce [ "nixpkgs=${nixpkgs}" ]; - system.stateVersion = 4; + package = pkgs.nixFlakes; + settings = { + experimental-features = "nix-command flakes"; + extra-platforms = [ + "x86_64-darwin" + "aarch64-darwin" + ]; + trusted-users = [ + "root" + "salar" + ]; + }; + distributedBuilds = false; + }; - nixpkgs.hostPlatform = "aarch64-darwin"; + programs.fish.enable = true; - users = { - users.salar = { - home = /Users/salar; + system.configurationRevision = self.rev or self.dirtyRev or null; + + system.stateVersion = 4; + + nixpkgs.hostPlatform = "aarch64-darwin"; + + users = { + users.salar = { + home = /Users/salar; + }; }; }; - }; in { darwinConfigurations.salarm3max = nix-darwin.lib.darwinSystem { @@ -76,7 +88,9 @@ home-manager.users.salar = homeManagerConfFor ./home.nix; } ]; - specialArgs = { inherit nixpkgs; }; + specialArgs = { + inherit nixpkgs; + }; }; darwinPackages = self.darwinConfigurations.salarm3max.pkgs; diff --git a/home.nix b/home.nix index db5f473..bd7da62 100644 --- a/home.nix +++ b/home.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { # Let Home Manager install and manage itself. @@ -6,13 +11,15 @@ imports = (import ./programs); - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "discord" - "slack" - "vscode" - "vscode-extension-MS-python-vscode-pylance" - "zoom" - ]; + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "discord" + "slack" + "vscode" + "vscode-extension-MS-python-vscode-pylance" + "zoom" + ]; home = { stateVersion = "23.11"; @@ -54,7 +61,7 @@ neovim niv nix-index - nixfmt + nixfmt-rfc-style nix-prefetch-git nodejs nodePackages.pyright @@ -110,9 +117,7 @@ programs.darcs = { enable = true; - author = [ - "Salar Rahmanian " - ]; + author = [ "Salar Rahmanian " ]; boring = [ "^.idea$" "^.direnv$" @@ -353,4 +358,3 @@ rev = "12c5e919e829c067ba795fe7f1e02037cbc0b4e9"; }; } - diff --git a/programs/git/default.nix b/programs/git/default.nix index 5b0b8da..2396981 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -4,7 +4,7 @@ let gitConfig = { core = { editor = "nvim"; - pager = "diff-so-fancy | less --tabs=4 -RFX"; + pager = "diff-so-fancy | less --tabs=4 -RFX"; }; init.defaultBranch = "main"; merge.conflictstyle = "diff3"; @@ -36,22 +36,22 @@ let master = "checkout master"; }; myIgnores = [ - "*~" - ".DS_Store" - "*.bloop" - ".direnv/" - ".idea/" - ".mypy_cache" - "*.metals" - "*.metals.sbt" - "*metals.sbt" - "*.envrc" # there is lorri, nix-direnv & simple direnv; let people decide - "*hie.yaml" # ghcide files - "*.mill-version" # used by metals - "*.vscode" - "*.python-version" - "result" - ]; + "*~" + ".DS_Store" + "*.bloop" + ".direnv/" + ".idea/" + ".mypy_cache" + "*.metals" + "*.metals.sbt" + "*metals.sbt" + "*.envrc" # there is lorri, nix-direnv & simple direnv; let people decide + "*hie.yaml" # ghcide files + "*.mill-version" # used by metals + "*.vscode" + "*.python-version" + "result" + ]; in { programs.git = { diff --git a/programs/tmux/default.nix b/programs/tmux/default.nix index 9e264fe..46fb28e 100644 --- a/programs/tmux/default.nix +++ b/programs/tmux/default.nix @@ -22,16 +22,9 @@ in plugin = tmuxPlugins.continuum; extraConfig = "set -g @continuum-restore 'on'"; } - { - plugin = tmuxPlugins.sensible; - } - { - plugin = tmuxPlugins.vim-tmux-navigator; - } - { - plugin = tmuxPlugins.onedark-theme; - } + { plugin = tmuxPlugins.sensible; } + { plugin = tmuxPlugins.vim-tmux-navigator; } + { plugin = tmuxPlugins.onedark-theme; } ]; }; } - diff --git a/programs/wezterm/default.nix b/programs/wezterm/default.nix index e73111f..26a552a 100644 --- a/programs/wezterm/default.nix +++ b/programs/wezterm/default.nix @@ -6,6 +6,6 @@ in { programs.wezterm = { enable = true; - extraConfig = weztermConfig; + extraConfig = weztermConfig; }; } From 07ad385a403c1a5c6fbf554131bbc392e5d04144 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 18 May 2024 22:08:46 -0700 Subject: [PATCH 082/177] nvim update --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index bd7da62..1f1ea6b 100644 --- a/home.nix +++ b/home.nix @@ -355,6 +355,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "12c5e919e829c067ba795fe7f1e02037cbc0b4e9"; + rev = "f875590278de306462a02ba6bdd3181fd63e5b45"; }; } From 5742f7e8ba9aea93b04a45db6a13b55af2e3ebd0 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 19 May 2024 17:15:05 -0700 Subject: [PATCH 083/177] add skim and neovim update --- home.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 1f1ea6b..e7e66b1 100644 --- a/home.nix +++ b/home.nix @@ -87,6 +87,7 @@ sbt scala-cli shellcheck + skimpdf slack slides slumber @@ -355,6 +356,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "f875590278de306462a02ba6bdd3181fd63e5b45"; + rev = "d5b436ac78b01c2548edbb7e7ca5c70770a6cd8c"; }; } From c6ec29ca13493f2e5c46d629008fbade9a859044 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 19 May 2024 22:53:50 -0700 Subject: [PATCH 084/177] home.nix cleanup --- home.nix | 34 ++-------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/home.nix b/home.nix index e7e66b1..9fed704 100644 --- a/home.nix +++ b/home.nix @@ -167,10 +167,6 @@ enable = true; }; - programs.gitui = { - enable = true; - }; - programs.helix = { enable = true; settings = { @@ -186,22 +182,6 @@ enable = true; }; - programs.kitty = { - enable = true; - theme = "Tokyo Night"; - font = { - name = "SF Mono"; - size = 16; - }; - settings = { - copy_on_select = true; - enabled_layouts = "*"; - macos_quit_when_last_window_closed = true; - scrollback_lines = 50000; - kitty_mod = "ctrl+cmd"; - }; - }; - programs.lazygit = { enable = true; }; @@ -242,7 +222,7 @@ pkgs.vscode-extensions.baccata.scaladex-search pkgs.vscode-extensions.davidanson.vscode-markdownlint pkgs.vscode-extensions.ms-python.vscode-pylance - # pkgs.vscode-extensions.ms-python.python + pkgs.vscode-extensions.ms-python.python pkgs.vscode-extensions.mechatroner.rainbow-csv pkgs.vscode-extensions.mkhl.direnv pkgs.vscode-extensions.asvetliakov.vscode-neovim @@ -289,23 +269,13 @@ set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH - set -xg PATH /Users/salar/.luarocks/bin:/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/nix/store/3qp71mhrpxxg080yc82k51nx7b5hkajr-kitty-0.21.2/Applications/kitty.app/Contents/MacOS $PATH - - set -xg PATH "/Users/salar/Library/Application Support/Coursier/bin" $PATH + set -xg PATH /Users/salar/.luarocks/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin $PATH set -xg WORKSPACE /Users/salar/Projects - set -xg NIX_PATH $HOME/.nix-defexpr/channels $NIX_PATH - set -xg FZF_DEFAULT_OPTS "--preview='bat {} --color=always'" \n set -xg TOOLCHAINS swift - - set -xg XDG_CONFIG_HOME $HOME/.config - - set -xg LUA_PATH "/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?.lua;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?/init.lua;/Users/salar/.luarocks/share/lua/5.1/?.lua;/Users/salar/.luarocks/share/lua/5.1/?/init.lua" - - set -xg LUA_CPATH "?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/share/lua/5.1/?/init.lua;/Users/salar/.luarocks/lib/lua/5.1/?.so;/nix/store/95wpywsjf5iiw77f6n9rw347lk1sly15-luarocks-3.2.1/lib/lua/5.1/?.so" ''; interactiveShellInit = '' From 780cd784c70d59a91830fb53ce1bc297c5000a02 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 2 Jun 2024 14:00:27 -0700 Subject: [PATCH 085/177] update nvim --- flake.lock | 24 ++++++++++++------------ home.nix | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 3d1e810..ef24995 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", + "lastModified": 1716679503, + "narHash": "sha256-aX8AEWHLwuiYX8OCpTnHGrQeei1Gb+AGbk1hq+RIClg=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "rev": "e4611630c3cc8ed618b48d92f6291f65be9f7913", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1715901937, - "narHash": "sha256-eMyvWP56ZOdraC2IOvZo0/RTDcrrsqJ0oJWDC76JTak=", + "lastModified": 1716511055, + "narHash": "sha256-5Fe/DGgvMhPEMl9VdVxv3zvwRcwNDmW5eRJ0gk72w7U=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "ffc01182f90118119930bdfc528c1ee9a39ecef8", + "rev": "0bea8222f6e83247dd13b055d83e64bce02ee532", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715961556, - "narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=", + "lastModified": 1716509168, + "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64", + "rev": "bfb7a882678e518398ce9a31a881538679f6f092", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1716052828, - "narHash": "sha256-ad4ZJ5lFxnnq4BQd3lgY0t9yI9CSRMDl+kdcqPeDFIA=", + "lastModified": 1716696282, + "narHash": "sha256-ZI6tjsqJcIQZ79NZvGTtk7C2fmeFu72NOM/1Hi5XpXs=", "owner": "nix-community", "repo": "nur", - "rev": "f4e21887115370c490d24e27dfeccd9ec20ecdf8", + "rev": "90ded5878099c7607d670220390a97376f59bd0a", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 9fed704..7deebc9 100644 --- a/home.nix +++ b/home.nix @@ -326,6 +326,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "d5b436ac78b01c2548edbb7e7ca5c70770a6cd8c"; + rev = "71648bb0f862e67287ad34d4681740cec03901b2"; }; } From f141d7d804c642dc2f74d96259883cf9c380d253 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 2 Jun 2024 14:05:08 -0700 Subject: [PATCH 086/177] nix version update to 24.05 and flake update --- flake.lock | 24 ++++++++++++------------ home.nix | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index ef24995..dc228d6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1716679503, - "narHash": "sha256-aX8AEWHLwuiYX8OCpTnHGrQeei1Gb+AGbk1hq+RIClg=", + "lastModified": 1717316182, + "narHash": "sha256-Xi0EpZcu39N0eW7apLjFfUOR9y80toyjYizez7J1wMI=", "owner": "nix-community", "repo": "home-manager", - "rev": "e4611630c3cc8ed618b48d92f6291f65be9f7913", + "rev": "9b53a10f4c91892f5af87cf55d08fba59ca086af", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1716511055, - "narHash": "sha256-5Fe/DGgvMhPEMl9VdVxv3zvwRcwNDmW5eRJ0gk72w7U=", + "lastModified": 1716993688, + "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "0bea8222f6e83247dd13b055d83e64bce02ee532", + "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716509168, - "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfb7a882678e518398ce9a31a881538679f6f092", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1716696282, - "narHash": "sha256-ZI6tjsqJcIQZ79NZvGTtk7C2fmeFu72NOM/1Hi5XpXs=", + "lastModified": 1717357486, + "narHash": "sha256-7lRZjv5NJAJQsEv1x4k+TJSbWEJG27gi4XDzZbq+fvY=", "owner": "nix-community", "repo": "nur", - "rev": "90ded5878099c7607d670220390a97376f59bd0a", + "rev": "da0cb74fd7d4bf8744bc2cbc1e2ed02adc50ed69", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 7deebc9..d673f5c 100644 --- a/home.nix +++ b/home.nix @@ -22,7 +22,7 @@ ]; home = { - stateVersion = "23.11"; + stateVersion = "24.05"; sessionVariables = { EDITOR = "nvim"; VISUAL = "$EDITOR"; From 5cf0dc6f6bc628559c039500c0bf1ac98d89eda3 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 7 Jun 2024 22:58:32 -0700 Subject: [PATCH 087/177] flake update and replace ncdu with dua-cli --- flake.lock | 18 +++++++++--------- home.nix | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index dc228d6..b0ea14e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1717316182, - "narHash": "sha256-Xi0EpZcu39N0eW7apLjFfUOR9y80toyjYizez7J1wMI=", + "lastModified": 1717525419, + "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", "owner": "nix-community", "repo": "home-manager", - "rev": "9b53a10f4c91892f5af87cf55d08fba59ca086af", + "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716948383, - "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", + "lastModified": 1717602782, + "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", + "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1717357486, - "narHash": "sha256-7lRZjv5NJAJQsEv1x4k+TJSbWEJG27gi4XDzZbq+fvY=", + "lastModified": 1717821758, + "narHash": "sha256-9iQreGkOPNBSMloULfv45dzAuaihK9ESR26bRs//tW0=", "owner": "nix-community", "repo": "nur", - "rev": "da0cb74fd7d4bf8744bc2cbc1e2ed02adc50ed69", + "rev": "f4f3dcd9f8be9eee489df9ec268e395cbbd215f3", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index d673f5c..da76379 100644 --- a/home.nix +++ b/home.nix @@ -39,6 +39,7 @@ deno devenv discord + dua fd ffmpeg fishPlugins.foreign-env @@ -56,7 +57,6 @@ metals multimarkdown mypy - ncdu neofetch neovim niv @@ -288,7 +288,7 @@ shellAliases = { addsshmac = "ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain"; cat = "bat"; - du = "ncdu --color dark -rr -x"; + du = "dua i"; fzfp = "fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; ping = "prettyping"; ".." = "cd .."; From 4a87a28464892202b4cde0018b1ab0c539629f81 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 7 Jun 2024 23:26:11 -0700 Subject: [PATCH 088/177] neovim update --- home.nix | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/home.nix b/home.nix index da76379..a3d78b0 100644 --- a/home.nix +++ b/home.nix @@ -59,6 +59,7 @@ mypy neofetch neovim + nil niv nix-index nixfmt-rfc-style @@ -205,28 +206,28 @@ programs.vscode = { enable = true; extensions = [ - pkgs.vscode-extensions.scalameta.metals - pkgs.vscode-extensions.usernamehw.errorlens - pkgs.vscode-extensions.redhat.java - pkgs.vscode-extensions.redhat.vscode-yaml - pkgs.vscode-extensions.xyz.local-history - pkgs.vscode-extensions.yzhang.markdown-all-in-one - pkgs.vscode-extensions.svsool.markdown-memo - pkgs.vscode-extensions.github.vscode-pull-request-github - pkgs.vscode-extensions.github.vscode-github-actions - pkgs.vscode-extensions.vscode-icons-team.vscode-icons - pkgs.vscode-extensions.github.github-vscode-theme - pkgs.vscode-extensions.jnoortheen.nix-ide - pkgs.vscode-extensions.timonwong.shellcheck - pkgs.vscode-extensions.skyapps.fish-vscode + pkgs.vscode-extensions.asvetliakov.vscode-neovim pkgs.vscode-extensions.baccata.scaladex-search pkgs.vscode-extensions.davidanson.vscode-markdownlint - pkgs.vscode-extensions.ms-python.vscode-pylance - pkgs.vscode-extensions.ms-python.python + pkgs.vscode-extensions.github.github-vscode-theme + pkgs.vscode-extensions.github.vscode-github-actions + pkgs.vscode-extensions.github.vscode-pull-request-github + pkgs.vscode-extensions.jnoortheen.nix-ide pkgs.vscode-extensions.mechatroner.rainbow-csv pkgs.vscode-extensions.mkhl.direnv - pkgs.vscode-extensions.asvetliakov.vscode-neovim + pkgs.vscode-extensions.ms-python.python + pkgs.vscode-extensions.ms-python.vscode-pylance + pkgs.vscode-extensions.redhat.java + pkgs.vscode-extensions.redhat.vscode-yaml pkgs.vscode-extensions.rust-lang.rust-analyzer + pkgs.vscode-extensions.scalameta.metals + pkgs.vscode-extensions.skyapps.fish-vscode + pkgs.vscode-extensions.svsool.markdown-memo + pkgs.vscode-extensions.timonwong.shellcheck + pkgs.vscode-extensions.usernamehw.errorlens + pkgs.vscode-extensions.vscode-icons-team.vscode-icons + pkgs.vscode-extensions.xyz.local-history + pkgs.vscode-extensions.yzhang.markdown-all-in-one ]; userSettings = { editor.fontFamily = "SF Mono"; @@ -326,6 +327,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "71648bb0f862e67287ad34d4681740cec03901b2"; + rev = "fed5967077d0bd7f41e009ff22290b043379c1d7"; }; } From 219b7e3ec21a2823593e838790953ec87e69a717 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 8 Jun 2024 08:45:04 -0700 Subject: [PATCH 089/177] flake update --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index b0ea14e..5a181b9 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1717821758, - "narHash": "sha256-9iQreGkOPNBSMloULfv45dzAuaihK9ESR26bRs//tW0=", + "lastModified": 1717857394, + "narHash": "sha256-cFIod8vGScvmizwuRjmrvU+D0dFbV2rwjZcqW+FnxRk=", "owner": "nix-community", "repo": "nur", - "rev": "f4f3dcd9f8be9eee489df9ec268e395cbbd215f3", + "rev": "bcfbaa1b80c88d8c3ba75076f28fae4d5cb20c2e", "type": "github" }, "original": { From 074156d2d61ce3353fcfcd7b6c051fd68774dafa Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 7 Jul 2024 19:22:52 -0700 Subject: [PATCH 090/177] flake related updates --- flake.lock | 24 ++++++++++++------------ flake.nix | 3 +-- home.nix | 4 ++-- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index 5a181b9..0e634ec 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1717525419, - "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", + "lastModified": 1720327769, + "narHash": "sha256-kAsg3Lg4YKKpGw+f1W2s5hzjP8B0y/juowvjK8utIag=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", + "rev": "6b7ce96f34b324e4e104abc30d06955d216bac71", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1716993688, - "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", + "lastModified": 1720337362, + "narHash": "sha256-9TNQtlwu97NPaJYsKkdObOsy0MLN4NAOBz0pqwH3KnA=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", + "rev": "0f89b73f41eaa1dde67b291452c181d9a75f10dd", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717602782, - "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1717857394, - "narHash": "sha256-cFIod8vGScvmizwuRjmrvU+D0dFbV2rwjZcqW+FnxRk=", + "lastModified": 1720399085, + "narHash": "sha256-B9jK9Rp/tJGGX+N4LdIjIv2R91qtOqKBUnz5g++xIyA=", "owner": "nix-community", "repo": "nur", - "rev": "bcfbaa1b80c88d8c3ba75076f28fae4d5cb20c2e", + "rev": "813dad69e6de057962406a0eb78fb53881ce4aea", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index cb51c77..2ba5aaf 100644 --- a/flake.nix +++ b/flake.nix @@ -38,8 +38,7 @@ environment.systemPackages = with pkgs; [ home-manager ]; fonts = { - fontDir.enable = true; - fonts = with pkgs; [ fira-code ]; + packages = with pkgs; [ fira-code ]; }; services.nix-daemon.enable = true; diff --git a/home.nix b/home.nix index a3d78b0..1e7dc15 100644 --- a/home.nix +++ b/home.nix @@ -65,10 +65,8 @@ nixfmt-rfc-style nix-prefetch-git nodejs - nodePackages.pyright nodePackages.bash-language-server nodePackages.typescript-language-server - nodePackages.vscode-html-languageserver-bin nodePackages.vscode-json-languageserver nodePackages.yaml-language-server ollama @@ -80,6 +78,7 @@ prettyping python3Packages.huggingface-hub python3Packages.jupyterlab + pyright rclone readline ripgrep @@ -102,6 +101,7 @@ tree tree-sitter wget + vscode-langservers-extracted xcodes xz yq From b8b4d3edd62af77666b0a2cf610de13b9502774a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 15 Jul 2024 21:59:15 -0700 Subject: [PATCH 091/177] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 0e634ec..1f5554f 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1720327769, - "narHash": "sha256-kAsg3Lg4YKKpGw+f1W2s5hzjP8B0y/juowvjK8utIag=", + "lastModified": 1720734513, + "narHash": "sha256-neWQ8eNtLTd+YMesb7WjKl1SVCbDyCm46LUgP/g/hdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "6b7ce96f34b324e4e104abc30d06955d216bac71", + "rev": "90ae324e2c56af10f20549ab72014804a3064c7f", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1720337362, - "narHash": "sha256-9TNQtlwu97NPaJYsKkdObOsy0MLN4NAOBz0pqwH3KnA=", + "lastModified": 1721086468, + "narHash": "sha256-OF642LVDj5Icr0tXlY9P54vna4OP10IMhIhhiKwIRpw=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "0f89b73f41eaa1dde67b291452c181d9a75f10dd", + "rev": "7522a30d328f885d20c2815bd05eb711bc69644c", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720031269, - "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1720399085, - "narHash": "sha256-B9jK9Rp/tJGGX+N4LdIjIv2R91qtOqKBUnz5g++xIyA=", + "lastModified": 1721093458, + "narHash": "sha256-LW0e2MLxq3WyHDmdAX8ay1QQLDlD9n07hH2iss1GuBE=", "owner": "nix-community", "repo": "nur", - "rev": "813dad69e6de057962406a0eb78fb53881ce4aea", + "rev": "f31d255a55e1737c9787461f360cdce47552250d", "type": "github" }, "original": { From df302e85405025557e689613d04b412ebab375fa Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 20 Jul 2024 22:07:11 -0700 Subject: [PATCH 092/177] flake updates --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 1f5554f..da22254 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1720734513, - "narHash": "sha256-neWQ8eNtLTd+YMesb7WjKl1SVCbDyCm46LUgP/g/hdo=", + "lastModified": 1721135958, + "narHash": "sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY=", "owner": "nix-community", "repo": "home-manager", - "rev": "90ae324e2c56af10f20549ab72014804a3064c7f", + "rev": "afd2021bedff2de92dfce0e257a3d03ae65c603d", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1721086468, - "narHash": "sha256-OF642LVDj5Icr0tXlY9P54vna4OP10IMhIhhiKwIRpw=", + "lastModified": 1721270582, + "narHash": "sha256-MdZmYPPExntE5rJu88IhJSy8Um4UyZCTXhOwvzbjDVI=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "7522a30d328f885d20c2815bd05eb711bc69644c", + "rev": "a3e4a7b8ffc08c7dc1973822a77ad432e1ec3dec", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720957393, - "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "lastModified": 1721379653, + "narHash": "sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "rev": "1d9c2c9b3e71b9ee663d11c5d298727dace8d374", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1721093458, - "narHash": "sha256-LW0e2MLxq3WyHDmdAX8ay1QQLDlD9n07hH2iss1GuBE=", + "lastModified": 1721534662, + "narHash": "sha256-/2TL6I7hapUzEHYbZuhyg75DG92j/BSl3E0AeezcDQs=", "owner": "nix-community", "repo": "nur", - "rev": "f31d255a55e1737c9787461f360cdce47552250d", + "rev": "0f61f0a7e37cd8c15446b40ac3b09186bc58c7b1", "type": "github" }, "original": { From d601fe01d0478ee785be4fea3569cb7eafc58557 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 7 Aug 2024 09:24:30 -0700 Subject: [PATCH 093/177] flake updates and vscode setup improvements --- flake.lock | 24 ++++++++++++------------ home.nix | 17 +++++++++++++---- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index da22254..f0b8138 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1721135958, - "narHash": "sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY=", + "lastModified": 1723015306, + "narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", "owner": "nix-community", "repo": "home-manager", - "rev": "afd2021bedff2de92dfce0e257a3d03ae65c603d", + "rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1721270582, - "narHash": "sha256-MdZmYPPExntE5rJu88IhJSy8Um4UyZCTXhOwvzbjDVI=", + "lastModified": 1722924007, + "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a3e4a7b8ffc08c7dc1973822a77ad432e1ec3dec", + "rev": "91010a5613ffd7ee23ee9263213157a1c422b705", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1721379653, - "narHash": "sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0=", + "lastModified": 1722813957, + "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1d9c2c9b3e71b9ee663d11c5d298727dace8d374", + "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1721534662, - "narHash": "sha256-/2TL6I7hapUzEHYbZuhyg75DG92j/BSl3E0AeezcDQs=", + "lastModified": 1723041933, + "narHash": "sha256-/QhpaNTdmkFuEtZ3OTWKEBOlP4TajqMUSOm00RBE7Es=", "owner": "nix-community", "repo": "nur", - "rev": "0f61f0a7e37cd8c15446b40ac3b09186bc58c7b1", + "rev": "467c5cf6cd150216ff4f04b486aa71b7441e956a", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 1e7dc15..ba2ea26 100644 --- a/home.nix +++ b/home.nix @@ -17,6 +17,8 @@ "discord" "slack" "vscode" + "vscode-extension-github-copilot" + "vscode-extension-github-copilot-chat" "vscode-extension-MS-python-vscode-pylance" "zoom" ]; @@ -71,7 +73,7 @@ nodePackages.yaml-language-server ollama openssl - oterm + # oterm pandoc patchelf pngpaste @@ -209,6 +211,9 @@ pkgs.vscode-extensions.asvetliakov.vscode-neovim pkgs.vscode-extensions.baccata.scaladex-search pkgs.vscode-extensions.davidanson.vscode-markdownlint + pkgs.vscode-extensions.enkia.tokyo-night + pkgs.vscode-extensions.github.copilot + pkgs.vscode-extensions.github.copilot-chat pkgs.vscode-extensions.github.github-vscode-theme pkgs.vscode-extensions.github.vscode-github-actions pkgs.vscode-extensions.github.vscode-pull-request-github @@ -217,6 +222,8 @@ pkgs.vscode-extensions.mkhl.direnv pkgs.vscode-extensions.ms-python.python pkgs.vscode-extensions.ms-python.vscode-pylance + pkgs.vscode-extensions.ms-vscode.makefile-tools + pkgs.vscode-extensions.ms-toolsai.jupyter pkgs.vscode-extensions.redhat.java pkgs.vscode-extensions.redhat.vscode-yaml pkgs.vscode-extensions.rust-lang.rust-analyzer @@ -225,16 +232,18 @@ pkgs.vscode-extensions.svsool.markdown-memo pkgs.vscode-extensions.timonwong.shellcheck pkgs.vscode-extensions.usernamehw.errorlens + pkgs.vscode-extensions.visualstudioexptteam.vscodeintellicode pkgs.vscode-extensions.vscode-icons-team.vscode-icons + pkgs.vscode-extensions.vscjava.vscode-java-pack pkgs.vscode-extensions.xyz.local-history pkgs.vscode-extensions.yzhang.markdown-all-in-one ]; userSettings = { editor.fontFamily = "SF Mono"; - editor.fontSize = 16; + editor.fontSize = 13; editor.copyWithSyntaxHighlighting = true; telemetry.enableTelemetry = false; - workbench.colorTheme = "Solarized Light"; + workbench.colorTheme = "Tokyo Night"; workbench.iconTheme = "vscode-icons"; workbench.sideBar.location = "right"; "githubPullRequests.pullBranch" = "never"; @@ -327,6 +336,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "fed5967077d0bd7f41e009ff22290b043379c1d7"; + rev = "11c5aecb3adc0195642ad35f89c04798f26a9076"; }; } From e4a817cce6f03c40e9b67091eced1d924c6b275a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 8 Aug 2024 01:03:24 -0700 Subject: [PATCH 094/177] vscode tweaks --- flake.lock | 6 ++--- home.nix | 65 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 37 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index f0b8138..0a2cec6 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1723041933, - "narHash": "sha256-/QhpaNTdmkFuEtZ3OTWKEBOlP4TajqMUSOm00RBE7Es=", + "lastModified": 1723096977, + "narHash": "sha256-/OFbSpsjIl+b5ECPKz7anD/Q8EGFCOIjG9w9NIV61Gk=", "owner": "nix-community", "repo": "nur", - "rev": "467c5cf6cd150216ff4f04b486aa71b7441e956a", + "rev": "27f59822c315763c64b55fb12f862a54df79b929", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index ba2ea26..d15be50 100644 --- a/home.nix +++ b/home.nix @@ -73,7 +73,6 @@ nodePackages.yaml-language-server ollama openssl - # oterm pandoc patchelf pngpaste @@ -207,36 +206,40 @@ programs.vscode = { enable = true; - extensions = [ - pkgs.vscode-extensions.asvetliakov.vscode-neovim - pkgs.vscode-extensions.baccata.scaladex-search - pkgs.vscode-extensions.davidanson.vscode-markdownlint - pkgs.vscode-extensions.enkia.tokyo-night - pkgs.vscode-extensions.github.copilot - pkgs.vscode-extensions.github.copilot-chat - pkgs.vscode-extensions.github.github-vscode-theme - pkgs.vscode-extensions.github.vscode-github-actions - pkgs.vscode-extensions.github.vscode-pull-request-github - pkgs.vscode-extensions.jnoortheen.nix-ide - pkgs.vscode-extensions.mechatroner.rainbow-csv - pkgs.vscode-extensions.mkhl.direnv - pkgs.vscode-extensions.ms-python.python - pkgs.vscode-extensions.ms-python.vscode-pylance - pkgs.vscode-extensions.ms-vscode.makefile-tools - pkgs.vscode-extensions.ms-toolsai.jupyter - pkgs.vscode-extensions.redhat.java - pkgs.vscode-extensions.redhat.vscode-yaml - pkgs.vscode-extensions.rust-lang.rust-analyzer - pkgs.vscode-extensions.scalameta.metals - pkgs.vscode-extensions.skyapps.fish-vscode - pkgs.vscode-extensions.svsool.markdown-memo - pkgs.vscode-extensions.timonwong.shellcheck - pkgs.vscode-extensions.usernamehw.errorlens - pkgs.vscode-extensions.visualstudioexptteam.vscodeintellicode - pkgs.vscode-extensions.vscode-icons-team.vscode-icons - pkgs.vscode-extensions.vscjava.vscode-java-pack - pkgs.vscode-extensions.xyz.local-history - pkgs.vscode-extensions.yzhang.markdown-all-in-one + enableUpdateCheck = false; + enableExtensionUpdateCheck = false; + mutableExtensionsDir = false; + extensions = with pkgs.vscode-extensions; [ + asvetliakov.vscode-neovim + baccata.scaladex-search + davidanson.vscode-markdownlint + enkia.tokyo-night + github.copilot + github.copilot-chat + github.github-vscode-theme + github.vscode-github-actions + github.vscode-pull-request-github + humao.rest-client + jnoortheen.nix-ide + mechatroner.rainbow-csv + mkhl.direnv + ms-python.python + ms-python.vscode-pylance + ms-vscode.makefile-tools + ms-toolsai.jupyter + redhat.java + redhat.vscode-yaml + rust-lang.rust-analyzer + scalameta.metals + skyapps.fish-vscode + svsool.markdown-memo + timonwong.shellcheck + usernamehw.errorlens + visualstudioexptteam.vscodeintellicode + vscode-icons-team.vscode-icons + vscjava.vscode-java-pack + xyz.local-history + yzhang.markdown-all-in-one ]; userSettings = { editor.fontFamily = "SF Mono"; From 57baa8ac771f90d2d8b042cf822d9a52377e2a76 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 10 Aug 2024 22:41:29 -0700 Subject: [PATCH 095/177] flake update and vscode improvements --- flake.lock | 12 ++++++------ home.nix | 28 +++++++++++++++++++--------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 0a2cec6..ea67a4b 100644 --- a/flake.lock +++ b/flake.lock @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1722813957, - "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", + "lastModified": 1723175592, + "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", + "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1723096977, - "narHash": "sha256-/OFbSpsjIl+b5ECPKz7anD/Q8EGFCOIjG9w9NIV61Gk=", + "lastModified": 1723307312, + "narHash": "sha256-UcvsWK+vM/Cc8lGlqDpSa+75hAQY0LWa6n06VpVZCGQ=", "owner": "nix-community", "repo": "nur", - "rev": "27f59822c315763c64b55fb12f862a54df79b929", + "rev": "0572e827f7bde034f478125ea5a932ff32715616", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index d15be50..ab62e54 100644 --- a/home.nix +++ b/home.nix @@ -242,18 +242,28 @@ yzhang.markdown-all-in-one ]; userSettings = { - editor.fontFamily = "SF Mono"; - editor.fontSize = 13; - editor.copyWithSyntaxHighlighting = true; - telemetry.enableTelemetry = false; - workbench.colorTheme = "Tokyo Night"; - workbench.iconTheme = "vscode-icons"; - workbench.sideBar.location = "right"; - "githubPullRequests.pullBranch" = "never"; - "markdown.extension.preview.autoShowPreviewToSide" = true; + "editor.fontFamily" = "SF Mono"; + "editor.fontSize" = 13; + "editor.copyWithSyntaxHighlighting" = true; "extensions.experimental.affinity" = { "asvetliakov.vscode-neovim" = 1; }; + "files.autoSave" = "afterDelay"; + "git.autoSave" = "afterDelay"; + "git.rebaseWhenSync" = true; + "github.gitProtocol" = "ssh"; + "githubPullRequests.notifications" = "pullRequests"; + "githubPullRequests.pullBranch" = "never"; + "markdown.extension.preview.autoShowPreviewToSide" = true; + # Install paste image manually as not in nix ( https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image ) + "pasteImage.insertPattern" = "![[\${imageFileName}]]"; + "pasteImage.path" = "\${projectRoot}/Attachments"; + "python.analysis.extraPaths" = [ "src" ]; + "telemetry.telemetryLevel" = "off"; + "window.openFoldersInNewWindow" = "on"; + "workbench.colorTheme" = "Tokyo Night"; + "workbench.iconTheme" = "vscode-icons"; + "workbench.sideBar.location" = "right"; }; }; From a770ede4059a3e1b92a20cbdd5977d22203bd8da Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 16 Aug 2024 19:21:56 -0700 Subject: [PATCH 096/177] update nvim config and cleanup vscode settings --- home.nix | 65 +-------------------------------- programs/default.nix | 1 + programs/vscode/default.nix | 71 +++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 64 deletions(-) create mode 100644 programs/vscode/default.nix diff --git a/home.nix b/home.nix index ab62e54..ce120a8 100644 --- a/home.nix +++ b/home.nix @@ -204,69 +204,6 @@ }; }; - programs.vscode = { - enable = true; - enableUpdateCheck = false; - enableExtensionUpdateCheck = false; - mutableExtensionsDir = false; - extensions = with pkgs.vscode-extensions; [ - asvetliakov.vscode-neovim - baccata.scaladex-search - davidanson.vscode-markdownlint - enkia.tokyo-night - github.copilot - github.copilot-chat - github.github-vscode-theme - github.vscode-github-actions - github.vscode-pull-request-github - humao.rest-client - jnoortheen.nix-ide - mechatroner.rainbow-csv - mkhl.direnv - ms-python.python - ms-python.vscode-pylance - ms-vscode.makefile-tools - ms-toolsai.jupyter - redhat.java - redhat.vscode-yaml - rust-lang.rust-analyzer - scalameta.metals - skyapps.fish-vscode - svsool.markdown-memo - timonwong.shellcheck - usernamehw.errorlens - visualstudioexptteam.vscodeintellicode - vscode-icons-team.vscode-icons - vscjava.vscode-java-pack - xyz.local-history - yzhang.markdown-all-in-one - ]; - userSettings = { - "editor.fontFamily" = "SF Mono"; - "editor.fontSize" = 13; - "editor.copyWithSyntaxHighlighting" = true; - "extensions.experimental.affinity" = { - "asvetliakov.vscode-neovim" = 1; - }; - "files.autoSave" = "afterDelay"; - "git.autoSave" = "afterDelay"; - "git.rebaseWhenSync" = true; - "github.gitProtocol" = "ssh"; - "githubPullRequests.notifications" = "pullRequests"; - "githubPullRequests.pullBranch" = "never"; - "markdown.extension.preview.autoShowPreviewToSide" = true; - # Install paste image manually as not in nix ( https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image ) - "pasteImage.insertPattern" = "![[\${imageFileName}]]"; - "pasteImage.path" = "\${projectRoot}/Attachments"; - "python.analysis.extraPaths" = [ "src" ]; - "telemetry.telemetryLevel" = "off"; - "window.openFoldersInNewWindow" = "on"; - "workbench.colorTheme" = "Tokyo Night"; - "workbench.iconTheme" = "vscode-icons"; - "workbench.sideBar.location" = "right"; - }; - }; - programs.fish = { enable = true; @@ -349,6 +286,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "11c5aecb3adc0195642ad35f89c04798f26a9076"; + rev = "e5cf7829a42592aa984eb80e8501d171f51b1dbd"; }; } diff --git a/programs/default.nix b/programs/default.nix index d39377b..36b164b 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -2,4 +2,5 @@ ./git ./tmux ./wezterm + ./vscode ] diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix new file mode 100644 index 0000000..2a777ee --- /dev/null +++ b/programs/vscode/default.nix @@ -0,0 +1,71 @@ +{ config, pkgs, ... }: + +let + myExtensions = with pkgs.vscode-extensions; [ + asvetliakov.vscode-neovim + baccata.scaladex-search + davidanson.vscode-markdownlint + enkia.tokyo-night + github.copilot + github.copilot-chat + github.github-vscode-theme + github.vscode-github-actions + github.vscode-pull-request-github + humao.rest-client + jnoortheen.nix-ide + mechatroner.rainbow-csv + mkhl.direnv + ms-python.python + ms-python.vscode-pylance + ms-vscode.makefile-tools + ms-toolsai.jupyter + redhat.java + redhat.vscode-yaml + rust-lang.rust-analyzer + scalameta.metals + skyapps.fish-vscode + svsool.markdown-memo + timonwong.shellcheck + usernamehw.errorlens + visualstudioexptteam.vscodeintellicode + vscode-icons-team.vscode-icons + vscjava.vscode-java-pack + xyz.local-history + yzhang.markdown-all-in-one + + ]; + myUserSettings = { + "editor.fontFamily" = "SF Mono"; + "editor.fontSize" = 13; + "editor.copyWithSyntaxHighlighting" = true; + "extensions.experimental.affinity" = { + "asvetliakov.vscode-neovim" = 1; + }; + "files.autoSave" = "afterDelay"; + "git.autoSave" = "afterDelay"; + "git.rebaseWhenSync" = true; + "github.gitProtocol" = "ssh"; + "githubPullRequests.notifications" = "pullRequests"; + "githubPullRequests.pullBranch" = "never"; + "markdown.extension.preview.autoShowPreviewToSide" = true; + # Install paste image manually as not in nix ( https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image ) + "pasteImage.insertPattern" = "![[\${imageFileName}]]"; + "pasteImage.path" = "\${projectRoot}/Attachments"; + "python.analysis.extraPaths" = [ "src" ]; + "telemetry.telemetryLevel" = "off"; + "window.openFoldersInNewWindow" = "on"; + "workbench.colorTheme" = "Tokyo Night"; + "workbench.iconTheme" = "vscode-icons"; + "workbench.sideBar.location" = "right"; + }; +in +{ + programs.vscode = { + enable = true; + enableUpdateCheck = false; + enableExtensionUpdateCheck = false; + mutableExtensionsDir = false; + extensions = myExtensions; + userSettings = myUserSettings; + }; +} From f923ddf7c44ec7e90f28930b3e78646f1dd1c5c6 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 18 Aug 2024 10:45:22 -0700 Subject: [PATCH 097/177] neovim update --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index ce120a8..c8d1b29 100644 --- a/home.nix +++ b/home.nix @@ -286,6 +286,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "e5cf7829a42592aa984eb80e8501d171f51b1dbd"; + rev = "8d6d972b8eeab4122979adc2bd4bf6db36ce4426"; }; } From d1685c92d3b403ae965a6ed19eb6b4de12f0a95c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 25 Aug 2024 21:31:18 -0700 Subject: [PATCH 098/177] update nvim and add vscode swift extension --- home.nix | 2 +- programs/vscode/default.nix | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/home.nix b/home.nix index c8d1b29..b15e1c6 100644 --- a/home.nix +++ b/home.nix @@ -286,6 +286,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "8d6d972b8eeab4122979adc2bd4bf6db36ce4426"; + rev = "0e57d13d1d6d6ec24df435b0da8dbd072b8e3896"; }; } diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index 2a777ee..2157e24 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -24,6 +24,7 @@ let rust-lang.rust-analyzer scalameta.metals skyapps.fish-vscode + sswg.swift-lang svsool.markdown-memo timonwong.shellcheck usernamehw.errorlens @@ -36,6 +37,7 @@ let ]; myUserSettings = { "editor.fontFamily" = "SF Mono"; + "editor.fontLigatures" = true; "editor.fontSize" = 13; "editor.copyWithSyntaxHighlighting" = true; "extensions.experimental.affinity" = { From b9ce9b9ee1158e5dea7cdd96351338949641151f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 30 Aug 2024 22:20:27 -0700 Subject: [PATCH 099/177] flake update & enable fish for starship --- flake.lock | 24 ++++++++++++------------ home.nix | 1 + 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index ea67a4b..43d87fe 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1723015306, - "narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", + "lastModified": 1724435763, + "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", "owner": "nix-community", "repo": "home-manager", - "rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", + "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1722924007, - "narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=", + "lastModified": 1724994893, + "narHash": "sha256-yutISDGg6HUaZqCaa54EcsfTwew3vhNtt/FNXBBo44g=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "91010a5613ffd7ee23ee9263213157a1c422b705", + "rev": "c8d3157d1f768e382de5526bb38e74d2245cad04", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1723175592, - "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", + "lastModified": 1724819573, + "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", + "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1723307312, - "narHash": "sha256-UcvsWK+vM/Cc8lGlqDpSa+75hAQY0LWa6n06VpVZCGQ=", + "lastModified": 1725077077, + "narHash": "sha256-fgz3i6joayt8cUZTrRgV34R43RWuaJsrWD2X7kLZTLo=", "owner": "nix-community", "repo": "nur", - "rev": "0572e827f7bde034f478125ea5a932ff32715616", + "rev": "52c39a53a343d43c896d3244eb81d13d45d399c1", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index b15e1c6..6bbf5a6 100644 --- a/home.nix +++ b/home.nix @@ -195,6 +195,7 @@ programs.starship = { enable = true; + enableFishIntegration = true; settings = { command_timeout = 1000; character = { From ab36ee0f4c92083f2d6cb841be58e09bc03dd804 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Tue, 3 Sep 2024 00:54:13 -0700 Subject: [PATCH 100/177] flake and neovim config update --- flake.lock | 24 ++++++++++++------------ home.nix | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 43d87fe..c927a09 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1724435763, - "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", + "lastModified": 1725180166, + "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", + "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1724994893, - "narHash": "sha256-yutISDGg6HUaZqCaa54EcsfTwew3vhNtt/FNXBBo44g=", + "lastModified": 1725189302, + "narHash": "sha256-IhXok/kwQqtusPsoguQLCHA+h6gKvgdCrkhIaN+kByA=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "c8d3157d1f768e382de5526bb38e74d2245cad04", + "rev": "7c4b53a7d9f3a3df902b3fddf2ae245ef20ebcda", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1724819573, - "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1725077077, - "narHash": "sha256-fgz3i6joayt8cUZTrRgV34R43RWuaJsrWD2X7kLZTLo=", + "lastModified": 1725346708, + "narHash": "sha256-rhLiFjrLBA+3Dc9NVsa3v3XDGB/Tn780dAttcNY1f9k=", "owner": "nix-community", "repo": "nur", - "rev": "52c39a53a343d43c896d3244eb81d13d45d399c1", + "rev": "079d47b2fe664a1e8b16eac5eb32726bcb2774d1", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 6bbf5a6..3d073fe 100644 --- a/home.nix +++ b/home.nix @@ -287,6 +287,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "0e57d13d1d6d6ec24df435b0da8dbd072b8e3896"; + rev = "f59b6eedae27085f7430e6d4237f7d3041377d0e"; }; } From 0ddb939e61375880d9e2100bc527bb297e18eee4 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 7 Sep 2024 11:10:17 -0700 Subject: [PATCH 101/177] add lsp servers --- home.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/home.nix b/home.nix index 3d073fe..f21896f 100644 --- a/home.nix +++ b/home.nix @@ -33,6 +33,8 @@ jdk21 any-nix-shell aspell + basedpyright + bash-language-server cachix cmake coursier @@ -51,9 +53,11 @@ gnupg go graphviz + jq-lsp luajit luajitPackages.luarocks luajitPackages.luasocket + lua-language-server marksman maven metals @@ -63,14 +67,11 @@ neovim nil niv + nixd nix-index nixfmt-rfc-style nix-prefetch-git nodejs - nodePackages.bash-language-server - nodePackages.typescript-language-server - nodePackages.vscode-json-languageserver - nodePackages.yaml-language-server ollama openssl pandoc @@ -101,10 +102,13 @@ tokei tree tree-sitter + typescript + typescript-language-server wget vscode-langservers-extracted xcodes xz + yaml-language-server yq zoom-us ]; @@ -287,6 +291,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "f59b6eedae27085f7430e6d4237f7d3041377d0e"; + rev = "754a8bb8a7161e9f04596081a166722d3ec4a408"; }; } From 6f95ac5bc3b85fb095437c857d5e792aaff3ff72 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 7 Sep 2024 11:10:24 -0700 Subject: [PATCH 102/177] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index c927a09..1b174f9 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1725180166, - "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", + "lastModified": 1725694918, + "narHash": "sha256-+HsjshXpqNiJHLaJaK0JnIicJ/a1NquKcfn4YZ3ILgg=", "owner": "nix-community", "repo": "home-manager", - "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", + "rev": "aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1725189302, - "narHash": "sha256-IhXok/kwQqtusPsoguQLCHA+h6gKvgdCrkhIaN+kByA=", + "lastModified": 1725628909, + "narHash": "sha256-xI0OSqPHcs/c/utJsU0Zvcp1VhejMI9mgwr68uHHlPs=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "7c4b53a7d9f3a3df902b3fddf2ae245ef20ebcda", + "rev": "76559183801030451e200c90a1627c1d82bb4910", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725103162, - "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1725346708, - "narHash": "sha256-rhLiFjrLBA+3Dc9NVsa3v3XDGB/Tn780dAttcNY1f9k=", + "lastModified": 1725727226, + "narHash": "sha256-1OIoBxbdi0ubRSFZWntx1VmFxZP647RBobDzJ5fTdqE=", "owner": "nix-community", "repo": "nur", - "rev": "079d47b2fe664a1e8b16eac5eb32726bcb2774d1", + "rev": "22b3fd31d4b976ead0678ef88063b5b2b9dd7225", "type": "github" }, "original": { From a92c0d905eefc243e6a5977a3f6fc0c6e4cb6d79 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 7 Sep 2024 11:11:09 -0700 Subject: [PATCH 103/177] wezterm config update --- programs/wezterm/wezterm.lua | 69 ++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 5013d50..8516402 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -9,47 +9,47 @@ return { adjust_window_size_when_changing_font_size = false, check_for_updates = false, -- color_scheme = "Gruvbox Light"; - color_scheme = "tokyonight", - font = wezterm.font("SF Mono"), + color_scheme = 'tokyonight', + font = wezterm.font 'SF Mono', font_size = 16, dpi = 144, scrollback_lines = 50000, initial_cols = 400, initial_rows = 80, - leader = { key="b", mods="SUPER", timeout_milliseconds = 1000 }, - default_prog = { "/etc/profiles/per-user/salar/bin/fish" }, + leader = { key = 'b', mods = 'SUPER', timeout_milliseconds = 1000 }, + default_prog = { '/etc/profiles/per-user/salar/bin/fish' }, ssh_domains = { { - name = "hcloud1", - remote_address = "hcloud1.softinio.net", - username = "salar", - remote_wezterm_path = "/run/current-system/sw/bin/wezterm" - } + name = 'hcloud1', + remote_address = 'hcloud1.softinio.net', + username = 'salar', + remote_wezterm_path = '/run/current-system/sw/bin/wezterm', + }, }, keys = { - { key = "-", mods = "LEADER", action=wezterm.action{SplitVertical={domain="CurrentPaneDomain"}}}, - { key = "'", mods = "LEADER", action=wezterm.action{SplitHorizontal={domain="CurrentPaneDomain"}}}, - { key = "k", mods = "SUPER", action=act.TogglePaneZoomState }, - { key = "c", mods = "LEADER", action=wezterm.action{SpawnTab="CurrentPaneDomain"}}, - { key = "h", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Left"}}, - { key = "j", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Down"}}, - { key = "k", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Up"}}, - { key = "l", mods = "LEADER", action=wezterm.action{ActivatePaneDirection="Right"}}, - { key = "H", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Left", 5}}}, - { key = "J", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Down", 5}}}, - { key = "K", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Up", 5}}}, - { key = "L", mods = "LEADER|SHIFT", action=wezterm.action{AdjustPaneSize={"Right", 5}}}, - { key = "1", mods = "LEADER", action=wezterm.action{ActivateTab=0}}, - { key = "2", mods = "LEADER", action=wezterm.action{ActivateTab=1}}, - { key = "3", mods = "LEADER", action=wezterm.action{ActivateTab=2}}, - { key = "4", mods = "LEADER", action=wezterm.action{ActivateTab=3}}, - { key = "5", mods = "LEADER", action=wezterm.action{ActivateTab=4}}, - { key = "6", mods = "LEADER", action=wezterm.action{ActivateTab=5}}, - { key = "7", mods = "LEADER", action=wezterm.action{ActivateTab=6}}, - { key = "8", mods = "LEADER", action=wezterm.action{ActivateTab=7}}, - { key = "9", mods = "LEADER", action=wezterm.action{ActivateTab=8}}, - { key = "&", mods = "LEADER", action=wezterm.action{CloseCurrentTab={confirm=true}}}, - { key = "x", mods = "LEADER", action=wezterm.action{CloseCurrentPane={confirm=true}}}, + { key = '-', mods = 'LEADER', action = wezterm.action { SplitVertical = { domain = 'CurrentPaneDomain' } } }, + { key = "'", mods = 'LEADER', action = wezterm.action { SplitHorizontal = { domain = 'CurrentPaneDomain' } } }, + { key = 'k', mods = 'SUPER', action = act.TogglePaneZoomState }, + { key = 'c', mods = 'LEADER', action = wezterm.action { SpawnTab = 'CurrentPaneDomain' } }, + { key = 'h', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Left' } }, + { key = 'j', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Down' } }, + { key = 'k', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Up' } }, + { key = 'l', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Right' } }, + { key = 'H', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Left', 5 } } }, + { key = 'J', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Down', 5 } } }, + { key = 'K', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Up', 5 } } }, + { key = 'L', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Right', 5 } } }, + { key = '1', mods = 'LEADER', action = wezterm.action { ActivateTab = 0 } }, + { key = '2', mods = 'LEADER', action = wezterm.action { ActivateTab = 1 } }, + { key = '3', mods = 'LEADER', action = wezterm.action { ActivateTab = 2 } }, + { key = '4', mods = 'LEADER', action = wezterm.action { ActivateTab = 3 } }, + { key = '5', mods = 'LEADER', action = wezterm.action { ActivateTab = 4 } }, + { key = '6', mods = 'LEADER', action = wezterm.action { ActivateTab = 5 } }, + { key = '7', mods = 'LEADER', action = wezterm.action { ActivateTab = 6 } }, + { key = '8', mods = 'LEADER', action = wezterm.action { ActivateTab = 7 } }, + { key = '9', mods = 'LEADER', action = wezterm.action { ActivateTab = 8 } }, + { key = '&', mods = 'LEADER', action = wezterm.action { CloseCurrentTab = { confirm = true } } }, + { key = 'x', mods = 'LEADER', action = wezterm.action { CloseCurrentPane = { confirm = true } } }, { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, { key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' }, { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' }, @@ -65,6 +65,7 @@ return { }, }, { key = 'Tab', mods = 'CTRL', action = wezterm.action.DisableDefaultAssignment }, - } + }, + -- temp fix + front_end = 'WebGpu', } - From 100290a11c0639cd940f81c47dd86c23dc87d8e1 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 7 Sep 2024 11:14:51 -0700 Subject: [PATCH 104/177] neovim update (no more mason) --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index f21896f..177b381 100644 --- a/home.nix +++ b/home.nix @@ -291,6 +291,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "754a8bb8a7161e9f04596081a166722d3ec4a408"; + rev = "b25a90efbc016f75393b43cf9aa9643b066be1ce"; }; } From 6853208de5c253f2afe7de8b3c276b6aed3e21bd Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 16 Sep 2024 21:23:51 -0700 Subject: [PATCH 105/177] flake update and use home manager java --- flake.lock | 24 ++++++++++++------------ home.nix | 5 ++++- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 1b174f9..15274ba 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1725694918, - "narHash": "sha256-+HsjshXpqNiJHLaJaK0JnIicJ/a1NquKcfn4YZ3ILgg=", + "lastModified": 1726440980, + "narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=", "owner": "nix-community", "repo": "home-manager", - "rev": "aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda", + "rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1725628909, - "narHash": "sha256-xI0OSqPHcs/c/utJsU0Zvcp1VhejMI9mgwr68uHHlPs=", + "lastModified": 1726188813, + "narHash": "sha256-Vop/VRi6uCiScg/Ic+YlwsdIrLabWUJc57dNczp0eBc=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "76559183801030451e200c90a1627c1d82bb4910", + "rev": "21fe31f26473c180390cfa81e3ea81aca0204c80", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "lastModified": 1726463316, + "narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1725727226, - "narHash": "sha256-1OIoBxbdi0ubRSFZWntx1VmFxZP647RBobDzJ5fTdqE=", + "lastModified": 1726524519, + "narHash": "sha256-dQ4uRthSynzI8nNYISYmoKMH2cKW/RgiePykb87jBXU=", "owner": "nix-community", "repo": "nur", - "rev": "22b3fd31d4b976ead0678ef88063b5b2b9dd7225", + "rev": "023b6b20cf5250d9ee0fd4713775dac9f696e407", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 177b381..1887c3a 100644 --- a/home.nix +++ b/home.nix @@ -30,7 +30,6 @@ VISUAL = "$EDITOR"; }; packages = with pkgs; [ - jdk21 any-nix-shell aspell basedpyright @@ -184,6 +183,10 @@ enable = true; }; + programs.java = { + enable = true; + }; + programs.jq = { enable = true; }; From e52a604ee0726d7b11f5c06081b4866b976ebd7e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 21 Sep 2024 09:10:32 -0700 Subject: [PATCH 106/177] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 15274ba..d8612ca 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1726440980, - "narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=", + "lastModified": 1726902823, + "narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff", + "rev": "14929f7089268481d86b83ed31ffd88713dcd415", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1726188813, - "narHash": "sha256-Vop/VRi6uCiScg/Ic+YlwsdIrLabWUJc57dNczp0eBc=", + "lastModified": 1726742753, + "narHash": "sha256-QclpWrIFIg/yvWRiOUaMp1WR+TGUE9tb7RE31xHlxWc=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "21fe31f26473c180390cfa81e3ea81aca0204c80", + "rev": "c03f85fa42d68d1056ca1740f3113b04f3addff2", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726463316, - "narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=", + "lastModified": 1726755586, + "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172", + "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1726524519, - "narHash": "sha256-dQ4uRthSynzI8nNYISYmoKMH2cKW/RgiePykb87jBXU=", + "lastModified": 1726933447, + "narHash": "sha256-FH7ilXBForOvOVGp/hjK1hMh5msjzEM+K6krEC1wLbw=", "owner": "nix-community", "repo": "nur", - "rev": "023b6b20cf5250d9ee0fd4713775dac9f696e407", + "rev": "b86b903ac173a19c038b4e8d4ae300351de5509c", "type": "github" }, "original": { From 07b27ef004a6293fd4f66b0400962e5bbd829c93 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 22 Sep 2024 23:21:39 -0700 Subject: [PATCH 107/177] flake and nvim config update --- flake.lock | 18 +++++++++--------- home.nix | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index d8612ca..0a83b45 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1726902823, - "narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=", + "lastModified": 1726985855, + "narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=", "owner": "nix-community", "repo": "home-manager", - "rev": "14929f7089268481d86b83ed31ffd88713dcd415", + "rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1726742753, - "narHash": "sha256-QclpWrIFIg/yvWRiOUaMp1WR+TGUE9tb7RE31xHlxWc=", + "lastModified": 1727003835, + "narHash": "sha256-Cfllbt/ADfO8oxbT984MhPHR6FJBaglsr1SxtDGbpec=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "c03f85fa42d68d1056ca1740f3113b04f3addff2", + "rev": "bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1726933447, - "narHash": "sha256-FH7ilXBForOvOVGp/hjK1hMh5msjzEM+K6krEC1wLbw=", + "lastModified": 1727064278, + "narHash": "sha256-EbT5h3Delk+rd49MBcMYnT1wcvFwaX99SpGgPeyhCA8=", "owner": "nix-community", "repo": "nur", - "rev": "b86b903ac173a19c038b4e8d4ae300351de5509c", + "rev": "481a10b9480c5ec0c46f447e5635dfe910c5f2fa", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 1887c3a..8c83457 100644 --- a/home.nix +++ b/home.nix @@ -294,6 +294,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "b25a90efbc016f75393b43cf9aa9643b066be1ce"; + rev = "1949d31e980fbd3418f1aaab7f092b619e3f82fc"; }; } From e2beeae6366d525c6cac467c4fb608f7f1cadccd Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 27 Sep 2024 17:40:55 -0700 Subject: [PATCH 108/177] nvim and flake update --- flake.lock | 18 +++++++++--------- home.nix | 4 +--- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 0a83b45..6ac52b4 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1726985855, - "narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=", + "lastModified": 1727383923, + "narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=", "owner": "nix-community", "repo": "home-manager", - "rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d", + "rev": "ffe2d07e771580a005e675108212597e5b367d2d", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726755586, - "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", + "lastModified": 1727348695, + "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", + "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1727064278, - "narHash": "sha256-EbT5h3Delk+rd49MBcMYnT1wcvFwaX99SpGgPeyhCA8=", + "lastModified": 1727483564, + "narHash": "sha256-+0thvQ4tPArBTvpVIZKK5sduI50v9QKQvXz2h9kv0Mk=", "owner": "nix-community", "repo": "nur", - "rev": "481a10b9480c5ec0c46f447e5635dfe910c5f2fa", + "rev": "90646627b3b6815c4ecb4c11b85b0b0c050b717a", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 8c83457..06a50e8 100644 --- a/home.nix +++ b/home.nix @@ -54,8 +54,6 @@ graphviz jq-lsp luajit - luajitPackages.luarocks - luajitPackages.luasocket lua-language-server marksman maven @@ -294,6 +292,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "1949d31e980fbd3418f1aaab7f092b619e3f82fc"; + rev = "9452693037960f28f00c4df74691eb418957cf6a"; }; } From 97dd1d463365c618726a3a09da1d2fc927b26ecf Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 5 Oct 2024 12:02:29 -0700 Subject: [PATCH 109/177] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6ac52b4..7e5f739 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1727383923, - "narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=", + "lastModified": 1728041527, + "narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", "owner": "nix-community", "repo": "home-manager", - "rev": "ffe2d07e771580a005e675108212597e5b367d2d", + "rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1727003835, - "narHash": "sha256-Cfllbt/ADfO8oxbT984MhPHR6FJBaglsr1SxtDGbpec=", + "lastModified": 1727999297, + "narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d", + "rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727348695, - "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", + "lastModified": 1728018373, + "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", + "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1727483564, - "narHash": "sha256-+0thvQ4tPArBTvpVIZKK5sduI50v9QKQvXz2h9kv0Mk=", + "lastModified": 1728153016, + "narHash": "sha256-MKjHJ7iSlZTSslIk8d+QwPNDBvrfz61pl6jl2wnyuo0=", "owner": "nix-community", "repo": "nur", - "rev": "90646627b3b6815c4ecb4c11b85b0b0c050b717a", + "rev": "e04ee56d887b86becbcb7bcef332bdba891b5714", "type": "github" }, "original": { From 81c1cd6d7e1a250f7f6cde5525f31a0bd945800b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 7 Oct 2024 19:28:00 -0700 Subject: [PATCH 110/177] flake and nvim updates --- flake.lock | 12 ++++++------ home.nix | 2 +- programs/vscode/default.nix | 1 - 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index 7e5f739..0a02791 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1728041527, - "narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", + "lastModified": 1728337164, + "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=", "owner": "nix-community", "repo": "home-manager", - "rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", + "rev": "038630363e7de57c36c417fd2f5d7c14773403e4", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1728153016, - "narHash": "sha256-MKjHJ7iSlZTSslIk8d+QwPNDBvrfz61pl6jl2wnyuo0=", + "lastModified": 1728353424, + "narHash": "sha256-iUsjMsb3t9pD7WtzJ/iXqjuuVmkkN5ama9GBXEoqPzk=", "owner": "nix-community", "repo": "nur", - "rev": "e04ee56d887b86becbcb7bcef332bdba891b5714", + "rev": "279fa31a00899275ebd91ccbfb4c2faa5840a1e9", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 06a50e8..b873ed7 100644 --- a/home.nix +++ b/home.nix @@ -292,6 +292,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "9452693037960f28f00c4df74691eb418957cf6a"; + rev = "0baf336e89c9b80182e70a14b0795dd31f004037"; }; } diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index 2157e24..7da0348 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -33,7 +33,6 @@ let vscjava.vscode-java-pack xyz.local-history yzhang.markdown-all-in-one - ]; myUserSettings = { "editor.fontFamily" = "SF Mono"; From f5b32b7288c62212f128824e4b2add979881abee Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 20 Oct 2024 20:36:27 -0700 Subject: [PATCH 111/177] flake and nvim updates --- flake.lock | 24 ++++++++++++------------ home.nix | 7 +++---- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index 0a02791..a76e397 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1728337164, - "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=", + "lastModified": 1729459288, + "narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "038630363e7de57c36c417fd2f5d7c14773403e4", + "rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1727999297, - "narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=", + "lastModified": 1729382845, + "narHash": "sha256-REiWck1zIOnZIgGmmOWfwvkQw1f4UrBsxxOSKVSAG4w=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b", + "rev": "a001f44cfc47164839eb61c6b1e7f4288813f7e8", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728018373, - "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", + "lastModified": 1729256560, + "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", + "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1728353424, - "narHash": "sha256-iUsjMsb3t9pD7WtzJ/iXqjuuVmkkN5ama9GBXEoqPzk=", + "lastModified": 1729471037, + "narHash": "sha256-aWGGu8XhKVR1FZ8nH8LVdvFwHX65byd8ZOJLi1gVCQA=", "owner": "nix-community", "repo": "nur", - "rev": "279fa31a00899275ebd91ccbfb4c2faa5840a1e9", + "rev": "b1f97f5db3a6309affd80e412aee8cce747a1489", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index b873ed7..c43fec2 100644 --- a/home.nix +++ b/home.nix @@ -77,11 +77,10 @@ prettyping python3Packages.huggingface-hub python3Packages.jupyterlab - pyright rclone readline ripgrep - ripgrep-all + # ripgrep-all rustup sbt scala-cli @@ -139,7 +138,7 @@ enable = true; enableFishIntegration = true; git = true; - icons = true; + icons = "auto"; extraOptions = [ "--group-directories-first" "--long" @@ -292,6 +291,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "0baf336e89c9b80182e70a14b0795dd31f004037"; + rev = "2a385cac5852cc8b090f29b2f3ef68be7935c3ea"; }; } From 43e4be15123f110dc3cde89dad272c350ba48a08 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 21 Oct 2024 17:16:04 -0700 Subject: [PATCH 112/177] neovim and flake update --- flake.lock | 12 ++++++------ home.nix | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index a76e397..a5d78fe 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1729459288, - "narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=", + "lastModified": 1729551526, + "narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=", "owner": "nix-community", "repo": "home-manager", - "rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e", + "rev": "5ec753a1fc4454df9285d8b3ec0809234defb975", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1729471037, - "narHash": "sha256-aWGGu8XhKVR1FZ8nH8LVdvFwHX65byd8ZOJLi1gVCQA=", + "lastModified": 1729554232, + "narHash": "sha256-7TEYifAneeQm73By+TeYfef2dxhngiKUuHZ7GKkkd2o=", "owner": "nix-community", "repo": "nur", - "rev": "b1f97f5db3a6309affd80e412aee8cce747a1489", + "rev": "2bba790d4660e07cd15abbce59dc59e25d9e10ff", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index c43fec2..89f1a04 100644 --- a/home.nix +++ b/home.nix @@ -291,6 +291,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "2a385cac5852cc8b090f29b2f3ef68be7935c3ea"; + rev = "2b0701c8a09c0c720faa89598725e8f7120ed676"; }; } From 7a85853e803dfb50f0b65cde06c7db302d4b661b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 26 Oct 2024 10:56:17 -0700 Subject: [PATCH 113/177] flake update --- flake.lock | 24 ++++++++++++------------ flake.nix | 2 +- home.nix | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index a5d78fe..d0419ab 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1729551526, - "narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=", + "lastModified": 1729894599, + "narHash": "sha256-nL9nzNE5/re/P+zOv7NX6bRm5e+DeS1HIufQUJ01w20=", "owner": "nix-community", "repo": "home-manager", - "rev": "5ec753a1fc4454df9285d8b3ec0809234defb975", + "rev": "93435d27d250fa986bfec6b2ff263161ff8288cb", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1729382845, - "narHash": "sha256-REiWck1zIOnZIgGmmOWfwvkQw1f4UrBsxxOSKVSAG4w=", + "lastModified": 1729826725, + "narHash": "sha256-w3WNlYxqWYsuzm/jgFPyhncduoDNjot28aC8j39TW0U=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a001f44cfc47164839eb61c6b1e7f4288813f7e8", + "rev": "7840909b00fbd5a183008a6eb251ea307fe4a76e", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729256560, - "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1729554232, - "narHash": "sha256-7TEYifAneeQm73By+TeYfef2dxhngiKUuHZ7GKkkd2o=", + "lastModified": 1729957534, + "narHash": "sha256-Xsp8cPOxURZ7vYYajwEjgNvhCwgNMJKzN8NgbeUd7tk=", "owner": "nix-community", "repo": "nur", - "rev": "2bba790d4660e07cd15abbce59dc59e25d9e10ff", + "rev": "347b1faa86f58335ac1a19ad93122bdd29116a52", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2ba5aaf..84f4a8a 100644 --- a/flake.nix +++ b/flake.nix @@ -46,7 +46,7 @@ nix = { nixPath = nixpkgs.lib.mkForce [ "nixpkgs=${nixpkgs}" ]; - package = pkgs.nixFlakes; + package = pkgs.nixVersions.stable; settings = { experimental-features = "nix-command flakes"; extra-platforms = [ diff --git a/home.nix b/home.nix index 89f1a04..60bea06 100644 --- a/home.nix +++ b/home.nix @@ -102,7 +102,7 @@ typescript-language-server wget vscode-langservers-extracted - xcodes + # xcodes xz yaml-language-server yq From ff121dd391d5a77b8eb6971d03bc0588b2762d44 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 26 Oct 2024 14:38:40 -0700 Subject: [PATCH 114/177] add marp --- home.nix | 1 + programs/vscode/default.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/home.nix b/home.nix index 60bea06..5d63048 100644 --- a/home.nix +++ b/home.nix @@ -56,6 +56,7 @@ luajit lua-language-server marksman + marp-cli maven metals multimarkdown diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index 7da0348..4588b57 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -13,6 +13,7 @@ let github.vscode-pull-request-github humao.rest-client jnoortheen.nix-ide + marp-team.marp-vscode mechatroner.rainbow-csv mkhl.direnv ms-python.python From fb2e770b02dbcb021383ee024dea2279053ae842 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 30 Oct 2024 20:16:29 -0700 Subject: [PATCH 115/177] update flake --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d0419ab..172dd5d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1729894599, - "narHash": "sha256-nL9nzNE5/re/P+zOv7NX6bRm5e+DeS1HIufQUJ01w20=", + "lastModified": 1730016908, + "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", "owner": "nix-community", "repo": "home-manager", - "rev": "93435d27d250fa986bfec6b2ff263161ff8288cb", + "rev": "e83414058edd339148dc142a8437edb9450574c8", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1729826725, - "narHash": "sha256-w3WNlYxqWYsuzm/jgFPyhncduoDNjot28aC8j39TW0U=", + "lastModified": 1730184279, + "narHash": "sha256-6OB+WWR6gnaWiqSS28aMJypKeK7Pjc2Wm6L0MtOrTuA=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "7840909b00fbd5a183008a6eb251ea307fe4a76e", + "rev": "b379bd4d872d159e5189053ce9a4adf86d56db4b", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729665710, - "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", + "lastModified": 1729880355, + "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1729957534, - "narHash": "sha256-Xsp8cPOxURZ7vYYajwEjgNvhCwgNMJKzN8NgbeUd7tk=", + "lastModified": 1730340513, + "narHash": "sha256-CZmauwFFJ80mo4eXkQ+5R0MfD5szzWXDCG7M2sJbZg8=", "owner": "nix-community", "repo": "nur", - "rev": "347b1faa86f58335ac1a19ad93122bdd29116a52", + "rev": "73638442a5d792fd3d922d014c856e3970d185f3", "type": "github" }, "original": { From 772fb5cd4eb1934d0874b2d666313e17a6dbaaad Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 1 Nov 2024 19:22:00 -0700 Subject: [PATCH 116/177] flake update and wezterm config update --- flake.lock | 24 ++++----- home.nix | 4 +- programs/wezterm/wezterm.lua | 94 +++++++++++++++++++++++++++++++++++- 3 files changed, 107 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 172dd5d..dbd1448 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1730016908, - "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", + "lastModified": 1730490306, + "narHash": "sha256-AvCVDswOUM9D368HxYD25RsSKp+5o0L0/JHADjLoD38=", "owner": "nix-community", "repo": "home-manager", - "rev": "e83414058edd339148dc142a8437edb9450574c8", + "rev": "1743615b61c7285976f85b303a36cdf88a556503", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1730184279, - "narHash": "sha256-6OB+WWR6gnaWiqSS28aMJypKeK7Pjc2Wm6L0MtOrTuA=", + "lastModified": 1730448474, + "narHash": "sha256-qE/cYKBhzxHMtKtLK3hlSR3uzO1pWPGLrBuQK7r0CHc=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "b379bd4d872d159e5189053ce9a4adf86d56db4b", + "rev": "683d0c4cd1102dcccfa3f835565378c7f3cbe05e", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729880355, - "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", + "lastModified": 1730200266, + "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", + "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1730340513, - "narHash": "sha256-CZmauwFFJ80mo4eXkQ+5R0MfD5szzWXDCG7M2sJbZg8=", + "lastModified": 1730510022, + "narHash": "sha256-/FKsDxYEDNScuYuh9UjBwW8+f6WxjoRke8LvbF+ckjc=", "owner": "nix-community", "repo": "nur", - "rev": "73638442a5d792fd3d922d014c856e3970d185f3", + "rev": "41c8b0a22b37fb114413b504c74ae64065d2fb83", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 5d63048..e677893 100644 --- a/home.nix +++ b/home.nix @@ -81,7 +81,7 @@ rclone readline ripgrep - # ripgrep-all + ripgrep-all rustup sbt scala-cli @@ -292,6 +292,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "2b0701c8a09c0c720faa89598725e8f7120ed676"; + rev = "902fbd939c74ece8fabe543e511af36471a1a197"; }; } diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 8516402..8bb2853 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -1,6 +1,39 @@ local wezterm = require 'wezterm' local act = wezterm.action +local function is_vim(pane) + -- this is set by the plugin, and unset on ExitPre in Neovim + return pane:get_user_vars().IS_NVIM == 'true' +end + +local direction_keys = { + a = 'Left', + o = 'Down', + e = 'Up', + u = 'Right', +} + +local function split_nav(resize_or_move, key) + return { + key = key, + mods = resize_or_move == 'resize' and 'META' or 'CTRL', + action = wezterm.action_callback(function(win, pane) + if is_vim(pane) then + -- pass the keys through to vim/nvim + win:perform_action({ + SendKey = { key = key, mods = resize_or_move == 'resize' and 'META' or 'CTRL' }, + }, pane) + else + if resize_or_move == 'resize' then + win:perform_action({ AdjustPaneSize = { direction_keys[key], 3 } }, pane) + else + win:perform_action({ ActivatePaneDirection = direction_keys[key] }, pane) + end + end + end), + } +end + wezterm.on('update-right-status', function(window, pane) window:set_right_status(window:active_workspace()) end) @@ -10,6 +43,7 @@ return { check_for_updates = false, -- color_scheme = "Gruvbox Light"; color_scheme = 'tokyonight', + default_gui_startup_args = { 'connect', 'unix' }, font = wezterm.font 'SF Mono', font_size = 16, dpi = 144, @@ -26,11 +60,15 @@ return { remote_wezterm_path = '/run/current-system/sw/bin/wezterm', }, }, + unix_domains = { + { + name = 'unix', + }, + }, keys = { { key = '-', mods = 'LEADER', action = wezterm.action { SplitVertical = { domain = 'CurrentPaneDomain' } } }, { key = "'", mods = 'LEADER', action = wezterm.action { SplitHorizontal = { domain = 'CurrentPaneDomain' } } }, { key = 'k', mods = 'SUPER', action = act.TogglePaneZoomState }, - { key = 'c', mods = 'LEADER', action = wezterm.action { SpawnTab = 'CurrentPaneDomain' } }, { key = 'h', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Left' } }, { key = 'j', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Down' } }, { key = 'k', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Up' } }, @@ -57,6 +95,50 @@ return { { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, { key = 'q', mods = 'SUPER', action = act.QuitApplication }, { key = 'i', mods = 'CTRL|SHIFT', action = act.SwitchToWorkspace }, + { + key = 'S', + mods = 'CTRL|SHIFT', + action = wezterm.action_callback(function(window, pane) + -- Here you can dynamically construct a longer list if needed + + local home = wezterm.home_dir + local workspaces = { + { id = home, label = 'Home' }, + { id = home .. '/Projects', label = 'My Projects' }, + { id = home .. '/OpenSource', label = 'Open Source Projects' }, + { id = home .. '/.config/nixpkgs', label = 'Nix Config' }, + { id = home .. '/Projects/scalanews', label = 'Scala News' }, + } + + window:perform_action( + act.InputSelector { + action = wezterm.action_callback(function(inner_window, inner_pane, id, label) + if not id and not label then + wezterm.log_info 'cancelled' + else + wezterm.log_info('id = ' .. id) + wezterm.log_info('label = ' .. label) + inner_window:perform_action( + act.SwitchToWorkspace { + name = label, + spawn = { + label = 'Workspace: ' .. label, + cwd = id, + }, + }, + inner_pane + ) + end + end), + title = 'Choose Workspace', + choices = workspaces, + fuzzy = true, + fuzzy_description = 'Fuzzy find and/or make a workspace', + }, + pane + ) + end), + }, { key = '9', mods = 'ALT', @@ -65,6 +147,16 @@ return { }, }, { key = 'Tab', mods = 'CTRL', action = wezterm.action.DisableDefaultAssignment }, + -- move between split panes + split_nav('move', 'a'), + split_nav('move', 'o'), + split_nav('move', 'e'), + split_nav('move', 'u'), + -- resize panes + split_nav('resize', 'a'), + split_nav('resize', 'o'), + split_nav('resize', 'e'), + split_nav('resize', 'u'), }, -- temp fix front_end = 'WebGpu', From b55cec1458cd0408a7f0e456914b1fe8a584a0bf Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 4 Nov 2024 09:42:06 -0800 Subject: [PATCH 117/177] wezterm update to use workspaces better --- flake.lock | 12 ++++++------ home.nix | 1 + programs/wezterm/wezterm.lua | 11 +++++++++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index dbd1448..1465e44 100644 --- a/flake.lock +++ b/flake.lock @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1730448474, - "narHash": "sha256-qE/cYKBhzxHMtKtLK3hlSR3uzO1pWPGLrBuQK7r0CHc=", + "lastModified": 1730600078, + "narHash": "sha256-BoyFmE59HDF3uybBySsWVoyjNuHvz3Wv8row/mSb958=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "683d0c4cd1102dcccfa3f835565378c7f3cbe05e", + "rev": "4652874d014b82cb746173ffc64f6a70044daa7e", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1730510022, - "narHash": "sha256-/FKsDxYEDNScuYuh9UjBwW8+f6WxjoRke8LvbF+ckjc=", + "lastModified": 1730612615, + "narHash": "sha256-l5mlB45tLEcMGGEucbGs06CvsrXrxGM4NKueWh7Pkuo=", "owner": "nix-community", "repo": "nur", - "rev": "41c8b0a22b37fb114413b504c74ae64065d2fb83", + "rev": "88b6dea6f574d59dd0f3bd48d1da32d37118de34", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index e677893..380415b 100644 --- a/home.nix +++ b/home.nix @@ -248,6 +248,7 @@ set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH eval (direnv hook fish) any-nix-shell fish --info-right | source + eval (ssh-agent -c) ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain ''; diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 8bb2853..60e997a 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -1,4 +1,5 @@ local wezterm = require 'wezterm' +local mux = wezterm.mux local act = wezterm.action local function is_vim(pane) @@ -38,6 +39,12 @@ wezterm.on('update-right-status', function(window, pane) window:set_right_status(window:active_workspace()) end) +wezterm.on('gui-startup', function(cmd) + local tab, pane, window = mux.spawn_window(cmd or {}) + window:gui_window():maximize() + pane:split { size = 0.2 } +end) + return { adjust_window_size_when_changing_font_size = false, check_for_updates = false, @@ -96,8 +103,8 @@ return { { key = 'q', mods = 'SUPER', action = act.QuitApplication }, { key = 'i', mods = 'CTRL|SHIFT', action = act.SwitchToWorkspace }, { - key = 'S', - mods = 'CTRL|SHIFT', + key = '8', + mods = 'ALT', action = wezterm.action_callback(function(window, pane) -- Here you can dynamically construct a longer list if needed From a5317e85f0210beb3a6adb2f41284989cbe63372 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 4 Nov 2024 10:36:49 -0800 Subject: [PATCH 118/177] cleanup shell init --- home.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/home.nix b/home.nix index 380415b..62f2f9c 100644 --- a/home.nix +++ b/home.nix @@ -245,11 +245,8 @@ ''; interactiveShellInit = '' - set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH eval (direnv hook fish) any-nix-shell fish --info-right | source - eval (ssh-agent -c) - ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain ''; shellAliases = { From a5bbdd636c01591304fb5f4c8c5e424598aecc96 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 9 Nov 2024 10:52:51 -0800 Subject: [PATCH 119/177] nvim and flake update --- flake.lock | 24 ++++++++++++------------ home.nix | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index 1465e44..dbf65dd 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1730490306, - "narHash": "sha256-AvCVDswOUM9D368HxYD25RsSKp+5o0L0/JHADjLoD38=", + "lastModified": 1730837930, + "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", "owner": "nix-community", "repo": "home-manager", - "rev": "1743615b61c7285976f85b303a36cdf88a556503", + "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1730600078, - "narHash": "sha256-BoyFmE59HDF3uybBySsWVoyjNuHvz3Wv8row/mSb958=", + "lastModified": 1731153869, + "narHash": "sha256-3Ftf9oqOypcEyyrWJ0baVkRpvQqroK/SVBFLvU3nPuc=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "4652874d014b82cb746173ffc64f6a70044daa7e", + "rev": "5c74ab862c8070cbf6400128a1b56abb213656da", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730200266, - "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1730612615, - "narHash": "sha256-l5mlB45tLEcMGGEucbGs06CvsrXrxGM4NKueWh7Pkuo=", + "lastModified": 1731177199, + "narHash": "sha256-C99JI1nnLGEG6TWDlHTyxcuPTNNPakIcvUjlkFJA7rk=", "owner": "nix-community", "repo": "nur", - "rev": "88b6dea6f574d59dd0f3bd48d1da32d37118de34", + "rev": "3f335d1febbcea794cf5104725b4944d0d4b2066", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 62f2f9c..06540c1 100644 --- a/home.nix +++ b/home.nix @@ -92,6 +92,7 @@ slumber sqlite stylua + swift-format tealdeer tectonic texlab @@ -103,7 +104,6 @@ typescript-language-server wget vscode-langservers-extracted - # xcodes xz yaml-language-server yq @@ -290,6 +290,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "902fbd939c74ece8fabe543e511af36471a1a197"; + rev = "b535afb6d9259e0ec18e2e7fda54384b48264746"; }; } From 52ae41a79b7ae3428d92df933793bcafacf4e025 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 9 Nov 2024 21:15:31 -0800 Subject: [PATCH 120/177] cleanup git aliases and switch to delta for diffs --- home.nix | 7 ------- programs/git/default.nix | 31 ++++++++++++++++++++++++------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/home.nix b/home.nix index 06540c1..1a27844 100644 --- a/home.nix +++ b/home.nix @@ -48,7 +48,6 @@ fishPlugins.foreign-env fishPlugins.bobthefish font-awesome - gitAndTools.diff-so-fancy gnupg go graphviz @@ -259,11 +258,6 @@ pj = "python -m json.tool"; l = "ll"; g = "git"; - gl = "git log"; - gc = "git commit -m"; - gca = "git commit -am"; - gws = "git status"; - gu = "gitui"; ghauth = "gh auth login --with-token < ~/.ghauth"; gitpurgemain = ''git branch --merged | grep -v "\*" | grep -v "main" | xargs -n 1 git branch -d''; gitpurgemaster = ''git branch --merged | grep -v "\*" | grep -v "master" | xargs -n 1 git branch -d''; @@ -281,7 +275,6 @@ nixupgrade = "nix upgrade-nix"; rmxcodederived = "rm -fr ~/Library/Developer/Xcode/DerivedData"; v = "nvim"; - wezk = "wezterm show-keys --lua"; sshhcloud1 = "ssh salar@hcloud1.softinio.net"; sshhcloud1r = "ssh root@hcloud1.softinio.net"; }; diff --git a/programs/git/default.nix b/programs/git/default.nix index 2396981..a0c9649 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -4,9 +4,26 @@ let gitConfig = { core = { editor = "nvim"; - pager = "diff-so-fancy | less --tabs=4 -RFX"; + pager = "delta"; }; + delta = { + "line-numbers" = true; + "hyperlinks" = true; + "side-by-side" = true; + }; + diff = { + colorMoved = "default"; + tool = "nvim"; + }; + difftool.nvim = { + cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""; + prompt = false; + }; + fetch.prune = true; init.defaultBranch = "main"; + interactive = { + diffFilter = "delta --color-only"; + }; merge.conflictstyle = "diff3"; merge.tool = "nvim"; mergetool.nvim = { @@ -14,26 +31,26 @@ let prompt = false; keepBackup = false; }; - diff.tool = "nvim"; - difftool.nvim = { - cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""; - prompt = false; - }; # url = { # "git@github.com:" = { # insteadOf = "https://github.com/"; # }; # }; - fetch.prune = true; pull = { rebase = true; }; }; myAliases = { ci = "commit"; + cim = "commit -m"; + cia = "commit -am"; co = "checkout"; + cob = "checkout -b"; + di = "diff"; + gpo = "push origin"; main = "checkout main"; master = "checkout master"; + st = "status"; }; myIgnores = [ "*~" From cbeb9fd9ea46da2c9f839e3639219113c635471c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 10 Nov 2024 10:31:55 -0800 Subject: [PATCH 121/177] move fish settings to own file and add broot --- flake.nix | 4 +- home.nix | 94 +++++++++------------------------------ programs/default.nix | 1 + programs/fish/default.nix | 81 +++++++++++++++++++++++++++++++++ 4 files changed, 105 insertions(+), 75 deletions(-) create mode 100644 programs/fish/default.nix diff --git a/flake.nix b/flake.nix index 84f4a8a..4844383 100644 --- a/flake.nix +++ b/flake.nix @@ -29,7 +29,9 @@ { ... }: { nixpkgs.overlays = [ nur.overlay ]; - imports = [ config ]; + imports = [ + config + ]; }; m3maxConfiguration = diff --git a/home.nix b/home.nix index 1a27844..f2248d0 100644 --- a/home.nix +++ b/home.nix @@ -1,5 +1,4 @@ { - config, lib, pkgs, ... @@ -45,8 +44,6 @@ dua fd ffmpeg - fishPlugins.foreign-env - fishPlugins.bobthefish font-awesome gnupg go @@ -114,6 +111,26 @@ enable = true; }; + programs.broot = { + enable = true; + enableFishIntegration = true; + settings = { + modal = true; + verbs = [ + { + invocation = "panel_right"; + key = "alt-right"; + internal = ":panel_right"; + } + { + invocation = "panel_left_no_open"; + key = "alt-left"; + internal = ":panel_left_no_open"; + } + ]; + }; + }; + programs.btop = { enable = true; }; @@ -209,77 +226,6 @@ }; }; - programs.fish = { - enable = true; - - functions = { - gitignore = "curl -sL https://www.gitignore.io/api/$argv"; - }; - - plugins = [ ]; - - loginShellInit = '' - set -xg TERM xterm-256color - if test -e /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh - fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh - end - - if test -e /nix/var/nix/profiles/default/etc/profile.d/nix.sh - fenv source /nix/var/nix/profiles/default/etc/profile.d/nix.sh - end - - if test -e $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh - fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh - end - - set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH - - set -xg PATH /Users/salar/.luarocks/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin $PATH - - set -xg WORKSPACE /Users/salar/Projects - - set -xg FZF_DEFAULT_OPTS "--preview='bat {} --color=always'" \n - - set -xg TOOLCHAINS swift - ''; - - interactiveShellInit = '' - eval (direnv hook fish) - any-nix-shell fish --info-right | source - ''; - - shellAliases = { - addsshmac = "ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain"; - cat = "bat"; - du = "dua i"; - fzfp = "fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; - ping = "prettyping"; - ".." = "cd .."; - pj = "python -m json.tool"; - l = "ll"; - g = "git"; - ghauth = "gh auth login --with-token < ~/.ghauth"; - gitpurgemain = ''git branch --merged | grep -v "\*" | grep -v "main" | xargs -n 1 git branch -d''; - gitpurgemaster = ''git branch --merged | grep -v "\*" | grep -v "master" | xargs -n 1 git branch -d''; - giscala = "gitignore scala,vim,java,sbt > .gitignore"; - gforksync = "git fetch upstream && git merge upstream/master && git push origin master"; - grep = "grep --color=auto"; - lg = "lazygit"; - new-sbt = "sbt new scala/scala-seed.g8"; - nixc = "cd ~/.config/nixpkgs"; - nixre = "nix build && sudo ./result/activate"; - nixinfo = "nix-shell -p nix-info --run \"nix-info -m\""; - nixgc = "nix-collect-garbage -d"; - nixq = "nix-env -qa"; - nixstorerepair = "nix-store --repair --verify --check-contents"; - nixupgrade = "nix upgrade-nix"; - rmxcodederived = "rm -fr ~/Library/Developer/Xcode/DerivedData"; - v = "nvim"; - sshhcloud1 = "ssh salar@hcloud1.softinio.net"; - sshhcloud1r = "ssh root@hcloud1.softinio.net"; - }; - }; - # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; diff --git a/programs/default.nix b/programs/default.nix index 36b164b..2f3b1ee 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,4 +1,5 @@ [ + ./fish ./git ./tmux ./wezterm diff --git a/programs/fish/default.nix b/programs/fish/default.nix new file mode 100644 index 0000000..6e64e75 --- /dev/null +++ b/programs/fish/default.nix @@ -0,0 +1,81 @@ +{ config, pkgs, ... }: + +{ + home.packages = with pkgs; [ + fish + fishPlugins.foreign-env + fishPlugins.bobthefish + ]; + + programs.fish = { + enable = true; + + functions = { + gitignore = "curl -sL https://www.gitignore.io/api/$argv"; + }; + + plugins = [ ]; + + loginShellInit = '' + set -xg TERM xterm-256color + if test -e /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh + fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh + end + + if test -e /nix/var/nix/profiles/default/etc/profile.d/nix.sh + fenv source /nix/var/nix/profiles/default/etc/profile.d/nix.sh + end + + if test -e $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh + fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh + end + + set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH + + set -xg PATH /Users/salar/.luarocks/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin $PATH + + set -xg WORKSPACE /Users/salar/Projects + + set -xg FZF_DEFAULT_OPTS "--preview='bat {} --color=always'" \n + + set -xg TOOLCHAINS swift + ''; + + interactiveShellInit = '' + eval (direnv hook fish) + any-nix-shell fish --info-right | source + ''; + + shellAliases = { + addsshmac = "ssh-add ~/.ssh/id_ed25519 --apple-use-keychain --apple-load-keychain"; + bf = "broot"; + cat = "bat"; + du = "dua i"; + fzfp = "fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; + ping = "prettyping"; + ".." = "cd .."; + pj = "python -m json.tool"; + l = "ll"; + g = "git"; + ghauth = "gh auth login --with-token < ~/.ghauth"; + gitpurgemain = ''git branch --merged | grep -v "\*" | grep -v "main" | xargs -n 1 git branch -d''; + gitpurgemaster = ''git branch --merged | grep -v "\*" | grep -v "master" | xargs -n 1 git branch -d''; + giscala = "gitignore scala,vim,java,sbt > .gitignore"; + gforksync = "git fetch upstream && git merge upstream/master && git push origin master"; + grep = "grep --color=auto"; + lg = "lazygit"; + new-sbt = "sbt new scala/scala-seed.g8"; + nixc = "cd ~/.config/nixpkgs"; + nixre = "nix build && sudo ./result/activate"; + nixinfo = "nix-shell -p nix-info --run \"nix-info -m\""; + nixgc = "nix-collect-garbage -d"; + nixq = "nix-env -qa"; + nixstorerepair = "nix-store --repair --verify --check-contents"; + nixupgrade = "nix upgrade-nix"; + rmxcodederived = "rm -fr ~/Library/Developer/Xcode/DerivedData"; + v = "nvim"; + sshhcloud1 = "ssh salar@hcloud1.softinio.net"; + sshhcloud1r = "ssh root@hcloud1.softinio.net"; + }; + }; +} From ed6a9a88bff0fcc9425f3acecac266c8e0ff2cec Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 10 Nov 2024 11:28:58 -0800 Subject: [PATCH 122/177] move broot to its own file --- home.nix | 20 -------------------- programs/broot/default.nix | 25 +++++++++++++++++++++++++ programs/default.nix | 1 + 3 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 programs/broot/default.nix diff --git a/home.nix b/home.nix index f2248d0..2284b87 100644 --- a/home.nix +++ b/home.nix @@ -111,26 +111,6 @@ enable = true; }; - programs.broot = { - enable = true; - enableFishIntegration = true; - settings = { - modal = true; - verbs = [ - { - invocation = "panel_right"; - key = "alt-right"; - internal = ":panel_right"; - } - { - invocation = "panel_left_no_open"; - key = "alt-left"; - internal = ":panel_left_no_open"; - } - ]; - }; - }; - programs.btop = { enable = true; }; diff --git a/programs/broot/default.nix b/programs/broot/default.nix new file mode 100644 index 0000000..0f42875 --- /dev/null +++ b/programs/broot/default.nix @@ -0,0 +1,25 @@ +{ config, pkgs, ... }: +let + myverbs = [ + { + invocation = "panel_right"; + key = "alt-right"; + internal = ":panel_right"; + } + { + invocation = "panel_left_no_open"; + key = "alt-left"; + internal = ":panel_left_no_open"; + } + ]; +in +{ + programs.broot = { + enable = true; + enableFishIntegration = true; + settings = { + modal = true; + verbs = myverbs; + }; + }; +} diff --git a/programs/default.nix b/programs/default.nix index 2f3b1ee..5c225bf 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,4 +1,5 @@ [ + ./broot ./fish ./git ./tmux From 4aaca19c8c6917e7b1c7391e1177cd9628b2037b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 10 Nov 2024 11:32:54 -0800 Subject: [PATCH 123/177] remove unused imports --- programs/broot/default.nix | 2 +- programs/fish/default.nix | 2 +- programs/git/default.nix | 2 +- programs/tmux/default.nix | 2 +- programs/vscode/default.nix | 2 +- programs/wezterm/default.nix | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/programs/broot/default.nix b/programs/broot/default.nix index 0f42875..84288d9 100644 --- a/programs/broot/default.nix +++ b/programs/broot/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ ... }: let myverbs = [ { diff --git a/programs/fish/default.nix b/programs/fish/default.nix index 6e64e75..7954ec7 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ diff --git a/programs/git/default.nix b/programs/git/default.nix index a0c9649..cec6e9e 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ ... }: let gitConfig = { diff --git a/programs/tmux/default.nix b/programs/tmux/default.nix index 46fb28e..eb1d2ea 100644 --- a/programs/tmux/default.nix +++ b/programs/tmux/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: let tmuxConfig = builtins.readFile ./tmux.conf; diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index 4588b57..923ba01 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: let myExtensions = with pkgs.vscode-extensions; [ diff --git a/programs/wezterm/default.nix b/programs/wezterm/default.nix index 26a552a..c63a016 100644 --- a/programs/wezterm/default.nix +++ b/programs/wezterm/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ ... }: let weztermConfig = builtins.readFile ./wezterm.lua; From 5c8bf490c26d0a8cac78733b8d06b3be8ddc0740 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 10 Nov 2024 20:50:48 -0800 Subject: [PATCH 124/177] add zed editor --- programs/default.nix | 1 + programs/zed/default.nix | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 programs/zed/default.nix diff --git a/programs/default.nix b/programs/default.nix index 5c225bf..de08b9e 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -5,4 +5,5 @@ ./tmux ./wezterm ./vscode + ./zed ] diff --git a/programs/zed/default.nix b/programs/zed/default.nix new file mode 100644 index 0000000..b551409 --- /dev/null +++ b/programs/zed/default.nix @@ -0,0 +1,27 @@ +{ ... }: +let + myextensions = [ + "fish" + "lua" + "nix" + "ruff" + "scala" + "sql" + "swift" + "toml" + ]; +in +{ + programs.zed-editor = { + enable = true; + extensions = myextensions; + userSettings = { + features = { + copilot = true; + }; + telemetry.metrics = false; + theme = "Andromeda"; + vim_mode = true; + }; + }; +} From 2889dbcfb825877d2185fc39cc634f3c43a13332 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 13 Nov 2024 22:37:45 -0800 Subject: [PATCH 125/177] add jujutsu, vscode updates and flake update --- flake.lock | 24 ++++++++++++------------ home.nix | 15 +++++++++++++++ programs/fish/default.nix | 1 + programs/vscode/default.nix | 35 ++++++++++++++++++++++++++++++++++- 4 files changed, 62 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index dbf65dd..6140534 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1730837930, - "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", + "lastModified": 1731535640, + "narHash": "sha256-2EckCJn4wxran/TsRiCOFcmVpep2m9EBKl99NBh2GnM=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", + "rev": "35b055009afd0107b69c286fca34d2ad98940d57", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1731153869, - "narHash": "sha256-3Ftf9oqOypcEyyrWJ0baVkRpvQqroK/SVBFLvU3nPuc=", + "lastModified": 1731454423, + "narHash": "sha256-TtwvgFxUa0wyptLhQbKaixgNW1UXf3+TDqfX3Kp63oM=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "5c74ab862c8070cbf6400128a1b56abb213656da", + "rev": "6c71c49e2448e51ad830ed211024e6d0edc50116", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730785428, - "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "lastModified": 1731139594, + "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1731177199, - "narHash": "sha256-C99JI1nnLGEG6TWDlHTyxcuPTNNPakIcvUjlkFJA7rk=", + "lastModified": 1731561145, + "narHash": "sha256-OC9Tx1y7m/vs+i4TnvWfkgAR36z4ax5SV5pygm5roG8=", "owner": "nix-community", "repo": "nur", - "rev": "3f335d1febbcea794cf5104725b4944d0d4b2066", + "rev": "079b8eda3a720dce65c8af244fb70bb88675ab5e", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 2284b87..1c60660 100644 --- a/home.nix +++ b/home.nix @@ -19,6 +19,7 @@ "vscode-extension-github-copilot" "vscode-extension-github-copilot-chat" "vscode-extension-MS-python-vscode-pylance" + "vscode-extension-visualjj-visualjj" "zoom" ]; @@ -49,6 +50,7 @@ go graphviz jq-lsp + lazyjj luajit lua-language-server marksman @@ -185,6 +187,19 @@ enable = true; }; + programs.jujutsu = { + enable = true; + settings = { + user = { + name = "Salar Rahmanian"; + email = "code@softinio.com"; + }; + ui = { + editor = "nvim"; + }; + }; + }; + programs.lazygit = { enable = true; }; diff --git a/programs/fish/default.nix b/programs/fish/default.nix index 7954ec7..e9ba0fa 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -42,6 +42,7 @@ ''; interactiveShellInit = '' + jj util completion fish | source eval (direnv hook fish) any-nix-shell fish --info-right | source ''; diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index 923ba01..55f4a97 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -4,6 +4,7 @@ let myExtensions = with pkgs.vscode-extensions; [ asvetliakov.vscode-neovim baccata.scaladex-search + charliermarsh.ruff davidanson.vscode-markdownlint enkia.tokyo-night github.copilot @@ -16,8 +17,14 @@ let marp-team.marp-vscode mechatroner.rainbow-csv mkhl.direnv + ms-python.debugpy ms-python.python ms-python.vscode-pylance + ms-toolsai.jupyter + ms-toolsai.jupyter-keymap + ms-toolsai.jupyter-renderers + ms-toolsai.vscode-jupyter-cell-tags + ms-toolsai.vscode-jupyter-slideshow ms-vscode.makefile-tools ms-toolsai.jupyter redhat.java @@ -30,6 +37,7 @@ let timonwong.shellcheck usernamehw.errorlens visualstudioexptteam.vscodeintellicode + visualjj.visualjj vscode-icons-team.vscode-icons vscjava.vscode-java-pack xyz.local-history @@ -43,18 +51,43 @@ let "extensions.experimental.affinity" = { "asvetliakov.vscode-neovim" = 1; }; + "extensions.ignoreRecommendations" = true; "files.autoSave" = "afterDelay"; - "git.autoSave" = "afterDelay"; + "git.confirmSync" = true; "git.rebaseWhenSync" = true; "github.gitProtocol" = "ssh"; "githubPullRequests.notifications" = "pullRequests"; "githubPullRequests.pullBranch" = "never"; "markdown.extension.preview.autoShowPreviewToSide" = true; + "notebook.formatOnSave" = true; + "notebook.codeActionsOnSave" = { + "notebook.source.fixAll" = true; + "notebook.source.organizeImports" = true; + }; # Install paste image manually as not in nix ( https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image ) "pasteImage.insertPattern" = "![[\${imageFileName}]]"; "pasteImage.path" = "\${projectRoot}/Attachments"; "python.analysis.extraPaths" = [ "src" ]; + "python.analysis.autoFormatStrings" = true; + "python.analysis.autoImportCompletions" = true; + "python.analysis.completeFunctionParens" = true; + "python.analysis.inlayHints.pytestParameters" = true; + "python.analysis.typeCheckingMode" = "strict"; + "python.testing.pytestEnabled" = true; + "[python]" = { + "editor.defaultFormatter" = "charliermarsh.ruff"; + "editor.formatOnSave" = true; + "editor.codeActionsOnSave" = { + "source.fixAll" = true; + "source.organizeImports" = true; + }; + }; "telemetry.telemetryLevel" = "off"; + "terminal.integrated.defaultProfile.osx" = "fish"; + "terminal.integrated.fontFamily" = "SF Mono"; + "terminal.integrated.fontSize" = 13; + "update.mode" = "none"; + "vsicons.dontShowNewVersionMessage" = true; "window.openFoldersInNewWindow" = "on"; "workbench.colorTheme" = "Tokyo Night"; "workbench.iconTheme" = "vscode-icons"; From 3d1e971c4b1f85a38cc44402dd8edaa46d7b3d57 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 15 Nov 2024 23:31:22 -0800 Subject: [PATCH 126/177] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6140534..486d439 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1731535640, - "narHash": "sha256-2EckCJn4wxran/TsRiCOFcmVpep2m9EBKl99NBh2GnM=", + "lastModified": 1731604581, + "narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=", "owner": "nix-community", "repo": "home-manager", - "rev": "35b055009afd0107b69c286fca34d2ad98940d57", + "rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1731454423, - "narHash": "sha256-TtwvgFxUa0wyptLhQbKaixgNW1UXf3+TDqfX3Kp63oM=", + "lastModified": 1731642829, + "narHash": "sha256-vG+O2RZRzYZ8BUMNNJ+BLSj6PUoGW7taDQbp6QNJ3Xo=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "6c71c49e2448e51ad830ed211024e6d0edc50116", + "rev": "f86f158efd4bab8dce3e207e4621f1df3a760b7a", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1731319897, + "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "dc460ec76cbff0e66e269457d7b728432263166c", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1731561145, - "narHash": "sha256-OC9Tx1y7m/vs+i4TnvWfkgAR36z4ax5SV5pygm5roG8=", + "lastModified": 1731730181, + "narHash": "sha256-uCyImsva4NYsRywcT+U6cr+MZrXx/e4Gu8SqTujrCBY=", "owner": "nix-community", "repo": "nur", - "rev": "079b8eda3a720dce65c8af244fb70bb88675ab5e", + "rev": "295cc9ee333bda9e7d58daae4d1c25fcdef3e5a6", "type": "github" }, "original": { From 8fed016d195b38572dc988826bf59f6b08a4c11b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 17 Nov 2024 17:53:26 -0800 Subject: [PATCH 127/177] flake update & update jujitsu / vscode / fish --- flake.lock | 24 ++++++++++++------------ home.nix | 26 ++++++++++++++++++++++++-- programs/fish/default.nix | 4 +--- programs/vscode/default.nix | 4 ---- 4 files changed, 37 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 486d439..fa57751 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1731604581, - "narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=", + "lastModified": 1732482255, + "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", "owner": "nix-community", "repo": "home-manager", - "rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10", + "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1731642829, - "narHash": "sha256-vG+O2RZRzYZ8BUMNNJ+BLSj6PUoGW7taDQbp6QNJ3Xo=", + "lastModified": 1732420287, + "narHash": "sha256-CzvYF4x6jUh/+NEEIFrIY5t1W/N3IA2bNZJiMXu9GTo=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "f86f158efd4bab8dce3e207e4621f1df3a760b7a", + "rev": "3c52583b99666a349a6219dc1f0dd07d75c82d6a", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731319897, - "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc460ec76cbff0e66e269457d7b728432263166c", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1731730181, - "narHash": "sha256-uCyImsva4NYsRywcT+U6cr+MZrXx/e4Gu8SqTujrCBY=", + "lastModified": 1732591297, + "narHash": "sha256-OLx52EsEPL1vumyGc49JY4636l+GTKxlL17jA1zVYEw=", "owner": "nix-community", "repo": "nur", - "rev": "295cc9ee333bda9e7d58daae4d1c25fcdef3e5a6", + "rev": "f82e8ba200b6b2c6619dfce29c909faaf15387c0", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 1c60660..4af4972 100644 --- a/home.nix +++ b/home.nix @@ -56,6 +56,7 @@ marksman marp-cli maven + meld metals multimarkdown mypy @@ -84,7 +85,6 @@ sbt scala-cli shellcheck - skimpdf slack slides slumber @@ -190,12 +190,34 @@ programs.jujutsu = { enable = true; settings = { + signing = { + key = "~/.ssh/id_ed25519.pub"; + }; user = { name = "Salar Rahmanian"; email = "code@softinio.com"; }; ui = { + diff.format = "git"; + diff.tool = [ + "delta" + "--color-only" + "--hyperlinks" + "--line-numbers" + "--side-by-side" + "$left" + "$right" + ]; editor = "nvim"; + merge-editor = [ + "meld" + "$left" + "$base" + "$right" + "-o" + "$output" + ]; + pager = "delta"; }; }; }; @@ -224,6 +246,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "b535afb6d9259e0ec18e2e7fda54384b48264746"; + rev = "a972cdf4f9067111d67f2f0b5655eede437cdff3"; }; } diff --git a/programs/fish/default.nix b/programs/fish/default.nix index e9ba0fa..f18f618 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -30,9 +30,7 @@ fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh end - set -xg PATH $HOME/bin $HOME/.cargo/bin $PATH - - set -xg PATH /Users/salar/.luarocks/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin $PATH + set -xg PATH /Applications/Ghostty.app/Contents/MacOS $HOME/bin $HOME/.cargo/bin /Users/salar/.luarocks/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin $PATH set -xg WORKSPACE /Users/salar/Projects diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index 55f4a97..70d2c13 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -60,10 +60,6 @@ let "githubPullRequests.pullBranch" = "never"; "markdown.extension.preview.autoShowPreviewToSide" = true; "notebook.formatOnSave" = true; - "notebook.codeActionsOnSave" = { - "notebook.source.fixAll" = true; - "notebook.source.organizeImports" = true; - }; # Install paste image manually as not in nix ( https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image ) "pasteImage.insertPattern" = "![[\${imageFileName}]]"; "pasteImage.path" = "\${projectRoot}/Attachments"; From ea0a2167e147cf6d9c439d5de903e44fd4ff9e2e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 29 Nov 2024 00:22:43 -0800 Subject: [PATCH 128/177] flake update --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index fa57751..4501bfa 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1732482255, - "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", + "lastModified": 1732884235, + "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", + "rev": "819f682269f4e002884702b87e445c82840c68f2", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1732420287, - "narHash": "sha256-CzvYF4x6jUh/+NEEIFrIY5t1W/N3IA2bNZJiMXu9GTo=", + "lastModified": 1732603785, + "narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "3c52583b99666a349a6219dc1f0dd07d75c82d6a", + "rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732014248, - "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "lastModified": 1732837521, + "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1732591297, - "narHash": "sha256-OLx52EsEPL1vumyGc49JY4636l+GTKxlL17jA1zVYEw=", + "lastModified": 1733020103, + "narHash": "sha256-akEsIxaNv3AGQS+uX1ROTQcmpLiHAbLK2qg8//BXfGA=", "owner": "nix-community", "repo": "nur", - "rev": "f82e8ba200b6b2c6619dfce29c909faaf15387c0", + "rev": "45959026e0fa781181a41888ae47fd4acc2c308d", "type": "github" }, "original": { From 99571ae1c03990c57cbe9798b8727c39dff85455 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 30 Nov 2024 19:07:57 -0800 Subject: [PATCH 129/177] fix vscode settings change --- programs/vscode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index 70d2c13..d089cc3 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -74,8 +74,8 @@ let "editor.defaultFormatter" = "charliermarsh.ruff"; "editor.formatOnSave" = true; "editor.codeActionsOnSave" = { - "source.fixAll" = true; - "source.organizeImports" = true; + "source.fixAll" = "afterDelay"; + "source.organizeImports" = "afterDelay"; }; }; "telemetry.telemetryLevel" = "off"; From ab3f6a797de0c9b357409b173bf094eaa4d3223a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 1 Dec 2024 11:08:04 -0800 Subject: [PATCH 130/177] add fish ssh agent plugin and flake update --- flake.lock | 18 +++++++++--------- programs/fish/default.nix | 12 +++++++++++- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 4501bfa..a8d9914 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1732884235, - "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", + "lastModified": 1733075221, + "narHash": "sha256-1U+OGR6FWNem2Zrv92b1T64s+vw5MAFT3Prh+vWy/1I=", "owner": "nix-community", "repo": "home-manager", - "rev": "819f682269f4e002884702b87e445c82840c68f2", + "rev": "7f78e2d1c6a9db76444e02a73f0669ebb79f8833", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1732603785, - "narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=", + "lastModified": 1733047432, + "narHash": "sha256-fQUKxgxAEHlL5bevRkdsQB7sSpAMhlvxf7Zw0KK8QIg=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a", + "rev": "e30a3622b606dffc622305b4bbe1cfe37e78fa40", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1733020103, - "narHash": "sha256-akEsIxaNv3AGQS+uX1ROTQcmpLiHAbLK2qg8//BXfGA=", + "lastModified": 1733079067, + "narHash": "sha256-0zfHFxf9AEU5fhjLpokHW6I+Xwr7+oorTY9JS/dzuK8=", "owner": "nix-community", "repo": "nur", - "rev": "45959026e0fa781181a41888ae47fd4acc2c308d", + "rev": "a56df0070bac25cddbf6b3c177f68d606f0bfd7c", "type": "github" }, "original": { diff --git a/programs/fish/default.nix b/programs/fish/default.nix index f18f618..ba1fc32 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -14,7 +14,17 @@ gitignore = "curl -sL https://www.gitignore.io/api/$argv"; }; - plugins = [ ]; + plugins = [ + { + name = "fish-ssh-agent"; + src = pkgs.fetchFromGitHub { + owner = "danhper"; + repo = "fish-ssh-agent"; + rev = "f10d95775352931796fd17f54e6bf2f910163d1b"; + sha256 = "sha256-cFroQ7PSBZ5BhXzZEKTKHnEAuEu8W9rFrGZAb8vTgIE="; + }; + } + ]; loginShellInit = '' set -xg TERM xterm-256color From a91f9d00d0f219c7b9497ae0e5ed146d98f99b4b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 2 Dec 2024 19:31:01 -0800 Subject: [PATCH 131/177] remove zoom and flake update --- flake.lock | 24 ++++++++++++------------ home.nix | 2 -- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index a8d9914..9b6f3d6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1733075221, - "narHash": "sha256-1U+OGR6FWNem2Zrv92b1T64s+vw5MAFT3Prh+vWy/1I=", + "lastModified": 1733175814, + "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", "owner": "nix-community", "repo": "home-manager", - "rev": "7f78e2d1c6a9db76444e02a73f0669ebb79f8833", + "rev": "bf23fe41082aa0289c209169302afd3397092f22", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1733047432, - "narHash": "sha256-fQUKxgxAEHlL5bevRkdsQB7sSpAMhlvxf7Zw0KK8QIg=", + "lastModified": 1733105089, + "narHash": "sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s+vG6ENM=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "e30a3622b606dffc622305b4bbe1cfe37e78fa40", + "rev": "c6b65d946097baf3915dd51373251de98199280d", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732837521, - "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", + "lastModified": 1733015953, + "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", + "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nur": { "locked": { - "lastModified": 1733079067, - "narHash": "sha256-0zfHFxf9AEU5fhjLpokHW6I+Xwr7+oorTY9JS/dzuK8=", + "lastModified": 1733196452, + "narHash": "sha256-sqXCbLOlNNXHYohaTPB3v3OE1L52JzcQT2BX8+yVomE=", "owner": "nix-community", "repo": "nur", - "rev": "a56df0070bac25cddbf6b3c177f68d606f0bfd7c", + "rev": "72dd27a5b4d5a0a50c14d9f52e319f635b3b69b5", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 4af4972..6aa647d 100644 --- a/home.nix +++ b/home.nix @@ -20,7 +20,6 @@ "vscode-extension-github-copilot-chat" "vscode-extension-MS-python-vscode-pylance" "vscode-extension-visualjj-visualjj" - "zoom" ]; home = { @@ -105,7 +104,6 @@ xz yaml-language-server yq - zoom-us ]; }; From f4ac5a200692737e62b344a2b1e1617ea2b72369 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 4 Dec 2024 22:07:06 -0800 Subject: [PATCH 132/177] flake update and minor updates --- flake.lock | 87 ++++++++++++++++++++++++++++++++++++++++++++++-------- home.nix | 9 +++++- 2 files changed, 83 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 9b6f3d6..82612d8 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -7,11 +28,11 @@ ] }, "locked": { - "lastModified": 1733175814, - "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", + "lastModified": 1734093295, + "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "bf23fe41082aa0289c209169302afd3397092f22", + "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "type": "github" }, "original": { @@ -27,11 +48,11 @@ ] }, "locked": { - "lastModified": 1733105089, - "narHash": "sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s+vG6ENM=", + "lastModified": 1733570843, + "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "c6b65d946097baf3915dd51373251de98199280d", + "rev": "a35b08d09efda83625bef267eb24347b446c80b8", "type": "github" }, "original": { @@ -42,11 +63,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733015953, - "narHash": "sha256-t4BBVpwG9B4hLgc6GUBuj3cjU7lP/PJfpTHuSqE+crk=", + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ac35b104800bff9028425fec3b6e8a41de2bbfff", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "type": "github" }, "original": { @@ -57,12 +94,17 @@ } }, "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_2", + "treefmt-nix": "treefmt-nix" + }, "locked": { - "lastModified": 1733196452, - "narHash": "sha256-sqXCbLOlNNXHYohaTPB3v3OE1L52JzcQT2BX8+yVomE=", + "lastModified": 1734313665, + "narHash": "sha256-aRhBY3xl7CVlXXtMI7ryjscdsoJItw75hhQJ7sZK49g=", "owner": "nix-community", "repo": "nur", - "rev": "72dd27a5b4d5a0a50c14d9f52e319f635b3b69b5", + "rev": "3d3b39dbfb201d65fb8c2ee2a0cf6b1ada87a8dc", "type": "github" }, "original": { @@ -78,6 +120,27 @@ "nixpkgs": "nixpkgs", "nur": "nur" } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/home.nix b/home.nix index 6aa647d..b0bd782 100644 --- a/home.nix +++ b/home.nix @@ -195,6 +195,13 @@ name = "Salar Rahmanian"; email = "code@softinio.com"; }; + aliases = { + l = [ + "log" + "-r" + "(main..@):: | (main..@)-" + ]; + }; ui = { diff.format = "git"; diff.tool = [ @@ -233,7 +240,7 @@ enable = true; enableFishIntegration = true; settings = { - command_timeout = 1000; + command_timeout = 3000; character = { success_symbol = " [λ](bold green)"; error_symbol = " [λ](bold red)"; From 1f636db477529fa12a7a605d74b192f9f22b68c3 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 18 Dec 2024 22:15:42 -0800 Subject: [PATCH 133/177] flake update,zed config update, git and jj tweaks --- flake.lock | 30 ++++++++++++------------ flake.nix | 2 +- home.nix | 45 ++---------------------------------- programs/default.nix | 1 + programs/git/default.nix | 32 ++++++++++++------------- programs/jujutsu/default.nix | 44 +++++++++++++++++++++++++++++++++++ programs/zed/default.nix | 24 +++++++++++++++++++ 7 files changed, 102 insertions(+), 76 deletions(-) create mode 100644 programs/jujutsu/default.nix diff --git a/flake.lock b/flake.lock index 82612d8..b6cb642 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1734093295, - "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", + "lastModified": 1736013363, + "narHash": "sha256-P4lsS2Y5GzBfC8OfXtD/xWEucX6oHGTjOzjEjEJbXfc=", "owner": "nix-community", "repo": "home-manager", - "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", + "rev": "0d7908bd09165db6699908b7e3970f137327cbf0", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1733570843, - "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", + "lastModified": 1736002328, + "narHash": "sha256-anoVvML2D+nLfHlBfhEcCMjTou/9SRrrlqQN+Ug39ws=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a35b08d09efda83625bef267eb24347b446c80b8", + "rev": "a464e5ba8cfb10a81599dbd422f30f5d37997916", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734313665, - "narHash": "sha256-aRhBY3xl7CVlXXtMI7ryjscdsoJItw75hhQJ7sZK49g=", + "lastModified": 1735998325, + "narHash": "sha256-4Zh6FUTQSbAfalbPyrzRTH0GTapf9/qlCEs2OaejFJQ=", "owner": "nix-community", "repo": "nur", - "rev": "3d3b39dbfb201d65fb8c2ee2a0cf6b1ada87a8dc", + "rev": "867df4df63ec4f24b79aa6ea97805e2d5efd376a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4844383..47d4fd2 100644 --- a/flake.nix +++ b/flake.nix @@ -28,7 +28,7 @@ config: { ... }: { - nixpkgs.overlays = [ nur.overlay ]; + nixpkgs.overlays = [ nur.overlays.default ]; imports = [ config ]; diff --git a/home.nix b/home.nix index b0bd782..6184fdc 100644 --- a/home.nix +++ b/home.nix @@ -37,9 +37,9 @@ cmake coursier curlFull - delta deno devenv + difftastic discord dua fd @@ -170,6 +170,7 @@ enable = true; settings = { theme = "tokyonight"; + editor.file-picker.hidden = false; }; }; @@ -185,48 +186,6 @@ enable = true; }; - programs.jujutsu = { - enable = true; - settings = { - signing = { - key = "~/.ssh/id_ed25519.pub"; - }; - user = { - name = "Salar Rahmanian"; - email = "code@softinio.com"; - }; - aliases = { - l = [ - "log" - "-r" - "(main..@):: | (main..@)-" - ]; - }; - ui = { - diff.format = "git"; - diff.tool = [ - "delta" - "--color-only" - "--hyperlinks" - "--line-numbers" - "--side-by-side" - "$left" - "$right" - ]; - editor = "nvim"; - merge-editor = [ - "meld" - "$left" - "$base" - "$right" - "-o" - "$output" - ]; - pager = "delta"; - }; - }; - }; - programs.lazygit = { enable = true; }; diff --git a/programs/default.nix b/programs/default.nix index de08b9e..ea6a78f 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -2,6 +2,7 @@ ./broot ./fish ./git + ./jujutsu ./tmux ./wezterm ./vscode diff --git a/programs/git/default.nix b/programs/git/default.nix index cec6e9e..fa25b40 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -4,16 +4,15 @@ let gitConfig = { core = { editor = "nvim"; - pager = "delta"; - }; - delta = { - "line-numbers" = true; - "hyperlinks" = true; - "side-by-side" = true; }; diff = { colorMoved = "default"; - tool = "nvim"; + external = "difft"; + tool = "difftastic"; + }; + difftool.difftastic = { + cmd = "difft \"$MERGED\" \"$LOCAL\" \"abcdef1\" \"100644\" \"$REMOTE\" \"abcdef2\" \"100644\""; + prompt = false; }; difftool.nvim = { cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""; @@ -21,24 +20,24 @@ let }; fetch.prune = true; init.defaultBranch = "main"; - interactive = { - diffFilter = "delta --color-only"; - }; - merge.conflictstyle = "diff3"; + merge.conflictstyle = "zdiff3"; merge.tool = "nvim"; mergetool.nvim = { cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""; prompt = false; keepBackup = false; }; - # url = { - # "git@github.com:" = { - # insteadOf = "https://github.com/"; - # }; - # }; + pager = { + difftool = true; + }; pull = { rebase = true; }; + url = { + "git@github.com:" = { + insteadOf = "https://github.com/"; + }; + }; }; myAliases = { ci = "commit"; @@ -53,7 +52,6 @@ let st = "status"; }; myIgnores = [ - "*~" ".DS_Store" "*.bloop" ".direnv/" diff --git a/programs/jujutsu/default.nix b/programs/jujutsu/default.nix new file mode 100644 index 0000000..18f6a01 --- /dev/null +++ b/programs/jujutsu/default.nix @@ -0,0 +1,44 @@ +{ ... }: +let + MyAliases = { + l = [ + "log" + "-r" + "(main..@):: | (main..@)-" + ]; + }; +in +{ + programs.jujutsu = { + enable = true; + settings = { + aliases = MyAliases; + signing = { + key = "~/.ssh/id_ed25519.pub"; + }; + ui = { + diff.format = "git"; + diff.tool = [ + "difft" + "--color=always" + "$left" + "$right" + ]; + editor = "nvim"; + merge-editor = [ + "meld" + "$left" + "$base" + "$right" + "-o" + "$output" + ]; + pager = "less -FRX"; + }; + user = { + name = "Salar Rahmanian"; + email = "code@softinio.com"; + }; + }; + }; +} diff --git a/programs/zed/default.nix b/programs/zed/default.nix index b551409..40a4f30 100644 --- a/programs/zed/default.nix +++ b/programs/zed/default.nix @@ -16,9 +16,33 @@ in enable = true; extensions = myextensions; userSettings = { + assistant = { + version = "2"; + default_model = { + provider = "copilot_chat"; + model = "gpt-4o"; + }; + }; features = { copilot = true; }; + language_models = { + openai = { + available_models = [ + { + provider = "openai"; + name = "gpt-4o"; + max_tokens = 128000; + } + { + provider = "openai"; + name = "gpt-4o-mini"; + max_tokens = 128000; + } + ]; + version = "2"; + }; + }; telemetry.metrics = false; theme = "Andromeda"; vim_mode = true; From 115dce6cb26590e86fd53d6d650baee97c59b161 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 4 Jan 2025 11:46:03 -0800 Subject: [PATCH 134/177] remove lazyjj --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index 6184fdc..4bebd82 100644 --- a/home.nix +++ b/home.nix @@ -49,7 +49,6 @@ go graphviz jq-lsp - lazyjj luajit lua-language-server marksman From 19f70f19e46a9acc78ac5c7674802b749bdf7eed Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 4 Jan 2025 11:53:55 -0800 Subject: [PATCH 135/177] flake update and update nix version to 24.11 --- flake.lock | 6 +++--- home.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index b6cb642..b389a28 100644 --- a/flake.lock +++ b/flake.lock @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735998325, - "narHash": "sha256-4Zh6FUTQSbAfalbPyrzRTH0GTapf9/qlCEs2OaejFJQ=", + "lastModified": 1736020005, + "narHash": "sha256-1wLkiazcUjmFj7UYb7VoqClAvoGc+k061Lqc5Tqrw8A=", "owner": "nix-community", "repo": "nur", - "rev": "867df4df63ec4f24b79aa6ea97805e2d5efd376a", + "rev": "33f1c2d499b8eac46ec4fc19b49c8740a2482cc1", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 4bebd82..4189da2 100644 --- a/home.nix +++ b/home.nix @@ -23,7 +23,7 @@ ]; home = { - stateVersion = "24.05"; + stateVersion = "24.11"; sessionVariables = { EDITOR = "nvim"; VISUAL = "$EDITOR"; From 407adf52c0ba652917d8bc85021af39786e88528 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 22 Jan 2025 18:01:06 -0800 Subject: [PATCH 136/177] flake update, wezterm update and nvim config update --- flake.lock | 30 +++++++++++++++--------------- home.nix | 2 +- programs/wezterm/wezterm.lua | 3 ++- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index b389a28..355fda3 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1736013363, - "narHash": "sha256-P4lsS2Y5GzBfC8OfXtD/xWEucX6oHGTjOzjEjEJbXfc=", + "lastModified": 1737762889, + "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d7908bd09165db6699908b7e3970f137327cbf0", + "rev": "daf04c5950b676f47a794300657f1d3d14c1a120", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1736002328, - "narHash": "sha256-anoVvML2D+nLfHlBfhEcCMjTou/9SRrrlqQN+Ug39ws=", + "lastModified": 1737504076, + "narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a464e5ba8cfb10a81599dbd422f30f5d37997916", + "rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735834308, - "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "lastModified": 1737746512, + "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "rev": "825479c345a7f806485b7f00dbe3abb50641b083", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1735834308, - "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "lastModified": 1737746512, + "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "rev": "825479c345a7f806485b7f00dbe3abb50641b083", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736020005, - "narHash": "sha256-1wLkiazcUjmFj7UYb7VoqClAvoGc+k061Lqc5Tqrw8A=", + "lastModified": 1737858227, + "narHash": "sha256-mPemduUVl9iPHKn8OmtgH3xGHN/m/bneHNzAtrOVi9U=", "owner": "nix-community", "repo": "nur", - "rev": "33f1c2d499b8eac46ec4fc19b49c8740a2482cc1", + "rev": "66c0e4240faf6dbc6f5270e0aeb4469ff0308327", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 4189da2..d6e66e4 100644 --- a/home.nix +++ b/home.nix @@ -209,6 +209,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "a972cdf4f9067111d67f2f0b5655eede437cdff3"; + rev = "60d7b84ede499785cc32c2a0dcdeabe3715f9ffe"; }; } diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 60e997a..121a9c1 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -100,6 +100,7 @@ return { { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' }, { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'h', mods = 'SUPER', action = act { SpawnCommandInNewTab = { cwd = wezterm.home_dir } } }, { key = 'q', mods = 'SUPER', action = act.QuitApplication }, { key = 'i', mods = 'CTRL|SHIFT', action = act.SwitchToWorkspace }, { @@ -166,5 +167,5 @@ return { split_nav('resize', 'u'), }, -- temp fix - front_end = 'WebGpu', + -- front_end = 'WebGpu', } From 365ed3db6b781443a5d5964cf8351b5181a64ed5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 26 Jan 2025 21:13:14 -0800 Subject: [PATCH 137/177] use intellij as git mergetool --- programs/git/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/programs/git/default.nix b/programs/git/default.nix index fa25b40..a57b515 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -20,11 +20,12 @@ let }; fetch.prune = true; init.defaultBranch = "main"; - merge.conflictstyle = "zdiff3"; - merge.tool = "nvim"; - mergetool.nvim = { - cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""; - prompt = false; + merge.tool = "intellij"; + mergetool = { + intellij = { + cmd = "'/Applications/IntelliJ IDEA.app/Contents/macOS/idea' merge \“$LOCAL\” \“$REMOTE\” \“$BASE\” \“$MERGED\”"; + trustExitCode = true; + }; keepBackup = false; }; pager = { From fda4b11a5fe6a9683a8f71bbc4ade10115c04e8e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 1 Feb 2025 11:44:06 -0800 Subject: [PATCH 138/177] flake update, add aider chat & nvim update --- flake.lock | 30 +++++++++++++++--------------- home.nix | 3 ++- programs/git/default.nix | 1 + 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index 355fda3..60538b8 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1737762889, - "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=", + "lastModified": 1738428726, + "narHash": "sha256-OUoEgorFHBVnqQ2lITqs6MGN7MH4t/8hLEO29OKu6CM=", "owner": "nix-community", "repo": "home-manager", - "rev": "daf04c5950b676f47a794300657f1d3d14c1a120", + "rev": "dae6d3460c8bab3ac9f38a86affe45b32818e764", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1737504076, - "narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=", + "lastModified": 1738277753, + "narHash": "sha256-iyFcCOk0mmDiv4ut9mBEuMxMZIym3++0qN1rQBg8FW0=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3", + "rev": "49b807fa7c37568d7fbe2aeaafb9255c185412f9", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737746512, - "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "825479c345a7f806485b7f00dbe3abb50641b083", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737746512, - "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "825479c345a7f806485b7f00dbe3abb50641b083", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737858227, - "narHash": "sha256-mPemduUVl9iPHKn8OmtgH3xGHN/m/bneHNzAtrOVi9U=", + "lastModified": 1738362438, + "narHash": "sha256-EO2dVkMVLThWqv4hobEZEZGWBEuH2Z9SYqQDrbLSclU=", "owner": "nix-community", "repo": "nur", - "rev": "66c0e4240faf6dbc6f5270e0aeb4469ff0308327", + "rev": "95ddad0ff0e67c90314c6ca46324dce5f9a910d2", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index d6e66e4..8d342f9 100644 --- a/home.nix +++ b/home.nix @@ -29,6 +29,7 @@ VISUAL = "$EDITOR"; }; packages = with pkgs; [ + aider-chat any-nix-shell aspell basedpyright @@ -209,6 +210,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "60d7b84ede499785cc32c2a0dcdeabe3715f9ffe"; + rev = "b205894edc350b5fe1b939939461b4e713478b97"; }; } diff --git a/programs/git/default.nix b/programs/git/default.nix index a57b515..2d8bf5d 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -54,6 +54,7 @@ let }; myIgnores = [ ".DS_Store" + ".aider*" "*.bloop" ".direnv/" ".idea/" From 78e99ced025bbf289f9f65c427a62338faea335d Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 2 Feb 2025 10:38:42 -0800 Subject: [PATCH 139/177] add settings for aider --- home.nix | 2 +- programs/aider/aider.yml | 438 +++++++++++++++++++++++++++++++++++++ programs/aider/default.nix | 17 ++ programs/default.nix | 1 + programs/fish/default.nix | 2 + 5 files changed, 459 insertions(+), 1 deletion(-) create mode 100644 programs/aider/aider.yml create mode 100644 programs/aider/default.nix diff --git a/home.nix b/home.nix index 8d342f9..becd12a 100644 --- a/home.nix +++ b/home.nix @@ -29,7 +29,6 @@ VISUAL = "$EDITOR"; }; packages = with pkgs; [ - aider-chat any-nix-shell aspell basedpyright @@ -100,6 +99,7 @@ typescript typescript-language-server wget + uv vscode-langservers-extracted xz yaml-language-server diff --git a/programs/aider/aider.yml b/programs/aider/aider.yml new file mode 100644 index 0000000..5b7037a --- /dev/null +++ b/programs/aider/aider.yml @@ -0,0 +1,438 @@ +########################################################## +# Sample .aider.conf.yml +# This file lists *all* the valid configuration entries. +# Place in your home dir, or at the root of your git repo. +########################################################## + +# Note: You can only put OpenAI and Anthropic API keys in the yaml +# config file. Keys for all APIs can be stored in a .env file +# https://aider.chat/docs/config/dotenv.html + +########## +# options: + +## show this help message and exit +#help: xxx + +############# +# Main model: + +## Specify the model to use for the main chat +#model: xxx + +## Use claude-3-opus-20240229 model for the main chat +#opus: false + +## Use claude-3-5-sonnet-20241022 model for the main chat +#sonnet: false + +## Use claude-3-5-haiku-20241022 model for the main chat +#haiku: false + +## Use gpt-4-0613 model for the main chat +#4: false + +## Use gpt-4o model for the main chat +4o: true + +## Use gpt-4o-mini model for the main chat +#mini: false + +## Use gpt-4-1106-preview model for the main chat +#4-turbo: false + +## Use gpt-3.5-turbo model for the main chat +#35turbo: false + +## Use deepseek/deepseek-chat model for the main chat +#deepseek: false + +## Use o1-mini model for the main chat +#o1-mini: false + +## Use o1-preview model for the main chat +#o1-preview: false + +######################## +# API Keys and settings: + +## Specify the OpenAI API key +#openai-api-key: xxx + +## Specify the Anthropic API key +#anthropic-api-key: xxx + +## Specify the api base url +#openai-api-base: xxx + +## (deprecated, use --set-env OPENAI_API_TYPE=) +#openai-api-type: xxx + +## (deprecated, use --set-env OPENAI_API_VERSION=) +#openai-api-version: xxx + +## (deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=) +#openai-api-deployment-id: xxx + +## (deprecated, use --set-env OPENAI_ORGANIZATION=) +#openai-organization-id: xxx + +## Set an environment variable (to control API settings, can be used multiple times) +#set-env: xxx +## Specify multiple values like this: +#set-env: +# - xxx +# - yyy +# - zzz + +## Set an API key for a provider (eg: --api-key provider= sets PROVIDER_API_KEY=) +#api-key: xxx +## Specify multiple values like this: +#api-key: +# - xxx +# - yyy +# - zzz + +################# +# Model settings: + +## List known models which match the (partial) MODEL name +#list-models: xxx + +## Specify a file with aider model settings for unknown models +#model-settings-file: .aider.model.settings.yml + +## Specify a file with context window and costs for unknown models +#model-metadata-file: .aider.model.metadata.json + +## Add a model alias (can be used multiple times) +#alias: xxx +## Specify multiple values like this: +#alias: +# - xxx +# - yyy +# - zzz + +## Set the reasoning_effort API parameter (default: not set) +#reasoning-effort: xxx + +## Verify the SSL cert when connecting to models (default: True) +#verify-ssl: true + +## Timeout in seconds for API calls (default: None) +#timeout: xxx + +## Specify what edit format the LLM should use (default depends on model) +#edit-format: xxx + +## Use architect edit format for the main chat +#architect: false + +## Specify the model to use for commit messages and chat history summarization (default depends on --model) +#weak-model: xxx + +## Specify the model to use for editor tasks (default depends on --model) +#editor-model: xxx + +## Specify the edit format for the editor model (default: depends on editor model) +#editor-edit-format: xxx + +## Only work with models that have meta-data available (default: True) +#show-model-warnings: true + +## Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens. +#max-chat-history-tokens: xxx + +################# +# Cache settings: + +## Enable caching of prompts (default: False) +#cache-prompts: false + +## Number of times to ping at 5min intervals to keep prompt cache warm (default: 0) +#cache-keepalive-pings: false + +################### +# Repomap settings: + +## Suggested number of tokens to use for repo map, use 0 to disable +#map-tokens: xxx + +## Control how often the repo map is refreshed. Options: auto, always, files, manual (default: auto) +#map-refresh: auto + +## Multiplier for map tokens when no files are specified (default: 2) +#map-multiplier-no-files: true + +################ +# History Files: + +## Specify the chat input history file (default: .aider.input.history) +#input-history-file: .aider.input.history + +## Specify the chat history file (default: .aider.chat.history.md) +#chat-history-file: .aider.chat.history.md + +## Restore the previous chat history messages (default: False) +#restore-chat-history: false + +## Log the conversation with the LLM to this file (for example, .aider.llm.history) +#llm-history-file: xxx + +################## +# Output settings: + +## Use colors suitable for a dark terminal background (default: False) +dark-mode: true + +## Use colors suitable for a light terminal background (default: False) +#light-mode: false + +## Enable/disable pretty, colorized output (default: True) +#pretty: true + +## Enable/disable streaming responses (default: True) +#stream: true + +## Set the color for user input (default: #00cc00) +#user-input-color: #00cc00 + +## Set the color for tool output (default: None) +#tool-output-color: xxx + +## Set the color for tool error messages (default: #FF2222) +#tool-error-color: #FF2222 + +## Set the color for tool warning messages (default: #FFA500) +#tool-warning-color: #FFA500 + +## Set the color for assistant output (default: #0088ff) +#assistant-output-color: #0088ff + +## Set the color for the completion menu (default: terminal's default text color) +#completion-menu-color: xxx + +## Set the background color for the completion menu (default: terminal's default background color) +#completion-menu-bg-color: xxx + +## Set the color for the current item in the completion menu (default: terminal's default background color) +#completion-menu-current-color: xxx + +## Set the background color for the current item in the completion menu (default: terminal's default text color) +#completion-menu-current-bg-color: xxx + +## Set the markdown code theme (default: default, other options include monokai, solarized-dark, solarized-light, or a Pygments builtin style, see https://pygments.org/styles for available themes) +#code-theme: default + +## Show diffs when committing changes (default: False) +show-diffs: true + +############### +# Git settings: + +## Enable/disable looking for a git repo (default: True) +#git: true + +## Enable/disable adding .aider* to .gitignore (default: True) +#gitignore: true + +## Specify the aider ignore file (default: .aiderignore in git root) +#aiderignore: .aiderignore + +## Only consider files in the current subtree of the git repository +#subtree-only: false + +## Enable/disable auto commit of LLM changes (default: True) +auto-commits: false + +## Enable/disable commits when repo is found dirty (default: True) +#dirty-commits: true + +## Attribute aider code changes in the git author name (default: True) +attribute-author: false + +## Attribute aider commits in the git committer name (default: True) +attribute-committer: false + +## Prefix commit messages with 'aider: ' if aider authored the changes (default: False) +#attribute-commit-message-author: false + +## Prefix all commit messages with 'aider: ' (default: False) +#attribute-commit-message-committer: false + +## Commit all pending changes with a suitable commit message, then exit +#commit: false + +## Specify a custom prompt for generating commit messages +#commit-prompt: xxx + +## Perform a dry run without modifying files (default: False) +#dry-run: false + +## Skip the sanity check for the git repository (default: False) +#skip-sanity-check-repo: false + +## Enable/disable watching files for ai coding comments (default: False) +#watch-files: false + +######################## +# Fixing and committing: + +## Lint and fix provided files, or dirty files if none provided +#lint: false + +## Specify lint commands to run for different languages, eg: "python: flake8 --select=..." (can be used multiple times) +#lint-cmd: xxx +## Specify multiple values like this: +#lint-cmd: +# - xxx +# - yyy +# - zzz + +## Enable/disable automatic linting after changes (default: True) +#auto-lint: true + +## Specify command to run tests +#test-cmd: xxx + +## Enable/disable automatic testing after changes (default: False) +#auto-test: false + +## Run tests, fix problems found and then exit +#test: false + +############ +# Analytics: + +## Enable/disable analytics for current session (default: random) +#analytics: xxx + +## Specify a file to log analytics events +#analytics-log: xxx + +## Permanently disable analytics +analytics-disable: true + +############ +# Upgrading: + +## Check for updates and return status in the exit code +#just-check-update: false + +## Check for new aider versions on launch +check-update: false + +## Show release notes on first run of new version (default: None, ask user) +#show-release-notes: xxx + +## Install the latest version from the main branch +#install-main-branch: false + +## Upgrade aider to the latest version from PyPI +#upgrade: false + +## Show the version number and exit +#version: xxx + +######## +# Modes: + +## Specify a single message to send the LLM, process reply then exit (disables chat mode) +#message: xxx + +## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode) +#message-file: xxx + +## Run aider in your browser (default: False) +#gui: false + +## Enable automatic copy/paste of chat between aider and web UI (default: False) +#copy-paste: false + +## Apply the changes from the given file instead of running the chat (debug) +#apply: xxx + +## Apply clipboard contents as edits using the main model's editor format +#apply-clipboard-edits: false + +## Do all startup activities then exit before accepting user input (debug) +#exit: false + +## Print the repo map and exit (debug) +#show-repo-map: false + +## Print the system prompts and exit (debug) +#show-prompts: false + +################# +# Voice settings: + +## Audio format for voice recording (default: wav). webm and mp3 require ffmpeg +voice-format: mp3 + +## Specify the language for voice using ISO 639-1 code (default: auto) +#voice-language: en + +## Specify the input device name for voice recording +#voice-input-device: xxx + +################# +# Other settings: + +## specify a file to edit (can be used multiple times) +#file: xxx +## Specify multiple values like this: +#file: +# - xxx +# - yyy +# - zzz + +## specify a read-only file (can be used multiple times) +#read: xxx +## Specify multiple values like this: +#read: +# - xxx +# - yyy +# - zzz + +## Use VI editing mode in the terminal (default: False) +vim: true + +## Specify the language to use in the chat (default: None, uses system settings) +#chat-language: xxx + +## Always say yes to every confirmation +#yes-always: false + +## Enable verbose output +#verbose: false + +## Load and execute /commands from a file on launch +#load: xxx + +## Specify the encoding for input and output (default: utf-8) +#encoding: utf-8 + +## Line endings to use when writing files (default: platform) +#line-endings: platform + +## Specify the config file (default: search for .aider.conf.yml in git root, cwd or home directory) +#config: xxx + +## Specify the .env file to load (default: .env in git root) +#env-file: .env + +## Enable/disable suggesting shell commands (default: True) +#suggest-shell-commands: true + +## Enable/disable fancy input with history and completion (default: True) +#fancy-input: true + +## Enable/disable multi-line input mode with Meta-Enter to submit (default: False) +multiline: true + +## Enable/disable detection and offering to add URLs to chat (default: True) +#detect-urls: true + +## Specify which editor to use for the /editor command +editor: nvim diff --git a/programs/aider/default.nix b/programs/aider/default.nix new file mode 100644 index 0000000..8ca26fa --- /dev/null +++ b/programs/aider/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: + +let + aiderConfig = builtins.readFile ./aider.yml; +in +{ + home.packages = with pkgs; [ + aider-chat + streamlit + python3Packages.greenlet + python3Packages.llama-index-core + python3Packages.llama-index-embeddings-huggingface + python3Packages.playwright + python3Packages.watchdog + ]; + home.file.".aider.conf.yml".text = aiderConfig; +} diff --git a/programs/default.nix b/programs/default.nix index ea6a78f..dd508ca 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,4 +1,5 @@ [ + ./aider ./broot ./fish ./git diff --git a/programs/fish/default.nix b/programs/fish/default.nix index ba1fc32..b56c8d3 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -47,6 +47,8 @@ set -xg FZF_DEFAULT_OPTS "--preview='bat {} --color=always'" \n set -xg TOOLCHAINS swift + + set -xg OPENAI_API_KEY (cat ~/.openai) ''; interactiveShellInit = '' From 1a6b7782a02e9a57dc0d00ba241509a7026c26f5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 14 Feb 2025 09:02:53 -0800 Subject: [PATCH 140/177] flake update, disable aider, change wezterm theme --- flake.lock | 30 +++++++++++++++--------------- flake.nix | 2 -- programs/default.nix | 2 +- programs/wezterm/wezterm.lua | 5 ++--- 4 files changed, 18 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 60538b8..168fa96 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1738428726, - "narHash": "sha256-OUoEgorFHBVnqQ2lITqs6MGN7MH4t/8hLEO29OKu6CM=", + "lastModified": 1739416022, + "narHash": "sha256-Af1CIT+XlXEb+Dk11sgPDzJoOUiada2Xoj5hA8TBvLY=", "owner": "nix-community", "repo": "home-manager", - "rev": "dae6d3460c8bab3ac9f38a86affe45b32818e764", + "rev": "c9d343cfa0565671cc7e8d5aefebaf61cc840abd", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1738277753, - "narHash": "sha256-iyFcCOk0mmDiv4ut9mBEuMxMZIym3++0qN1rQBg8FW0=", + "lastModified": 1739302241, + "narHash": "sha256-NXQXFU6HOschZ+8ZKrNOlwlHelez8vPl+dCiUaJ82/U=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "49b807fa7c37568d7fbe2aeaafb9255c185412f9", + "rev": "a6746213b138fe7add88b19bafacd446de574ca7", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1739214665, + "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1739214665, + "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738362438, - "narHash": "sha256-EO2dVkMVLThWqv4hobEZEZGWBEuH2Z9SYqQDrbLSclU=", + "lastModified": 1739416481, + "narHash": "sha256-otl15ar4q+D/qt7zW4IXIWRldAs6c8cXCRNbbnjathg=", "owner": "nix-community", "repo": "nur", - "rev": "95ddad0ff0e67c90314c6ca46324dce5f9a910d2", + "rev": "0ae24cb24110a205d9c7581e73114335c02f4e71", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 47d4fd2..a091a72 100644 --- a/flake.nix +++ b/flake.nix @@ -43,8 +43,6 @@ packages = with pkgs; [ fira-code ]; }; - services.nix-daemon.enable = true; - nix = { nixPath = nixpkgs.lib.mkForce [ "nixpkgs=${nixpkgs}" ]; diff --git a/programs/default.nix b/programs/default.nix index dd508ca..3ef42cc 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,5 +1,5 @@ [ - ./aider + # ./aider ./broot ./fish ./git diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 121a9c1..1accde5 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -49,7 +49,8 @@ return { adjust_window_size_when_changing_font_size = false, check_for_updates = false, -- color_scheme = "Gruvbox Light"; - color_scheme = 'tokyonight', + -- color_scheme = 'tokyonight', + color_scheme = 'Tango (terminal.sexy)', default_gui_startup_args = { 'connect', 'unix' }, font = wezterm.font 'SF Mono', font_size = 16, @@ -166,6 +167,4 @@ return { split_nav('resize', 'e'), split_nav('resize', 'u'), }, - -- temp fix - -- front_end = 'WebGpu', } From 4da6e4b6b839ad01bceff2add20dc070cf473ada Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 14 Feb 2025 09:43:13 -0800 Subject: [PATCH 141/177] Updates and added an aider derivation --- flake.lock | 30 ++--- home.nix | 2 +- programs/aider/aider-deriv.nix | 204 +++++++++++++++++++++++++++++++++ programs/aider/aider.yml | 8 +- programs/aider/default.nix | 13 +-- programs/default.nix | 2 +- programs/fish/default.nix | 12 +- programs/ghostty/default.nix | 21 ++++ programs/vscode/default.nix | 23 ++-- programs/wezterm/wezterm.lua | 50 +------- 10 files changed, 277 insertions(+), 88 deletions(-) create mode 100644 programs/aider/aider-deriv.nix create mode 100644 programs/ghostty/default.nix diff --git a/flake.lock b/flake.lock index 168fa96..a08fdf7 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1739416022, - "narHash": "sha256-Af1CIT+XlXEb+Dk11sgPDzJoOUiada2Xoj5hA8TBvLY=", + "lastModified": 1740845322, + "narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", "owner": "nix-community", "repo": "home-manager", - "rev": "c9d343cfa0565671cc7e8d5aefebaf61cc840abd", + "rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1739302241, - "narHash": "sha256-NXQXFU6HOschZ+8ZKrNOlwlHelez8vPl+dCiUaJ82/U=", + "lastModified": 1740755725, + "narHash": "sha256-amZbqP84H/ApugaT+TADXTB3NbjkVHI9Vac1saIk0kE=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a6746213b138fe7add88b19bafacd446de574ca7", + "rev": "5d6e0851b60508cffd66b4a6982440a40720338d", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739214665, - "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", + "lastModified": 1740828860, + "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", + "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739214665, - "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", + "lastModified": 1740828860, + "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", + "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739416481, - "narHash": "sha256-otl15ar4q+D/qt7zW4IXIWRldAs6c8cXCRNbbnjathg=", + "lastModified": 1740968044, + "narHash": "sha256-nvDJeg1CZHl5LfzSjF0fg4vN43yWi11g0l+fqCPrPsY=", "owner": "nix-community", "repo": "nur", - "rev": "0ae24cb24110a205d9c7581e73114335c02f4e71", + "rev": "27c215df50e54f048a03616eb9fc20190e5d71f5", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index becd12a..e478067 100644 --- a/home.nix +++ b/home.nix @@ -210,6 +210,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "b205894edc350b5fe1b939939461b4e713478b97"; + rev = "e609be92393f89856d850e9cc3aa23c7badf0bee"; }; } diff --git a/programs/aider/aider-deriv.nix b/programs/aider/aider-deriv.nix new file mode 100644 index 0000000..5369648 --- /dev/null +++ b/programs/aider/aider-deriv.nix @@ -0,0 +1,204 @@ +{ lib, pkgs, ... }: +let + python3 = pkgs.python312.override { + self = python3; + packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; }; + }; + version = "0.74.1"; + aider-chat = python3.pkgs.buildPythonPackage { + pname = "aider-chat"; + inherit version; + pyproject = true; + + src = pkgs.fetchFromGitHub { + owner = "Aider-AI"; + repo = "aider"; + tag = "v${version}"; + hash = "sha256-JXzkvuSOOEUxNqF6l5USzIPftpnIW+CptEv/0yp0eGM="; + }; + + pythonRelaxDeps = true; + + build-system = with python3.pkgs; [ setuptools-scm ]; + + dependencies = with python3.pkgs; [ + aiohappyeyeballs + aiohttp + aiosignal + annotated-types + anyio + attrs + backoff + beautifulsoup4 + certifi + cffi + charset-normalizer + click + configargparse + diff-match-patch + diskcache + distro + filelock + flake8 + frozenlist + fsspec + gitdb + gitpython + grep-ast + h11 + httpcore + httpx + huggingface-hub + idna + importlib-resources + jinja2 + jiter + json5 + jsonschema + jsonschema-specifications + litellm + markdown-it-py + markupsafe + mccabe + mdurl + multidict + networkx + numpy + openai + packaging + pathspec + pexpect + pillow + prompt-toolkit + psutil + ptyprocess + pycodestyle + pycparser + pydantic + pydantic-core + pydub + pyflakes + pygments + pypandoc + pyperclip + python-dotenv + pyyaml + referencing + regex + requests + rich + rpds-py + scipy + smmap + sniffio + sounddevice + soundfile + soupsieve + tiktoken + tokenizers + tqdm + tree-sitter + tree-sitter-languages + typing-extensions + urllib3 + watchfiles + wcwidth + yarl + zipp + pip + + # Not listed in requirements + mixpanel + monotonic + posthog + propcache + python-dateutil + ]; + + buildInputs = [ pkgs.portaudio ]; + + nativeCheckInputs = (with python3.pkgs; [ pytestCheckHook ]) ++ [ pkgs.gitMinimal ]; + + disabledTestPaths = [ + # Tests require network access + "tests/scrape/test_scrape.py" + # Expected 'mock' to have been called once + "tests/help/test_help.py" + ]; + + disabledTests = + [ + # Tests require network + "test_urls" + "test_get_commit_message_with_custom_prompt" + # FileNotFoundError + "test_get_commit_message" + # Expected 'launch_gui' to have been called once + "test_browser_flag_imports_streamlit" + # AttributeError + "test_simple_send_with_retries" + # Expected 'check_version' to have been called once + "test_main_exit_calls_version_check" + # AssertionError: assert 2 == 1 + "test_simple_send_non_retryable_error" + ] + ++ lib.optionals pkgs.stdenv.hostPlatform.isDarwin [ + # Tests fails on darwin + "test_dark_mode_sets_code_theme" + "test_default_env_file_sets_automatic_variable" + # FileNotFoundError: [Errno 2] No such file or directory: 'vim' + "test_pipe_editor" + ]; + + makeWrapperArgs = [ + "--set AIDER_CHECK_UPDATE false" + "--set AIDER_ANALYTICS false" + ]; + + preCheck = '' + export HOME=$(mktemp -d) + export AIDER_ANALYTICS="false" + ''; + + optional-dependencies = with python3.pkgs; { + playwright = [ + greenlet + playwright + pyee + typing-extensions + ]; + }; + + passthru = { + withPlaywright = aider-chat.overridePythonAttrs ( + { + dependencies, + buildInputs, + makeWrapperArgs, + ... + }: + { + + dependencies = dependencies ++ aider-chat.optional-dependencies.playwright; + + buildInputs = buildInputs ++ [ pkgs.playwright-driver.browsers ]; + + makeWrapperArgs = makeWrapperArgs ++ [ + "--set PLAYWRIGHT_BROWSERS_PATH ${pkgs.playwright-driver.browsers}" + "--set PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=true" + ]; + } + ); + }; + + meta = { + description = "AI pair programming in your terminal"; + homepage = "https://github.com/paul-gauthier/aider"; + changelog = "https://github.com/paul-gauthier/aider/blob/v${version}/HISTORY.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ happysalada ]; + mainProgram = "aider"; + }; + }; +in +aider-chat diff --git a/programs/aider/aider.yml b/programs/aider/aider.yml index 5b7037a..9ffcfba 100644 --- a/programs/aider/aider.yml +++ b/programs/aider/aider.yml @@ -23,8 +23,8 @@ ## Use claude-3-opus-20240229 model for the main chat #opus: false -## Use claude-3-5-sonnet-20241022 model for the main chat -#sonnet: false +## Use anthropic/claude-3-7-sonnet-20250219 model for the main chat +sonnet: true ## Use claude-3-5-haiku-20241022 model for the main chat #haiku: false @@ -33,7 +33,7 @@ #4: false ## Use gpt-4o model for the main chat -4o: true +# 4o: true ## Use gpt-4o-mini model for the main chat #mini: false @@ -429,7 +429,7 @@ vim: true #fancy-input: true ## Enable/disable multi-line input mode with Meta-Enter to submit (default: False) -multiline: true +multiline: false ## Enable/disable detection and offering to add URLs to chat (default: True) #detect-urls: true diff --git a/programs/aider/default.nix b/programs/aider/default.nix index 8ca26fa..89c22c1 100644 --- a/programs/aider/default.nix +++ b/programs/aider/default.nix @@ -1,17 +1,12 @@ -{ pkgs, ... }: +{ lib, pkgs, ... }: let aiderConfig = builtins.readFile ./aider.yml; + aiderPkgs = import ./aider-deriv.nix { inherit lib pkgs; }; in { - home.packages = with pkgs; [ - aider-chat - streamlit - python3Packages.greenlet - python3Packages.llama-index-core - python3Packages.llama-index-embeddings-huggingface - python3Packages.playwright - python3Packages.watchdog + home.packages = [ + aiderPkgs.withPlaywright ]; home.file.".aider.conf.yml".text = aiderConfig; } diff --git a/programs/default.nix b/programs/default.nix index 3ef42cc..dd508ca 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,5 +1,5 @@ [ - # ./aider + ./aider ./broot ./fish ./git diff --git a/programs/fish/default.nix b/programs/fish/default.nix index b56c8d3..6c068de 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -7,11 +7,17 @@ fishPlugins.bobthefish ]; + home.shell.enableFishIntegration = true; + programs.fish = { enable = true; functions = { gitignore = "curl -sL https://www.gitignore.io/api/$argv"; + ot = '' + set otresult (ollama run qwen2.5-coder "Provide only the MacOS terminal command (without markdown) to: $argv") + commandline $otresult + ''; }; plugins = [ @@ -26,7 +32,7 @@ } ]; - loginShellInit = '' + shellInitLast = '' set -xg TERM xterm-256color if test -e /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh @@ -40,7 +46,7 @@ fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh end - set -xg PATH /Applications/Ghostty.app/Contents/MacOS $HOME/bin $HOME/.cargo/bin /Users/salar/.luarocks/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin $PATH + set -xg PATH /Applications/Ghostty.app/Contents/MacOS $HOME/bin $HOME/.cargo/bin $HOME/.npm-global/bin /Users/salar/.luarocks/bin:/Users/salar/bin:/Users/salar/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin $PATH set -xg WORKSPACE /Users/salar/Projects @@ -49,6 +55,7 @@ set -xg TOOLCHAINS swift set -xg OPENAI_API_KEY (cat ~/.openai) + set -xg ANTHROPIC_API_KEY (cat ~/.anthropic) ''; interactiveShellInit = '' @@ -83,6 +90,7 @@ nixq = "nix-env -qa"; nixstorerepair = "nix-store --repair --verify --check-contents"; nixupgrade = "nix upgrade-nix"; + o = "echo (ollama run qwen2.5-coder \"Provide only the MacOS terminal command (without markdown) to: $argv\")"; rmxcodederived = "rm -fr ~/Library/Developer/Xcode/DerivedData"; v = "nvim"; sshhcloud1 = "ssh salar@hcloud1.softinio.net"; diff --git a/programs/ghostty/default.nix b/programs/ghostty/default.nix new file mode 100644 index 0000000..16fe39e --- /dev/null +++ b/programs/ghostty/default.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: +let + mySettings = { + copy-on-select = "clipboard"; + font-family = "SF Mono"; + font-size = 16; + macos-title-bar-style = "transparent"; + theme = "Builtin Tango Dark"; + window-inherit-working-directory = true; + working-directory = "home"; + }; +in +{ + programs.ghostty = { + enable = true; + enableFishIntegration = true; + installBatSyntax = true; + installVimSyntax = true; + settings = mySettings; + }; +} diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index d089cc3..f0a33de 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -6,7 +6,6 @@ let baccata.scaladex-search charliermarsh.ruff davidanson.vscode-markdownlint - enkia.tokyo-night github.copilot github.copilot-chat github.github-vscode-theme @@ -20,16 +19,15 @@ let ms-python.debugpy ms-python.python ms-python.vscode-pylance + ms-toolsai.datawrangler ms-toolsai.jupyter ms-toolsai.jupyter-keymap ms-toolsai.jupyter-renderers ms-toolsai.vscode-jupyter-cell-tags ms-toolsai.vscode-jupyter-slideshow ms-vscode.makefile-tools - ms-toolsai.jupyter redhat.java redhat.vscode-yaml - rust-lang.rust-analyzer scalameta.metals skyapps.fish-vscode sswg.swift-lang @@ -40,7 +38,6 @@ let visualjj.visualjj vscode-icons-team.vscode-icons vscjava.vscode-java-pack - xyz.local-history yzhang.markdown-all-in-one ]; myUserSettings = { @@ -74,8 +71,8 @@ let "editor.defaultFormatter" = "charliermarsh.ruff"; "editor.formatOnSave" = true; "editor.codeActionsOnSave" = { - "source.fixAll" = "afterDelay"; - "source.organizeImports" = "afterDelay"; + "source.fixAll" = "always"; + "source.organizeImports" = "always"; }; }; "telemetry.telemetryLevel" = "off"; @@ -85,7 +82,7 @@ let "update.mode" = "none"; "vsicons.dontShowNewVersionMessage" = true; "window.openFoldersInNewWindow" = "on"; - "workbench.colorTheme" = "Tokyo Night"; + "workbench.colorTheme" = "GitHub Dark Default"; "workbench.iconTheme" = "vscode-icons"; "workbench.sideBar.location" = "right"; }; @@ -93,10 +90,14 @@ in { programs.vscode = { enable = true; - enableUpdateCheck = false; - enableExtensionUpdateCheck = false; + profiles = { + default = { + enableExtensionUpdateCheck = false; + enableUpdateCheck = false; + extensions = myExtensions; + userSettings = myUserSettings; + }; + }; mutableExtensionsDir = false; - extensions = myExtensions; - userSettings = myUserSettings; }; } diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 1accde5..3d44046 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -2,39 +2,6 @@ local wezterm = require 'wezterm' local mux = wezterm.mux local act = wezterm.action -local function is_vim(pane) - -- this is set by the plugin, and unset on ExitPre in Neovim - return pane:get_user_vars().IS_NVIM == 'true' -end - -local direction_keys = { - a = 'Left', - o = 'Down', - e = 'Up', - u = 'Right', -} - -local function split_nav(resize_or_move, key) - return { - key = key, - mods = resize_or_move == 'resize' and 'META' or 'CTRL', - action = wezterm.action_callback(function(win, pane) - if is_vim(pane) then - -- pass the keys through to vim/nvim - win:perform_action({ - SendKey = { key = key, mods = resize_or_move == 'resize' and 'META' or 'CTRL' }, - }, pane) - else - if resize_or_move == 'resize' then - win:perform_action({ AdjustPaneSize = { direction_keys[key], 3 } }, pane) - else - win:perform_action({ ActivatePaneDirection = direction_keys[key] }, pane) - end - end - end), - } -end - wezterm.on('update-right-status', function(window, pane) window:set_right_status(window:active_workspace()) end) @@ -51,7 +18,7 @@ return { -- color_scheme = "Gruvbox Light"; -- color_scheme = 'tokyonight', color_scheme = 'Tango (terminal.sexy)', - default_gui_startup_args = { 'connect', 'unix' }, + -- default_gui_startup_args = { 'connect', 'unix' }, font = wezterm.font 'SF Mono', font_size = 16, dpi = 144, @@ -60,6 +27,8 @@ return { initial_rows = 80, leader = { key = 'b', mods = 'SUPER', timeout_milliseconds = 1000 }, default_prog = { '/etc/profiles/per-user/salar/bin/fish' }, + window_decorations = 'RESIZE', + -- window_background_image = '/Users/salar/.config/nixpkgs/programs/wezterm/bridge.jpg', ssh_domains = { { name = 'hcloud1', @@ -71,6 +40,7 @@ return { unix_domains = { { name = 'unix', + proxy_command = { 'nc', '-U', '/Users/salar/.local/share/wezterm/sock' }, }, }, keys = { @@ -96,7 +66,7 @@ return { { key = '9', mods = 'LEADER', action = wezterm.action { ActivateTab = 8 } }, { key = '&', mods = 'LEADER', action = wezterm.action { CloseCurrentTab = { confirm = true } } }, { key = 'x', mods = 'LEADER', action = wezterm.action { CloseCurrentPane = { confirm = true } } }, - { key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen }, + { key = 'Enter', mods = 'ALT', action = act.DisableDefaultAssignment }, { key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' }, { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' }, { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, @@ -156,15 +126,5 @@ return { }, }, { key = 'Tab', mods = 'CTRL', action = wezterm.action.DisableDefaultAssignment }, - -- move between split panes - split_nav('move', 'a'), - split_nav('move', 'o'), - split_nav('move', 'e'), - split_nav('move', 'u'), - -- resize panes - split_nav('resize', 'a'), - split_nav('resize', 'o'), - split_nav('resize', 'e'), - split_nav('resize', 'u'), }, } From 85942195f418b52ffe43efd984c6a6eb6971ad7b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 9 Mar 2025 15:27:49 -0700 Subject: [PATCH 142/177] add copilot extension and flake update --- flake.lock | 32 ++++++++++++++++---------------- flake.nix | 2 +- home.nix | 4 ++++ 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index a08fdf7..2ade29b 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1740845322, - "narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", + "lastModified": 1741543064, + "narHash": "sha256-AjXyS3ACxWAd+h3NSkrflN+uC0Tq1XFqox472RF6yh0=", "owner": "nix-community", "repo": "home-manager", - "rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", + "rev": "db4386d686fb0b2788e7422e6a2299deace9c4b1", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1740755725, - "narHash": "sha256-amZbqP84H/ApugaT+TADXTB3NbjkVHI9Vac1saIk0kE=", + "lastModified": 1741229100, + "narHash": "sha256-0HwrTDXp9buEwal/1ymK9uQmzUD5ozIA7CJGqnT/gLs=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "5d6e0851b60508cffd66b4a6982440a40720338d", + "rev": "adf5c88ba1fe21af5c083b4d655004431f20c5ab", "type": "github" }, "original": { @@ -63,27 +63,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740828860, - "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", + "lastModified": 1741402956, + "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", + "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1740828860, - "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", + "lastModified": 1741379970, + "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", + "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740968044, - "narHash": "sha256-nvDJeg1CZHl5LfzSjF0fg4vN43yWi11g0l+fqCPrPsY=", + "lastModified": 1741560307, + "narHash": "sha256-sS25HPoonksGtSmQsOyMVESYLDxxUZVmEQGPGlHWHIk=", "owner": "nix-community", "repo": "nur", - "rev": "27c215df50e54f048a03616eb9fc20190e5d71f5", + "rev": "4ae43b04c54350575c1e0fd6ee1547629b2e06ff", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a091a72..63506ba 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "Nix and home-manager configurations for Softinio's macbook"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/home.nix b/home.nix index e478067..715a86d 100644 --- a/home.nix +++ b/home.nix @@ -14,6 +14,7 @@ pkg: builtins.elem (lib.getName pkg) [ "discord" + "gh-copilot" "slack" "vscode" "vscode-extension-github-copilot" @@ -151,6 +152,9 @@ programs.gh = { enable = true; + extensions = [ + pkgs.gh-copilot + ]; settings = { editor = "nvim"; git_protocol = "ssh"; From 8a8c9597bb6ff791b1fb9f671d4df0075057cb7e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 9 Mar 2025 16:11:03 -0700 Subject: [PATCH 143/177] remove aider derivation as no longer needed --- programs/aider/aider-deriv.nix | 204 --------------------------------- programs/aider/default.nix | 7 +- 2 files changed, 3 insertions(+), 208 deletions(-) delete mode 100644 programs/aider/aider-deriv.nix diff --git a/programs/aider/aider-deriv.nix b/programs/aider/aider-deriv.nix deleted file mode 100644 index 5369648..0000000 --- a/programs/aider/aider-deriv.nix +++ /dev/null @@ -1,204 +0,0 @@ -{ lib, pkgs, ... }: -let - python3 = pkgs.python312.override { - self = python3; - packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; }; - }; - version = "0.74.1"; - aider-chat = python3.pkgs.buildPythonPackage { - pname = "aider-chat"; - inherit version; - pyproject = true; - - src = pkgs.fetchFromGitHub { - owner = "Aider-AI"; - repo = "aider"; - tag = "v${version}"; - hash = "sha256-JXzkvuSOOEUxNqF6l5USzIPftpnIW+CptEv/0yp0eGM="; - }; - - pythonRelaxDeps = true; - - build-system = with python3.pkgs; [ setuptools-scm ]; - - dependencies = with python3.pkgs; [ - aiohappyeyeballs - aiohttp - aiosignal - annotated-types - anyio - attrs - backoff - beautifulsoup4 - certifi - cffi - charset-normalizer - click - configargparse - diff-match-patch - diskcache - distro - filelock - flake8 - frozenlist - fsspec - gitdb - gitpython - grep-ast - h11 - httpcore - httpx - huggingface-hub - idna - importlib-resources - jinja2 - jiter - json5 - jsonschema - jsonschema-specifications - litellm - markdown-it-py - markupsafe - mccabe - mdurl - multidict - networkx - numpy - openai - packaging - pathspec - pexpect - pillow - prompt-toolkit - psutil - ptyprocess - pycodestyle - pycparser - pydantic - pydantic-core - pydub - pyflakes - pygments - pypandoc - pyperclip - python-dotenv - pyyaml - referencing - regex - requests - rich - rpds-py - scipy - smmap - sniffio - sounddevice - soundfile - soupsieve - tiktoken - tokenizers - tqdm - tree-sitter - tree-sitter-languages - typing-extensions - urllib3 - watchfiles - wcwidth - yarl - zipp - pip - - # Not listed in requirements - mixpanel - monotonic - posthog - propcache - python-dateutil - ]; - - buildInputs = [ pkgs.portaudio ]; - - nativeCheckInputs = (with python3.pkgs; [ pytestCheckHook ]) ++ [ pkgs.gitMinimal ]; - - disabledTestPaths = [ - # Tests require network access - "tests/scrape/test_scrape.py" - # Expected 'mock' to have been called once - "tests/help/test_help.py" - ]; - - disabledTests = - [ - # Tests require network - "test_urls" - "test_get_commit_message_with_custom_prompt" - # FileNotFoundError - "test_get_commit_message" - # Expected 'launch_gui' to have been called once - "test_browser_flag_imports_streamlit" - # AttributeError - "test_simple_send_with_retries" - # Expected 'check_version' to have been called once - "test_main_exit_calls_version_check" - # AssertionError: assert 2 == 1 - "test_simple_send_non_retryable_error" - ] - ++ lib.optionals pkgs.stdenv.hostPlatform.isDarwin [ - # Tests fails on darwin - "test_dark_mode_sets_code_theme" - "test_default_env_file_sets_automatic_variable" - # FileNotFoundError: [Errno 2] No such file or directory: 'vim' - "test_pipe_editor" - ]; - - makeWrapperArgs = [ - "--set AIDER_CHECK_UPDATE false" - "--set AIDER_ANALYTICS false" - ]; - - preCheck = '' - export HOME=$(mktemp -d) - export AIDER_ANALYTICS="false" - ''; - - optional-dependencies = with python3.pkgs; { - playwright = [ - greenlet - playwright - pyee - typing-extensions - ]; - }; - - passthru = { - withPlaywright = aider-chat.overridePythonAttrs ( - { - dependencies, - buildInputs, - makeWrapperArgs, - ... - }: - { - - dependencies = dependencies ++ aider-chat.optional-dependencies.playwright; - - buildInputs = buildInputs ++ [ pkgs.playwright-driver.browsers ]; - - makeWrapperArgs = makeWrapperArgs ++ [ - "--set PLAYWRIGHT_BROWSERS_PATH ${pkgs.playwright-driver.browsers}" - "--set PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=true" - ]; - } - ); - }; - - meta = { - description = "AI pair programming in your terminal"; - homepage = "https://github.com/paul-gauthier/aider"; - changelog = "https://github.com/paul-gauthier/aider/blob/v${version}/HISTORY.md"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ happysalada ]; - mainProgram = "aider"; - }; - }; -in -aider-chat diff --git a/programs/aider/default.nix b/programs/aider/default.nix index 89c22c1..7a30917 100644 --- a/programs/aider/default.nix +++ b/programs/aider/default.nix @@ -1,12 +1,11 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: let aiderConfig = builtins.readFile ./aider.yml; - aiderPkgs = import ./aider-deriv.nix { inherit lib pkgs; }; in { - home.packages = [ - aiderPkgs.withPlaywright + home.packages = with pkgs; [ + aider-chat.withPlaywright ]; home.file.".aider.conf.yml".text = aiderConfig; } From 2b7f85b82a67e6eaa49392c49a525171799d61bc Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 14 Mar 2025 19:24:12 -0700 Subject: [PATCH 144/177] Add jetbrains mono and firacode fonts & flake update --- flake.lock | 24 ++++++++++++------------ home.nix | 2 ++ programs/wezterm/wezterm.lua | 6 +++++- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 2ade29b..c197af5 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1741543064, - "narHash": "sha256-AjXyS3ACxWAd+h3NSkrflN+uC0Tq1XFqox472RF6yh0=", + "lastModified": 1741635347, + "narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=", "owner": "nix-community", "repo": "home-manager", - "rev": "db4386d686fb0b2788e7422e6a2299deace9c4b1", + "rev": "7fb8678716c158642ac42f9ff7a18c0800fea551", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741402956, - "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", + "lastModified": 1741462378, + "narHash": "sha256-ZF3YOjq+vTcH51S+qWa1oGA9FgmdJ67nTNPG2OIlXDc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", + "rev": "2d9e4457f8e83120c9fdf6f1707ed0bc603e5ac9", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741379970, - "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741560307, - "narHash": "sha256-sS25HPoonksGtSmQsOyMVESYLDxxUZVmEQGPGlHWHIk=", + "lastModified": 1741670434, + "narHash": "sha256-/HwQwLHJVGHSnxiQJTu6c5m8YwS1tl3KVt3fBVrNkGk=", "owner": "nix-community", "repo": "nur", - "rev": "4ae43b04c54350575c1e0fd6ee1547629b2e06ff", + "rev": "0da9e38262198c1a7b674c8fefdff5184dacaae6", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 715a86d..0913ae7 100644 --- a/home.nix +++ b/home.nix @@ -49,6 +49,7 @@ gnupg go graphviz + jetbrains-mono jq-lsp luajit lua-language-server @@ -61,6 +62,7 @@ mypy neofetch neovim + nerd-fonts.fira-code nil niv nixd diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua index 3d44046..4fc0f07 100644 --- a/programs/wezterm/wezterm.lua +++ b/programs/wezterm/wezterm.lua @@ -19,7 +19,11 @@ return { -- color_scheme = 'tokyonight', color_scheme = 'Tango (terminal.sexy)', -- default_gui_startup_args = { 'connect', 'unix' }, - font = wezterm.font 'SF Mono', + font = wezterm.font_with_fallback { + 'SF Mono', + 'JetBrains Mono', + 'Fira Code', + }, font_size = 16, dpi = 144, scrollback_lines = 50000, From 03cfe695a0e6f6645bb44a535683f564eb6229cc Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 15 Mar 2025 16:11:29 -0700 Subject: [PATCH 145/177] flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index c197af5..9527277 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1741635347, - "narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=", + "lastModified": 1742588233, + "narHash": "sha256-Fi5g8H5FXMSRqy+mU6gPG0v+C9pzjYbkkiePtz8+PpA=", "owner": "nix-community", "repo": "home-manager", - "rev": "7fb8678716c158642ac42f9ff7a18c0800fea551", + "rev": "296ddc64627f4a6a4eb447852d7346b9dd16197d", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1741229100, - "narHash": "sha256-0HwrTDXp9buEwal/1ymK9uQmzUD5ozIA7CJGqnT/gLs=", + "lastModified": 1742595055, + "narHash": "sha256-cEetDber6LF8W4ThmRc4rwKs/o8y2GH0pUdX7e6CnAQ=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "adf5c88ba1fe21af5c083b4d655004431f20c5ab", + "rev": "e9f41de2a81f04390afd106959adf352a207628f", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741462378, - "narHash": "sha256-ZF3YOjq+vTcH51S+qWa1oGA9FgmdJ67nTNPG2OIlXDc=", + "lastModified": 1742578646, + "narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2d9e4457f8e83120c9fdf6f1707ed0bc603e5ac9", + "rev": "94c4dbe77c0740ebba36c173672ca15a7926c993", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741513245, - "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741670434, - "narHash": "sha256-/HwQwLHJVGHSnxiQJTu6c5m8YwS1tl3KVt3fBVrNkGk=", + "lastModified": 1742621235, + "narHash": "sha256-+zILWE0iMAb/U7P/WK+3+ami9F13zLAYT5bwt69veww=", "owner": "nix-community", "repo": "nur", - "rev": "0da9e38262198c1a7b674c8fefdff5184dacaae6", + "rev": "c72c4acc9a04d2d242c9dadfee75d358d75a9e38", "type": "github" }, "original": { From c08179669964d62269b716875af9e9eca4b38996 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 22 Mar 2025 22:36:33 -0700 Subject: [PATCH 146/177] remove wezterm,tmux,ghostty and add kitty back --- flake.lock | 12 ++-- home.nix | 20 ++++++ programs/default.nix | 2 - programs/ghostty/default.nix | 21 ------ programs/tmux/default.nix | 30 -------- programs/tmux/tmux.conf | 110 ---------------------------- programs/wezterm/default.nix | 11 --- programs/wezterm/wezterm.lua | 134 ----------------------------------- 8 files changed, 26 insertions(+), 314 deletions(-) delete mode 100644 programs/ghostty/default.nix delete mode 100644 programs/tmux/default.nix delete mode 100644 programs/tmux/tmux.conf delete mode 100644 programs/wezterm/default.nix delete mode 100644 programs/wezterm/wezterm.lua diff --git a/flake.lock b/flake.lock index 9527277..d4975f3 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1742588233, - "narHash": "sha256-Fi5g8H5FXMSRqy+mU6gPG0v+C9pzjYbkkiePtz8+PpA=", + "lastModified": 1742670145, + "narHash": "sha256-xQ2F9f+ICAGBp/nNv3ddD2U4ZvzuLOci0u/5lyMXPvk=", "owner": "nix-community", "repo": "home-manager", - "rev": "296ddc64627f4a6a4eb447852d7346b9dd16197d", + "rev": "63e77d09a133ac641a0c204e7cfb0c97e133706d", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1742621235, - "narHash": "sha256-+zILWE0iMAb/U7P/WK+3+ami9F13zLAYT5bwt69veww=", + "lastModified": 1742679909, + "narHash": "sha256-t00hcdDSGhMKd6hhQo0zOkQ5mTOPlim4HKX3l3l0b9M=", "owner": "nix-community", "repo": "nur", - "rev": "c72c4acc9a04d2d242c9dadfee75d358d75a9e38", + "rev": "635036ec7ec1fce48d678acfbc84b83c4d44ec41", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 0913ae7..fc90df3 100644 --- a/home.nix +++ b/home.nix @@ -192,6 +192,26 @@ enable = true; }; + programs.kitty = { + enable = true; + keybindings = { + "kitty_mod+enter" = "new_window_with_cwd"; + }; + themeFile = "Tango_Dark"; + font = { + name = "SF Mono"; + size = 16; + }; + settings = { + copy_on_select = true; + enabled_layouts = "*"; + macos_quit_when_last_window_closed = true; + scrollback_lines = 100000; + kitty_mod = "cmd+option"; + }; + shellIntegration.enableFishIntegration = true; + }; + programs.lazygit = { enable = true; }; diff --git a/programs/default.nix b/programs/default.nix index dd508ca..5ea8a15 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -4,8 +4,6 @@ ./fish ./git ./jujutsu - ./tmux - ./wezterm ./vscode ./zed ] diff --git a/programs/ghostty/default.nix b/programs/ghostty/default.nix deleted file mode 100644 index 16fe39e..0000000 --- a/programs/ghostty/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs, ... }: -let - mySettings = { - copy-on-select = "clipboard"; - font-family = "SF Mono"; - font-size = 16; - macos-title-bar-style = "transparent"; - theme = "Builtin Tango Dark"; - window-inherit-working-directory = true; - working-directory = "home"; - }; -in -{ - programs.ghostty = { - enable = true; - enableFishIntegration = true; - installBatSyntax = true; - installVimSyntax = true; - settings = mySettings; - }; -} diff --git a/programs/tmux/default.nix b/programs/tmux/default.nix deleted file mode 100644 index eb1d2ea..0000000 --- a/programs/tmux/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ pkgs, ... }: - -let - tmuxConfig = builtins.readFile ./tmux.conf; -in -{ - programs.tmux = { - enable = true; - baseIndex = 1; - escapeTime = 10; - historyLimit = 10000; - keyMode = "vi"; - prefix = "C-a"; - terminal = "xterm-256color"; - extraConfig = tmuxConfig; - plugins = with pkgs; [ - { - plugin = tmuxPlugins.resurrect; - extraConfig = "set -g @resurrect-strategy-nvim 'session'"; - } - { - plugin = tmuxPlugins.continuum; - extraConfig = "set -g @continuum-restore 'on'"; - } - { plugin = tmuxPlugins.sensible; } - { plugin = tmuxPlugins.vim-tmux-navigator; } - { plugin = tmuxPlugins.onedark-theme; } - ]; - }; -} diff --git a/programs/tmux/tmux.conf b/programs/tmux/tmux.conf deleted file mode 100644 index e2b72b3..0000000 --- a/programs/tmux/tmux.conf +++ /dev/null @@ -1,110 +0,0 @@ -########################## -# Configuration -########################### - -# use 256 xterm for pretty colors. This enables same colors from iTerm2 within tmux. -# This is recommended in neovim :healthcheck -# set -g default-terminal "screen-256color" -# set -ga terminal-overrides ",xterm-256color:Tc" - -# disable mouse -set -g mouse off - -# decrease command delay (increases vim responsiveness) -set -sg escape-time 1 - -# increase repeat time for repeatable commands -set -g repeat-time 1000 - -# start pane index at 1 instead of 0 -setw -g pane-base-index 1 - -# highlight window when it has new activity -setw -g monitor-activity on -set -g visual-activity on - -# re-number windows when one is closed -set -g renumber-windows on - -# enable pbcopy and pbpaste -# https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/blob/master/README.md -# set-option -g default-command "reattach-to-user-namespace -l zsh" - -########################### -# Key Bindings -########################### - -# Tmux prefix -# Current solution is to keep the default -# and have term map C-; to C-b. This is the nicest -# bind I've found and this is the only way to enable it in tmux -# unbind C-b -# set -g prefix C-a -# bind C-a send-prefix - -# Copy vim style -# create 'v' alias for selecting text -bind Escape copy-mode -bind C-[ copy-mode -bind -T copy-mode-vi 'v' send -X begin-selection -# copy with 'enter' or 'y' and send to mac os clipboard: http://goo.gl/2Bfn8 -unbind -T copy-mode-vi Enter -bind -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" -bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" -# paste -bind p paste-buffer -# paste from system clipboard MacOS -# bind C-v run \"tmux set-buffer \"$(reattach-to-user-namespace pbpaste)\"; tmux paste-buffer" - -# panes: window splitting -unbind % -bind | split-window -h -unbind '"' -bind - split-window -v - -# Switch panes with hjkl -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - -# Quick window selection -bind -r C-h select-window -t :- -bind -r C-l select-window -t :+ - -# resize panes -bind -r H resize-pane -L 5 -bind -r J resize-pane -D 5 -bind -r K resize-pane -U 5 -bind -r L resize-pane -R 5 - -## Quickly switch panes -unbind ^J -bind ^J select-pane -t :.+ - -############################ -## Status Bar -############################ - -# enable UTF-8 support in status bar -set -gq status-utf8 on - -# center the status bar -set -g status-justify centre - -# show session, window, pane in left status bar -set -g status-left-length 40 -set -g status-left '#[fg=green] #S #[fg=yellow]#I/#[fg=cyan]#P ' - -# update status bar info -set -g status-interval 60 - -########################### -# Colors -########################### - -# onedark color scheme -set -g @onedark_widgets "#(date +%s)" -set -g @onedark_time_format "%I:%M %p" -set -g @onedark_date_format "%D" - diff --git a/programs/wezterm/default.nix b/programs/wezterm/default.nix deleted file mode 100644 index c63a016..0000000 --- a/programs/wezterm/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ ... }: - -let - weztermConfig = builtins.readFile ./wezterm.lua; -in -{ - programs.wezterm = { - enable = true; - extraConfig = weztermConfig; - }; -} diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua deleted file mode 100644 index 4fc0f07..0000000 --- a/programs/wezterm/wezterm.lua +++ /dev/null @@ -1,134 +0,0 @@ -local wezterm = require 'wezterm' -local mux = wezterm.mux -local act = wezterm.action - -wezterm.on('update-right-status', function(window, pane) - window:set_right_status(window:active_workspace()) -end) - -wezterm.on('gui-startup', function(cmd) - local tab, pane, window = mux.spawn_window(cmd or {}) - window:gui_window():maximize() - pane:split { size = 0.2 } -end) - -return { - adjust_window_size_when_changing_font_size = false, - check_for_updates = false, - -- color_scheme = "Gruvbox Light"; - -- color_scheme = 'tokyonight', - color_scheme = 'Tango (terminal.sexy)', - -- default_gui_startup_args = { 'connect', 'unix' }, - font = wezterm.font_with_fallback { - 'SF Mono', - 'JetBrains Mono', - 'Fira Code', - }, - font_size = 16, - dpi = 144, - scrollback_lines = 50000, - initial_cols = 400, - initial_rows = 80, - leader = { key = 'b', mods = 'SUPER', timeout_milliseconds = 1000 }, - default_prog = { '/etc/profiles/per-user/salar/bin/fish' }, - window_decorations = 'RESIZE', - -- window_background_image = '/Users/salar/.config/nixpkgs/programs/wezterm/bridge.jpg', - ssh_domains = { - { - name = 'hcloud1', - remote_address = 'hcloud1.softinio.net', - username = 'salar', - remote_wezterm_path = '/run/current-system/sw/bin/wezterm', - }, - }, - unix_domains = { - { - name = 'unix', - proxy_command = { 'nc', '-U', '/Users/salar/.local/share/wezterm/sock' }, - }, - }, - keys = { - { key = '-', mods = 'LEADER', action = wezterm.action { SplitVertical = { domain = 'CurrentPaneDomain' } } }, - { key = "'", mods = 'LEADER', action = wezterm.action { SplitHorizontal = { domain = 'CurrentPaneDomain' } } }, - { key = 'k', mods = 'SUPER', action = act.TogglePaneZoomState }, - { key = 'h', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Left' } }, - { key = 'j', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Down' } }, - { key = 'k', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Up' } }, - { key = 'l', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Right' } }, - { key = 'H', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Left', 5 } } }, - { key = 'J', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Down', 5 } } }, - { key = 'K', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Up', 5 } } }, - { key = 'L', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Right', 5 } } }, - { key = '1', mods = 'LEADER', action = wezterm.action { ActivateTab = 0 } }, - { key = '2', mods = 'LEADER', action = wezterm.action { ActivateTab = 1 } }, - { key = '3', mods = 'LEADER', action = wezterm.action { ActivateTab = 2 } }, - { key = '4', mods = 'LEADER', action = wezterm.action { ActivateTab = 3 } }, - { key = '5', mods = 'LEADER', action = wezterm.action { ActivateTab = 4 } }, - { key = '6', mods = 'LEADER', action = wezterm.action { ActivateTab = 5 } }, - { key = '7', mods = 'LEADER', action = wezterm.action { ActivateTab = 6 } }, - { key = '8', mods = 'LEADER', action = wezterm.action { ActivateTab = 7 } }, - { key = '9', mods = 'LEADER', action = wezterm.action { ActivateTab = 8 } }, - { key = '&', mods = 'LEADER', action = wezterm.action { CloseCurrentTab = { confirm = true } } }, - { key = 'x', mods = 'LEADER', action = wezterm.action { CloseCurrentPane = { confirm = true } } }, - { key = 'Enter', mods = 'ALT', action = act.DisableDefaultAssignment }, - { key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' }, - { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' }, - { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, - { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, - { key = 'h', mods = 'SUPER', action = act { SpawnCommandInNewTab = { cwd = wezterm.home_dir } } }, - { key = 'q', mods = 'SUPER', action = act.QuitApplication }, - { key = 'i', mods = 'CTRL|SHIFT', action = act.SwitchToWorkspace }, - { - key = '8', - mods = 'ALT', - action = wezterm.action_callback(function(window, pane) - -- Here you can dynamically construct a longer list if needed - - local home = wezterm.home_dir - local workspaces = { - { id = home, label = 'Home' }, - { id = home .. '/Projects', label = 'My Projects' }, - { id = home .. '/OpenSource', label = 'Open Source Projects' }, - { id = home .. '/.config/nixpkgs', label = 'Nix Config' }, - { id = home .. '/Projects/scalanews', label = 'Scala News' }, - } - - window:perform_action( - act.InputSelector { - action = wezterm.action_callback(function(inner_window, inner_pane, id, label) - if not id and not label then - wezterm.log_info 'cancelled' - else - wezterm.log_info('id = ' .. id) - wezterm.log_info('label = ' .. label) - inner_window:perform_action( - act.SwitchToWorkspace { - name = label, - spawn = { - label = 'Workspace: ' .. label, - cwd = id, - }, - }, - inner_pane - ) - end - end), - title = 'Choose Workspace', - choices = workspaces, - fuzzy = true, - fuzzy_description = 'Fuzzy find and/or make a workspace', - }, - pane - ) - end), - }, - { - key = '9', - mods = 'ALT', - action = act.ShowLauncherArgs { - flags = 'FUZZY|WORKSPACES', - }, - }, - { key = 'Tab', mods = 'CTRL', action = wezterm.action.DisableDefaultAssignment }, - }, -} From 98bb3499c9f954fef3930288a1e873cc5e7c3b4a Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 23 Mar 2025 13:09:18 -0700 Subject: [PATCH 147/177] update kitty font size, updates to zed config --- home.nix | 2 +- programs/zed/default.nix | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/home.nix b/home.nix index fc90df3..29494c0 100644 --- a/home.nix +++ b/home.nix @@ -200,7 +200,7 @@ themeFile = "Tango_Dark"; font = { name = "SF Mono"; - size = 16; + size = 13; }; settings = { copy_on_select = true; diff --git a/programs/zed/default.nix b/programs/zed/default.nix index 40a4f30..c33b90d 100644 --- a/programs/zed/default.nix +++ b/programs/zed/default.nix @@ -20,13 +20,28 @@ in version = "2"; default_model = { provider = "copilot_chat"; - model = "gpt-4o"; + model = "claude-3-7-sonnet"; }; }; features = { copilot = true; }; language_models = { + anthropic = { + available_models = [ + { + provider = "anthropic"; + name = "claude-3-7-sonnet"; + max_tokens = 128000; + cache_configuration = { + max_cache_anchors = 10; + min_total_token = 10000; + should_speculate = false; + }; + } + ]; + version = "1"; + }; openai = { available_models = [ { @@ -36,15 +51,15 @@ in } { provider = "openai"; - name = "gpt-4o-mini"; + name = "o3-mini"; max_tokens = 128000; } ]; - version = "2"; + version = "1"; }; }; telemetry.metrics = false; - theme = "Andromeda"; + theme = "Gruvbox Dark"; vim_mode = true; }; }; From d92d7b10f3abb3f4cb6baf2f15d907925ee8b592 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 23 Mar 2025 17:23:59 -0700 Subject: [PATCH 148/177] Improvements to kitty conf to support hyperlinks --- home.nix | 20 -------------------- programs/default.nix | 1 + programs/fish/default.nix | 1 + programs/kitty/default.nix | 32 ++++++++++++++++++++++++++++++++ programs/kitty/open-actions.conf | 10 ++++++++++ 5 files changed, 44 insertions(+), 20 deletions(-) create mode 100644 programs/kitty/default.nix create mode 100644 programs/kitty/open-actions.conf diff --git a/home.nix b/home.nix index 29494c0..0913ae7 100644 --- a/home.nix +++ b/home.nix @@ -192,26 +192,6 @@ enable = true; }; - programs.kitty = { - enable = true; - keybindings = { - "kitty_mod+enter" = "new_window_with_cwd"; - }; - themeFile = "Tango_Dark"; - font = { - name = "SF Mono"; - size = 13; - }; - settings = { - copy_on_select = true; - enabled_layouts = "*"; - macos_quit_when_last_window_closed = true; - scrollback_lines = 100000; - kitty_mod = "cmd+option"; - }; - shellIntegration.enableFishIntegration = true; - }; - programs.lazygit = { enable = true; }; diff --git a/programs/default.nix b/programs/default.nix index 5ea8a15..119bbd3 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -4,6 +4,7 @@ ./fish ./git ./jujutsu + ./kitty ./vscode ./zed ] diff --git a/programs/fish/default.nix b/programs/fish/default.nix index 6c068de..6227bc3 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -81,6 +81,7 @@ giscala = "gitignore scala,vim,java,sbt > .gitignore"; gforksync = "git fetch upstream && git merge upstream/master && git push origin master"; grep = "grep --color=auto"; + hg = "kitten hyperlinked-grep"; lg = "lazygit"; new-sbt = "sbt new scala/scala-seed.g8"; nixc = "cd ~/.config/nixpkgs"; diff --git a/programs/kitty/default.nix b/programs/kitty/default.nix new file mode 100644 index 0000000..9dbdb37 --- /dev/null +++ b/programs/kitty/default.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: + +let + actionsConfig = builtins.readFile ./open-actions.conf; +in +{ + programs.kitty = { + enable = true; + keybindings = { + "kitty_mod+enter" = "new_window_with_cwd"; + "f1" = "create_marker"; + "f2" = "remove_marker"; + "ctrl+p" = "scroll_to_mark prev"; + "ctrl+n" = "scroll_to_mark next"; + }; + themeFile = "Tango_Dark"; + font = { + name = "SF Mono"; + size = 13; + }; + settings = { + copy_on_select = true; + enabled_layouts = "*"; + kitty_mod = "cmd+option"; + macos_quit_when_last_window_closed = true; + scrollback_lines = 100000; + }; + shellIntegration.enableFishIntegration = true; + }; + + home.file.".config/kitty/open-actions.conf".text = actionsConfig; +} diff --git a/programs/kitty/open-actions.conf b/programs/kitty/open-actions.conf new file mode 100644 index 0000000..e8271b2 --- /dev/null +++ b/programs/kitty/open-actions.conf @@ -0,0 +1,10 @@ +# Open any file with a fragment in vim, fragments are generated +# by the hyperlink-grep kitten and nothing else so far. +protocol file +fragment_matches [0-9]+ +action launch --type=overlay --cwd=current vim +${FRAGMENT} -- ${FILE_PATH} + +# Open text files without fragments in the editor +protocol file +mime text/* +action launch --type=overlay --cwd=current -- ${EDITOR} -- ${FILE_PATH} From 5b5336952d2bd61f1f7e170054556ad2b97c8365 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 24 Mar 2025 01:12:53 -0700 Subject: [PATCH 149/177] zed and helix theme update, kitty add more actions --- home.nix | 2 +- programs/kitty/open-actions.conf | 36 +++++++++++++++++++++++++++++--- programs/zed/default.nix | 2 +- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/home.nix b/home.nix index 0913ae7..df6f1b4 100644 --- a/home.nix +++ b/home.nix @@ -175,7 +175,7 @@ programs.helix = { enable = true; settings = { - theme = "tokyonight"; + theme = "gruvbox_dark_hard"; editor.file-picker.hidden = false; }; }; diff --git a/programs/kitty/open-actions.conf b/programs/kitty/open-actions.conf index e8271b2..3c172ab 100644 --- a/programs/kitty/open-actions.conf +++ b/programs/kitty/open-actions.conf @@ -2,9 +2,39 @@ # by the hyperlink-grep kitten and nothing else so far. protocol file fragment_matches [0-9]+ -action launch --type=overlay --cwd=current vim +${FRAGMENT} -- ${FILE_PATH} +action launch --type=overlay --cwd=current hx +${FRAGMENT} -- ${FILE_PATH} # Open text files without fragments in the editor protocol file -mime text/* -action launch --type=overlay --cwd=current -- ${EDITOR} -- ${FILE_PATH} +ext txt,md,conf,ini,log,sh,py,js,html,css,xml,json,yaml,yml,scala,sbt,java,go,py,toml,sql,swift,nix,lua +action launch --type=overlay --cwd=current -- hx -- ${FILE_PATH} + +# Open any image in the full kitty window by clicking on it +protocol file +mime image/* +action launch --type=overlay kitten icat --hold -- ${FILE_PATH} + +# Tail a log file (*.log) in a new OS Window and reduce its font size +protocol file +ext log +action launch --title ${FILE} --type=os-window tail -f -- ${FILE_PATH} +action change_font_size current -2 + +# Open script files +protocol file +ext sh,command,tool +action launch --hold --type=os-window kitty +shebang $FILE_PATH $SHELL + +# Open shell specific script files +protocol file +ext fish,bash,zsh +action launch --hold --type=os-window kitty +shebang $FILE_PATH __ext__ + +# Open directories +protocol file +mime inode/directory +action launch --type=os-window --cwd -- $FILE_PATH + +# Open ssh URLs with ssh command +protocol ssh +action launch --type=os-window ssh -- $URL diff --git a/programs/zed/default.nix b/programs/zed/default.nix index c33b90d..a6517ce 100644 --- a/programs/zed/default.nix +++ b/programs/zed/default.nix @@ -59,7 +59,7 @@ in }; }; telemetry.metrics = false; - theme = "Gruvbox Dark"; + theme = "Gruvbox Dark Hard"; vim_mode = true; }; }; From 14738b7a949c6201862fd3ccd047b5e65ffa8eb9 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 24 Mar 2025 01:20:15 -0700 Subject: [PATCH 150/177] revert helix theme change --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index df6f1b4..0913ae7 100644 --- a/home.nix +++ b/home.nix @@ -175,7 +175,7 @@ programs.helix = { enable = true; settings = { - theme = "gruvbox_dark_hard"; + theme = "tokyonight"; editor.file-picker.hidden = false; }; }; From 364a0f9e1b9cc25f622ee821dba813e31bf6274f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 29 Mar 2025 17:37:50 -0700 Subject: [PATCH 151/177] Flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index d4975f3..dc2b51b 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1742670145, - "narHash": "sha256-xQ2F9f+ICAGBp/nNv3ddD2U4ZvzuLOci0u/5lyMXPvk=", + "lastModified": 1743267068, + "narHash": "sha256-G7866vbO5jgqMcYJzgbxej40O6mBGQMGt6gM0himjoA=", "owner": "nix-community", "repo": "home-manager", - "rev": "63e77d09a133ac641a0c204e7cfb0c97e133706d", + "rev": "b431496538b0e294fbe44a1441b24ae8195c63f0", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1742595055, - "narHash": "sha256-cEetDber6LF8W4ThmRc4rwKs/o8y2GH0pUdX7e6CnAQ=", + "lastModified": 1743221873, + "narHash": "sha256-i8VPNm4UBsC3Ni6VwjojVJvCpS9GZ4vPrpFRtCGJzBs=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "e9f41de2a81f04390afd106959adf352a207628f", + "rev": "53d0f0ed11487a4476741fde757d0feabef4cc4e", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1742578646, - "narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=", + "lastModified": 1743076231, + "narHash": "sha256-yQugdVfi316qUfqzN8JMaA2vixl+45GxNm4oUfXlbgw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "94c4dbe77c0740ebba36c173672ca15a7926c993", + "rev": "6c5963357f3c1c840201eda129a99d455074db04", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1742422364, - "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", + "lastModified": 1743095683, + "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", + "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1742679909, - "narHash": "sha256-t00hcdDSGhMKd6hhQo0zOkQ5mTOPlim4HKX3l3l0b9M=", + "lastModified": 1743285136, + "narHash": "sha256-x5a/2rh++gnkEe1CoGSJ24dHqydoGNJrmNYKxSiWd7Q=", "owner": "nix-community", "repo": "nur", - "rev": "635036ec7ec1fce48d678acfbc84b83c4d44ec41", + "rev": "5cff75c20f69e7ed9889349f54e085f382c8b6ff", "type": "github" }, "original": { From 2fb1986be90677f1b990c11e59b94f3b1e056b09 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 30 Mar 2025 00:11:05 -0700 Subject: [PATCH 152/177] improve kitty tab bar --- programs/kitty/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/programs/kitty/default.nix b/programs/kitty/default.nix index 9dbdb37..df22a0b 100644 --- a/programs/kitty/default.nix +++ b/programs/kitty/default.nix @@ -19,11 +19,14 @@ in size = 13; }; settings = { + active_tab_background = "#FF0"; copy_on_select = true; - enabled_layouts = "*"; + enabled_layouts = "Tall,*"; kitty_mod = "cmd+option"; macos_quit_when_last_window_closed = true; scrollback_lines = 100000; + tab_bar_style = "powerline"; + tab_powerline_style = "slanted"; }; shellIntegration.enableFishIntegration = true; }; From 42d60d9f1923d1855eb21d4cd549f87fa0f8a2df Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 5 Apr 2025 17:52:58 -0700 Subject: [PATCH 153/177] flake update, vscode enable agent features, kitty layout config --- flake.lock | 30 +++++++++++++++--------------- programs/aider/default.nix | 2 +- programs/kitty/default.nix | 2 +- programs/vscode/default.nix | 8 ++++++++ 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index dc2b51b..f15b50c 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1743267068, - "narHash": "sha256-G7866vbO5jgqMcYJzgbxej40O6mBGQMGt6gM0himjoA=", + "lastModified": 1743869639, + "narHash": "sha256-Xhe3whfRW/Ay05z9m1EZ1/AkbV1yo0tm1CbgjtCi4rQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "b431496538b0e294fbe44a1441b24ae8195c63f0", + "rev": "d094c6763c6ddb860580e7d3b4201f8f496a6836", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1743221873, - "narHash": "sha256-i8VPNm4UBsC3Ni6VwjojVJvCpS9GZ4vPrpFRtCGJzBs=", + "lastModified": 1743496612, + "narHash": "sha256-emPWa5lmKbnyuj8c1mSJUkzJNT+iJoU9GMcXwjp2oVM=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "53d0f0ed11487a4476741fde757d0feabef4cc4e", + "rev": "73d59580d01e9b9f957ba749f336a272869c42dd", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743076231, - "narHash": "sha256-yQugdVfi316qUfqzN8JMaA2vixl+45GxNm4oUfXlbgw=", + "lastModified": 1743689281, + "narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c5963357f3c1c840201eda129a99d455074db04", + "rev": "2bfc080955153be0be56724be6fa5477b4eefabb", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743095683, - "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1743285136, - "narHash": "sha256-x5a/2rh++gnkEe1CoGSJ24dHqydoGNJrmNYKxSiWd7Q=", + "lastModified": 1743892397, + "narHash": "sha256-KYcVP8nU4E8xtk0IqIuSP46wzArcWZ+7Mf/BY6aZxU8=", "owner": "nix-community", "repo": "nur", - "rev": "5cff75c20f69e7ed9889349f54e085f382c8b6ff", + "rev": "b68d8ff58b2a40a595c6985588ad98cba415eb40", "type": "github" }, "original": { diff --git a/programs/aider/default.nix b/programs/aider/default.nix index 7a30917..9f2863c 100644 --- a/programs/aider/default.nix +++ b/programs/aider/default.nix @@ -5,7 +5,7 @@ let in { home.packages = with pkgs; [ - aider-chat.withPlaywright + aider-chat-full ]; home.file.".aider.conf.yml".text = aiderConfig; } diff --git a/programs/kitty/default.nix b/programs/kitty/default.nix index df22a0b..a8ba4e0 100644 --- a/programs/kitty/default.nix +++ b/programs/kitty/default.nix @@ -21,7 +21,7 @@ in settings = { active_tab_background = "#FF0"; copy_on_select = true; - enabled_layouts = "Tall,*"; + enabled_layouts = "Tall,Stack,Horizontal,*"; kitty_mod = "cmd+option"; macos_quit_when_last_window_closed = true; scrollback_lines = 100000; diff --git a/programs/vscode/default.nix b/programs/vscode/default.nix index f0a33de..0e4fbad 100644 --- a/programs/vscode/default.nix +++ b/programs/vscode/default.nix @@ -53,6 +53,14 @@ let "git.confirmSync" = true; "git.rebaseWhenSync" = true; "github.gitProtocol" = "ssh"; + "github.copilot.chat.codesearch.enabled" = true; + "github.copilot.nextEditSuggestions.enabled" = true; + "github.copilot.chat.editor.temporalContext.enabled" = true; + "github.copilot.chat.generateTests.codeLens" = true; + "github.copilot.chat.languageContext.typescript.enabled" = true; + "github.copilot.chat.newWorkspaceCreation.enabled" = true; + "github.copilot.chat.search.semanticTextResults" = true; + "githubPullRequests.experimental.chat" = true; "githubPullRequests.notifications" = "pullRequests"; "githubPullRequests.pullBranch" = "never"; "markdown.extension.preview.autoShowPreviewToSide" = true; From 63e13b17d04cc26e5f9e143697f54db0a4e8e986 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Wed, 9 Apr 2025 23:51:21 -0700 Subject: [PATCH 154/177] flake update and add wezterm back --- flake.lock | 30 ++++----- programs/default.nix | 1 + programs/wezterm/default.nix | 11 +++ programs/wezterm/wezterm.lua | 127 +++++++++++++++++++++++++++++++++++ 4 files changed, 154 insertions(+), 15 deletions(-) create mode 100644 programs/wezterm/default.nix create mode 100644 programs/wezterm/wezterm.lua diff --git a/flake.lock b/flake.lock index f15b50c..9a49683 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1743869639, - "narHash": "sha256-Xhe3whfRW/Ay05z9m1EZ1/AkbV1yo0tm1CbgjtCi4rQ=", + "lastModified": 1744223888, + "narHash": "sha256-reYpe0J1J+wH34JFs7KKp0G5nP7+XSQ5z0ZLFJcfJr8=", "owner": "nix-community", "repo": "home-manager", - "rev": "d094c6763c6ddb860580e7d3b4201f8f496a6836", + "rev": "79461936709b12e17adb9c91dd02d1c66d577f09", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1743496612, - "narHash": "sha256-emPWa5lmKbnyuj8c1mSJUkzJNT+iJoU9GMcXwjp2oVM=", + "lastModified": 1744224272, + "narHash": "sha256-cqePj5nuC7flJWNncaVAFq1YZncU0PSyO0DEqGn+vYc=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "73d59580d01e9b9f957ba749f336a272869c42dd", + "rev": "113883e37d985d26ecb65282766e5719f2539103", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743689281, - "narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=", + "lastModified": 1744157173, + "narHash": "sha256-bWSjxDwq7iVePrhmA7tY2dyMWHuNJo8knkO4y+q4ZkY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2bfc080955153be0be56724be6fa5477b4eefabb", + "rev": "6a39c6e495eefabc935d8ddf66aa45d85b85fa3f", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743583204, - "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", + "lastModified": 1744098102, + "narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", + "rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1743892397, - "narHash": "sha256-KYcVP8nU4E8xtk0IqIuSP46wzArcWZ+7Mf/BY6aZxU8=", + "lastModified": 1744267403, + "narHash": "sha256-tPzYG/n1PP6Bp4MeJfyp9Ng/bQc4vltIBknBBkwLK3I=", "owner": "nix-community", "repo": "nur", - "rev": "b68d8ff58b2a40a595c6985588ad98cba415eb40", + "rev": "cb85fb3dd03d43c2db28dadb43d9bb54857b1150", "type": "github" }, "original": { diff --git a/programs/default.nix b/programs/default.nix index 119bbd3..4ab53ad 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -5,6 +5,7 @@ ./git ./jujutsu ./kitty + ./wezterm ./vscode ./zed ] diff --git a/programs/wezterm/default.nix b/programs/wezterm/default.nix new file mode 100644 index 0000000..c63a016 --- /dev/null +++ b/programs/wezterm/default.nix @@ -0,0 +1,11 @@ +{ ... }: + +let + weztermConfig = builtins.readFile ./wezterm.lua; +in +{ + programs.wezterm = { + enable = true; + extraConfig = weztermConfig; + }; +} diff --git a/programs/wezterm/wezterm.lua b/programs/wezterm/wezterm.lua new file mode 100644 index 0000000..c15ee4a --- /dev/null +++ b/programs/wezterm/wezterm.lua @@ -0,0 +1,127 @@ +local wezterm = require 'wezterm' +local mux = wezterm.mux +local act = wezterm.action + +wezterm.on('update-right-status', function(window, pane) + window:set_right_status(window:active_workspace()) +end) + +wezterm.on('gui-startup', function(cmd) + local tab, pane, window = mux.spawn_window(cmd or {}) + window:gui_window():maximize() + pane:split { size = 0.2 } +end) + +return { + adjust_window_size_when_changing_font_size = false, + check_for_updates = false, + color_scheme = 'Tango (terminal.sexy)', + default_gui_startup_args = { 'connect', 'unix' }, + font = wezterm.font_with_fallback { 'JetBrains Mono', 'Noto Color Emoji' }, + font_size = 12.0, + dpi = 144, + scrollback_lines = 50000, + initial_cols = 400, + initial_rows = 80, + leader = { key = 'b', mods = 'SUPER', timeout_milliseconds = 1000 }, + default_prog = { '/etc/profiles/per-user/salar/bin/fish' }, + window_decorations = 'RESIZE', + ssh_domains = { + { + name = 'hcloud1', + remote_address = 'hcloud1.softinio.net', + username = 'salar', + remote_wezterm_path = '/run/current-system/sw/bin/wezterm', + }, + }, + unix_domains = { + { + name = 'unix', + proxy_command = { 'nc', '-U', '/Users/salar/.local/share/wezterm/sock' }, + }, + }, + keys = { + { key = '-', mods = 'LEADER', action = wezterm.action { SplitVertical = { domain = 'CurrentPaneDomain' } } }, + { key = "'", mods = 'LEADER', action = wezterm.action { SplitHorizontal = { domain = 'CurrentPaneDomain' } } }, + { key = 'k', mods = 'SUPER', action = act.TogglePaneZoomState }, + { key = 'h', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Left' } }, + { key = 'j', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Down' } }, + { key = 'k', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Up' } }, + { key = 'l', mods = 'LEADER', action = wezterm.action { ActivatePaneDirection = 'Right' } }, + { key = 'H', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Left', 5 } } }, + { key = 'J', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Down', 5 } } }, + { key = 'K', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Up', 5 } } }, + { key = 'L', mods = 'LEADER|SHIFT', action = wezterm.action { AdjustPaneSize = { 'Right', 5 } } }, + { key = '1', mods = 'LEADER', action = wezterm.action { ActivateTab = 0 } }, + { key = '2', mods = 'LEADER', action = wezterm.action { ActivateTab = 1 } }, + { key = '3', mods = 'LEADER', action = wezterm.action { ActivateTab = 2 } }, + { key = '4', mods = 'LEADER', action = wezterm.action { ActivateTab = 3 } }, + { key = '5', mods = 'LEADER', action = wezterm.action { ActivateTab = 4 } }, + { key = '6', mods = 'LEADER', action = wezterm.action { ActivateTab = 5 } }, + { key = '7', mods = 'LEADER', action = wezterm.action { ActivateTab = 6 } }, + { key = '8', mods = 'LEADER', action = wezterm.action { ActivateTab = 7 } }, + { key = '9', mods = 'LEADER', action = wezterm.action { ActivateTab = 8 } }, + { key = '&', mods = 'LEADER', action = wezterm.action { CloseCurrentTab = { confirm = true } } }, + { key = 'x', mods = 'LEADER', action = wezterm.action { CloseCurrentPane = { confirm = true } } }, + { key = 'Enter', mods = 'ALT', action = act.DisableDefaultAssignment }, + { key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' }, + { key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' }, + { key = 'n', mods = 'SUPER', action = act.SpawnWindow }, + { key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' }, + { key = 'h', mods = 'SUPER', action = act { SpawnCommandInNewTab = { cwd = wezterm.home_dir } } }, + { key = 'q', mods = 'SUPER', action = act.QuitApplication }, + { key = 'i', mods = 'CTRL|SHIFT', action = act.SwitchToWorkspace }, + { + key = '8', + mods = 'ALT', + action = wezterm.action_callback(function(window, pane) + -- Here you can dynamically construct a longer list if needed + + local home = wezterm.home_dir + local workspaces = { + { id = home, label = 'Home' }, + { id = home .. '/Projects', label = 'My Projects' }, + { id = home .. '/OpenSource', label = 'Open Source Projects' }, + { id = home .. '/.config/nixpkgs', label = 'Nix Config' }, + { id = home .. '/Projects/scalanews', label = 'Scala News' }, + } + + window:perform_action( + act.InputSelector { + action = wezterm.action_callback(function(inner_window, inner_pane, id, label) + if not id and not label then + wezterm.log_info 'cancelled' + else + wezterm.log_info('id = ' .. id) + wezterm.log_info('label = ' .. label) + inner_window:perform_action( + act.SwitchToWorkspace { + name = label, + spawn = { + label = 'Workspace: ' .. label, + cwd = id, + }, + }, + inner_pane + ) + end + end), + title = 'Choose Workspace', + choices = workspaces, + fuzzy = true, + fuzzy_description = 'Fuzzy find and/or make a workspace', + }, + pane + ) + end), + }, + { + key = '9', + mods = 'ALT', + action = act.ShowLauncherArgs { + flags = 'FUZZY|WORKSPACES', + }, + }, + { key = 'Tab', mods = 'CTRL', action = wezterm.action.DisableDefaultAssignment }, + }, +} From dfb394ea214e43cbd724353289118bc0e3164681 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 13 Apr 2025 22:19:45 -0700 Subject: [PATCH 155/177] add tmux back and update --- flake.lock | 30 +++++------ home.nix | 2 + programs/default.nix | 1 + programs/tmux/default.nix | 35 +++++++++++++ programs/tmux/tmux.conf | 102 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 155 insertions(+), 15 deletions(-) create mode 100644 programs/tmux/default.nix create mode 100644 programs/tmux/tmux.conf diff --git a/flake.lock b/flake.lock index 9a49683..a97ff16 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1744223888, - "narHash": "sha256-reYpe0J1J+wH34JFs7KKp0G5nP7+XSQ5z0ZLFJcfJr8=", + "lastModified": 1744735751, + "narHash": "sha256-OPpfgL3qUIbQdbmp1/ZwnlsuTLooHN4or0EABnZTFRY=", "owner": "nix-community", "repo": "home-manager", - "rev": "79461936709b12e17adb9c91dd02d1c66d577f09", + "rev": "db7738e67a101ad945abbcb447e1310147afaf1b", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1744224272, - "narHash": "sha256-cqePj5nuC7flJWNncaVAFq1YZncU0PSyO0DEqGn+vYc=", + "lastModified": 1744478979, + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "113883e37d985d26ecb65282766e5719f2539103", + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744157173, - "narHash": "sha256-bWSjxDwq7iVePrhmA7tY2dyMWHuNJo8knkO4y+q4ZkY=", + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6a39c6e495eefabc935d8ddf66aa45d85b85fa3f", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744098102, - "narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=", + "lastModified": 1744463964, + "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7", + "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744267403, - "narHash": "sha256-tPzYG/n1PP6Bp4MeJfyp9Ng/bQc4vltIBknBBkwLK3I=", + "lastModified": 1744779422, + "narHash": "sha256-CQDbwo7yYV5q0iVJ+h8+jrHmAdES2pEQyL5UeQkProE=", "owner": "nix-community", "repo": "nur", - "rev": "cb85fb3dd03d43c2db28dadb43d9bb54857b1150", + "rev": "d4312945f8ea7252952fcf694f0c6324acac5334", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 0913ae7..319e4cc 100644 --- a/home.nix +++ b/home.nix @@ -70,6 +70,7 @@ nixfmt-rfc-style nix-prefetch-git nodejs + noto-fonts ollama openssl pandoc @@ -96,6 +97,7 @@ tectonic texlab tig + tmux-sessionizer tokei tree tree-sitter diff --git a/programs/default.nix b/programs/default.nix index 4ab53ad..36307f9 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -5,6 +5,7 @@ ./git ./jujutsu ./kitty + ./tmux ./wezterm ./vscode ./zed diff --git a/programs/tmux/default.nix b/programs/tmux/default.nix new file mode 100644 index 0000000..0fba6c6 --- /dev/null +++ b/programs/tmux/default.nix @@ -0,0 +1,35 @@ +{ pkgs, ... }: + +let + tmuxConfig = builtins.readFile ./tmux.conf; +in +{ + programs.tmux = { + enable = true; + baseIndex = 1; + escapeTime = 10; + historyLimit = 10000; + keyMode = "vi"; + prefix = "C-a"; + terminal = "xterm-256color"; + extraConfig = tmuxConfig; + plugins = with pkgs.tmuxPlugins; [ + sensible + yank + kanagawa + { + plugin = kanagawa; + extraConfig = '' + set -g @kanagawa-theme 'wave' + set -g @kanagawa-plugins "cpu-usage git" + set -g @kanagawa-show-powerline true + set -g @kanagawa-refresh-rate 10 + + set -g status-right " #(tms sessions)" + bind -r '(' switch-client -p\; refresh-client -S + bind -r ')' switch-client -n\; refresh-client -S + ''; + } + ]; + }; +} diff --git a/programs/tmux/tmux.conf b/programs/tmux/tmux.conf new file mode 100644 index 0000000..cfdfa5b --- /dev/null +++ b/programs/tmux/tmux.conf @@ -0,0 +1,102 @@ +########################## +# Configuration +########################### + +# use 256 xterm for pretty colors. This enables same colors from iTerm2 within tmux. +# This is recommended in neovim :healthcheck +# set -g default-terminal "screen-256color" +# set -ga terminal-overrides ",xterm-256color:Tc" + +# disable mouse +set -g mouse off + +# decrease command delay (increases vim responsiveness) +set -sg escape-time 1 + +# increase repeat time for repeatable commands +set -g repeat-time 1000 + +# start pane index at 1 instead of 0 +setw -g pane-base-index 1 + +# highlight window when it has new activity +setw -g monitor-activity on +set -g visual-activity on + +# re-number windows when one is closed +set -g renumber-windows on + +# enable pbcopy and pbpaste +# https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/blob/master/README.md +# set-option -g default-command "reattach-to-user-namespace -l zsh" + +########################### +# Key Bindings +########################### + +# Tmux prefix +# Current solution is to keep the default +# and have term map C-; to C-b. This is the nicest +# bind I've found and this is the only way to enable it in tmux +# unbind C-b +# set -g prefix C-a +# bind C-a send-prefix + +# Copy vim style +# create 'v' alias for selecting text +bind Escape copy-mode +bind C-[ copy-mode +bind -T copy-mode-vi 'v' send -X begin-selection +# copy with 'enter' or 'y' and send to mac os clipboard: http://goo.gl/2Bfn8 +unbind -T copy-mode-vi Enter +bind -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" +bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" +# paste +bind p paste-buffer +# paste from system clipboard MacOS +# bind C-v run \"tmux set-buffer \"$(reattach-to-user-namespace pbpaste)\"; tmux paste-buffer" + +# panes: window splitting +unbind % +bind "'" split-window -h +unbind '"' +bind - split-window -v + +# Switch panes with hjkl +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# Quick window selection +bind -r C-h select-window -t :- +bind -r C-l select-window -t :+ + +# resize panes +bind -r H resize-pane -L 5 +bind -r J resize-pane -D 5 +bind -r K resize-pane -U 5 +bind -r L resize-pane -R 5 + +## Quickly switch panes +unbind ^J +bind ^J select-pane -t :.+ + +############################ +## Status Bar +############################ + +# enable UTF-8 support in status bar +set -gq status-utf8 on + +# center the status bar +set -g status-justify centre + +# show session, window, pane in left status bar +set -g status-left-length 40 +set -g status-left '#[fg=green] #S #[fg=yellow]#I/#[fg=cyan]#P ' + +# update status bar info +set -g status-interval 60 + +set -g default-command /etc/profiles/per-user/salar/bin/fish From e18516161d1de762b3ebe227d2d4a90ed17080bf Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 4 May 2025 21:40:00 -0700 Subject: [PATCH 156/177] nvim update --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 319e4cc..646f7d3 100644 --- a/home.nix +++ b/home.nix @@ -218,6 +218,6 @@ # Neovim Configuration xdg.configFile."nvim".source = builtins.fetchGit { url = "https://code.softinio.com/softinio/nvim-config"; - rev = "e609be92393f89856d850e9cc3aa23c7badf0bee"; + rev = "ba28bef49a6ec11692d5bdb4949fc484139c8fa5"; }; } From 8ac93a2368020a11f0a7e412d9be6c70f73162a4 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 23 May 2025 20:10:29 -0700 Subject: [PATCH 157/177] flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index a97ff16..e192a5e 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1744735751, - "narHash": "sha256-OPpfgL3qUIbQdbmp1/ZwnlsuTLooHN4or0EABnZTFRY=", + "lastModified": 1747978958, + "narHash": "sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "db7738e67a101ad945abbcb447e1310147afaf1b", + "rev": "7419250703fd5eb50e99bdfb07a86671939103ea", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1744478979, - "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", + "lastModified": 1748004251, + "narHash": "sha256-XodjkVWTth3A2JpBqGBkdLD9kkWn94rnv98l3xwKukg=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "43975d782b418ebf4969e9ccba82466728c2851b", + "rev": "33220d4791784e4dd4739edd3f6c028020082f91", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744536153, - "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", + "lastModified": 1747958103, + "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", "owner": "nixos", "repo": "nixpkgs", - "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", + "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1747744144, + "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744779422, - "narHash": "sha256-CQDbwo7yYV5q0iVJ+h8+jrHmAdES2pEQyL5UeQkProE=", + "lastModified": 1748054583, + "narHash": "sha256-l8WbE4TC4FPzfhQ/42A4Dc66AzBtLEa6eOKSbPif+/g=", "owner": "nix-community", "repo": "nur", - "rev": "d4312945f8ea7252952fcf694f0c6324acac5334", + "rev": "5443a0f6823b22dc72fee8aa078af8c712ed6140", "type": "github" }, "original": { From e2b05c0dd8ba1bcd3d080681134150e6b8cee362 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 25 May 2025 16:00:49 -0700 Subject: [PATCH 158/177] flake update and add resurrect tmux plugin --- flake.lock | 30 +++++++++++++++--------------- programs/tmux/default.nix | 11 +++++++++++ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index e192a5e..ee1d955 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1747978958, - "narHash": "sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ=", + "lastModified": 1748182899, + "narHash": "sha256-r6MHSalDFydlUmjorVTSsyhLjIt8VWNtGc5+mffXvFQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "7419250703fd5eb50e99bdfb07a86671939103ea", + "rev": "901f8fef7f349cf8a8e97b3230b22fd592df9160", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1748004251, - "narHash": "sha256-XodjkVWTth3A2JpBqGBkdLD9kkWn94rnv98l3xwKukg=", + "lastModified": 1748149228, + "narHash": "sha256-mmonYFesFo42UUS49Hd0bcbVJRWX/aHBCDYUkkvylf4=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "33220d4791784e4dd4739edd3f6c028020082f91", + "rev": "a9939228f661df370c4094fe85f683e45d761dbe", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747958103, - "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", + "lastModified": 1748123162, + "narHash": "sha256-1fROmP+xlRkSiZ2bTH9JM6b4NUREhCerESEKQBKBkEw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", + "rev": "edb3633f9100d9277d1c9af245a4e9337a980c07", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748054583, - "narHash": "sha256-l8WbE4TC4FPzfhQ/42A4Dc66AzBtLEa6eOKSbPif+/g=", + "lastModified": 1748213329, + "narHash": "sha256-l1SFLYHdA78lYMHJsTneYChey+RTM7IxYy9CcDs71+o=", "owner": "nix-community", "repo": "nur", - "rev": "5443a0f6823b22dc72fee8aa078af8c712ed6140", + "rev": "77bf8fcf8ea307b0247159ab62319c5733bacfd7", "type": "github" }, "original": { diff --git a/programs/tmux/default.nix b/programs/tmux/default.nix index 0fba6c6..e630d77 100644 --- a/programs/tmux/default.nix +++ b/programs/tmux/default.nix @@ -30,6 +30,17 @@ in bind -r ')' switch-client -n\; refresh-client -S ''; } + { + plugin = resurrect; + extraConfig = "set -g @resurrect-strategy-nvim 'session'"; + } + { + plugin = continuum; + extraConfig = '' + set -g @continuum-restore 'on' + set -g @continuum-save-interval '60' # minutes + ''; + } ]; }; } From 9f6f683c6df4ab67485229d04a35ed9b853ccf2e Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 25 May 2025 18:48:28 -0700 Subject: [PATCH 159/177] increase tmux pane resize steps --- programs/tmux/tmux.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/programs/tmux/tmux.conf b/programs/tmux/tmux.conf index cfdfa5b..9aef545 100644 --- a/programs/tmux/tmux.conf +++ b/programs/tmux/tmux.conf @@ -73,10 +73,10 @@ bind -r C-h select-window -t :- bind -r C-l select-window -t :+ # resize panes -bind -r H resize-pane -L 5 -bind -r J resize-pane -D 5 -bind -r K resize-pane -U 5 -bind -r L resize-pane -R 5 +bind -r H resize-pane -L 10 +bind -r J resize-pane -D 10 +bind -r K resize-pane -U 10 +bind -r L resize-pane -R 10 ## Quickly switch panes unbind ^J From 75bd4e07adc0f11f9c985d505086aeed5c2b0a8b Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Mon, 26 May 2025 21:56:46 -0700 Subject: [PATCH 160/177] flake update and add jjui --- flake.lock | 30 +++++++++++++++--------------- home.nix | 1 + 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index ee1d955..9d58ee2 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1748182899, - "narHash": "sha256-r6MHSalDFydlUmjorVTSsyhLjIt8VWNtGc5+mffXvFQ=", + "lastModified": 1748668774, + "narHash": "sha256-fYk/vk4ClmvHIgnGv/5GNRiDLtNCwXo9aLq36L/x+P4=", "owner": "nix-community", "repo": "home-manager", - "rev": "901f8fef7f349cf8a8e97b3230b22fd592df9160", + "rev": "60e4624302d956fe94d3f7d96a560d14d70591b9", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1748149228, - "narHash": "sha256-mmonYFesFo42UUS49Hd0bcbVJRWX/aHBCDYUkkvylf4=", + "lastModified": 1748352827, + "narHash": "sha256-sNUUP6qxGkK9hXgJ+p362dtWLgnIWwOCmiq72LAWtYo=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a9939228f661df370c4094fe85f683e45d761dbe", + "rev": "44a7d0e687a87b73facfe94fba78d323a6686a90", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748123162, - "narHash": "sha256-1fROmP+xlRkSiZ2bTH9JM6b4NUREhCerESEKQBKBkEw=", + "lastModified": 1748568828, + "narHash": "sha256-5O6tAGsPwQyh+0TjqxLRGQ3g0IrF8pTKa8M/W6hwWt0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "edb3633f9100d9277d1c9af245a4e9337a980c07", + "rev": "6bfd7663660ecf5336c1054e9e877824a4f84954", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748026106, - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", + "lastModified": 1748460289, + "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", + "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748213329, - "narHash": "sha256-l1SFLYHdA78lYMHJsTneYChey+RTM7IxYy9CcDs71+o=", + "lastModified": 1748708306, + "narHash": "sha256-wi+7mfLA0IQBtklOF/OC7Zhh3Riv6MH5zYtATlWDjTQ=", "owner": "nix-community", "repo": "nur", - "rev": "77bf8fcf8ea307b0247159ab62319c5733bacfd7", + "rev": "7ef9c6546269642f3a8645bd273388d5761c42da", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 646f7d3..b42ca39 100644 --- a/home.nix +++ b/home.nix @@ -50,6 +50,7 @@ go graphviz jetbrains-mono + jjui jq-lsp luajit lua-language-server From 9bac51f807118aad6fbde0efd93fd18964169107 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 1 Jun 2025 19:41:01 -0700 Subject: [PATCH 161/177] add repo line count alias and update global git ignore list --- programs/fish/default.nix | 1 + programs/git/default.nix | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/programs/fish/default.nix b/programs/fish/default.nix index 6227bc3..39f56c3 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -69,6 +69,7 @@ bf = "broot"; cat = "bat"; du = "dua i"; + linesofcode = "git ls-files | xargs wc -l"; fzfp = "fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"; ping = "prettyping"; ".." = "cd .."; diff --git a/programs/git/default.nix b/programs/git/default.nix index 2d8bf5d..1cc8c45 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -64,9 +64,7 @@ let "*metals.sbt" "*.envrc" # there is lorri, nix-direnv & simple direnv; let people decide "*hie.yaml" # ghcide files - "*.mill-version" # used by metals "*.vscode" - "*.python-version" "result" ]; in From 345254b97e58de292f458e2df83508ed4b97f29d Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 6 Jun 2025 19:23:29 -0700 Subject: [PATCH 162/177] fetch nvim config from github --- home.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index b42ca39..038f7be 100644 --- a/home.nix +++ b/home.nix @@ -217,8 +217,10 @@ }; # Neovim Configuration - xdg.configFile."nvim".source = builtins.fetchGit { - url = "https://code.softinio.com/softinio/nvim-config"; + xdg.configFile."nvim".source = pkgs.fetchFromGitHub { + owner = "softinio"; + repo = "nvim-config"; rev = "ba28bef49a6ec11692d5bdb4949fc484139c8fa5"; + sha256 = "sha256-0I4yOFbcL9peHvKm8I9LXE2R9i54NvdDO5QJ5oPXTkU="; }; } From 8c0fc608daee30f535778d96b136fefb3c28e51c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 14 Jun 2025 10:08:22 -0700 Subject: [PATCH 163/177] dependency updates --- flake.lock | 30 +++++++++++++++--------------- home.nix | 2 ++ programs/fish/default.nix | 3 ++- programs/git/default.nix | 1 + programs/jujutsu/default.nix | 3 +-- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 9d58ee2..01bdc08 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1748668774, - "narHash": "sha256-fYk/vk4ClmvHIgnGv/5GNRiDLtNCwXo9aLq36L/x+P4=", + "lastModified": 1750304462, + "narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=", "owner": "nix-community", "repo": "home-manager", - "rev": "60e4624302d956fe94d3f7d96a560d14d70591b9", + "rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1748352827, - "narHash": "sha256-sNUUP6qxGkK9hXgJ+p362dtWLgnIWwOCmiq72LAWtYo=", + "lastModified": 1749873626, + "narHash": "sha256-1Mc/D/1RwwmDKY59f4IpDBgcQttxffm+4o0m67lQ8hc=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "44a7d0e687a87b73facfe94fba78d323a6686a90", + "rev": "2f140d6ac8840c6089163fb43ba95220c230f22b", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748568828, - "narHash": "sha256-5O6tAGsPwQyh+0TjqxLRGQ3g0IrF8pTKa8M/W6hwWt0=", + "lastModified": 1750215678, + "narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6bfd7663660ecf5336c1054e9e877824a4f84954", + "rev": "5395fb3ab3f97b9b7abca147249fa2e8ed27b192", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748460289, - "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748708306, - "narHash": "sha256-wi+7mfLA0IQBtklOF/OC7Zhh3Riv6MH5zYtATlWDjTQ=", + "lastModified": 1750305956, + "narHash": "sha256-o3Y5v3KmqKOEudWqBKX0utCOMvn/+hbEhWEZklS1Ej0=", "owner": "nix-community", "repo": "nur", - "rev": "7ef9c6546269642f3a8645bd273388d5761c42da", + "rev": "45c311c54cf6b948161b056f07b3e66515273315", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index 038f7be..3e77c96 100644 --- a/home.nix +++ b/home.nix @@ -32,6 +32,7 @@ packages = with pkgs; [ any-nix-shell aspell + ast-grep basedpyright bash-language-server cachix @@ -102,6 +103,7 @@ tokei tree tree-sitter + typst typescript typescript-language-server wget diff --git a/programs/fish/default.nix b/programs/fish/default.nix index 39f56c3..92201d6 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -52,8 +52,9 @@ set -xg FZF_DEFAULT_OPTS "--preview='bat {} --color=always'" \n - set -xg TOOLCHAINS swift + # set -xg TOOLCHAINS swift + set -xg DEVELOPER_DIR "/Library/Developer/CommandLineTools" set -xg OPENAI_API_KEY (cat ~/.openai) set -xg ANTHROPIC_API_KEY (cat ~/.anthropic) ''; diff --git a/programs/git/default.nix b/programs/git/default.nix index 1cc8c45..c4a7a87 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -71,6 +71,7 @@ in { programs.git = { enable = true; + lfs.enable = true; userEmail = "code@softinio.com"; userName = "Salar Rahmanian"; aliases = myAliases; diff --git a/programs/jujutsu/default.nix b/programs/jujutsu/default.nix index 18f6a01..6f4a9c8 100644 --- a/programs/jujutsu/default.nix +++ b/programs/jujutsu/default.nix @@ -17,8 +17,7 @@ in key = "~/.ssh/id_ed25519.pub"; }; ui = { - diff.format = "git"; - diff.tool = [ + diff-formatter = [ "difft" "--color=always" "$left" From a189fe2d2c1c0cfcde4d7ee1f51f3febb98cc7ab Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Thu, 19 Jun 2025 08:36:05 -0700 Subject: [PATCH 164/177] correction to commented out fish config --- programs/fish/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/fish/default.nix b/programs/fish/default.nix index 92201d6..f311ce6 100644 --- a/programs/fish/default.nix +++ b/programs/fish/default.nix @@ -52,7 +52,7 @@ set -xg FZF_DEFAULT_OPTS "--preview='bat {} --color=always'" \n - # set -xg TOOLCHAINS swift + set -xg TOOLCHAINS swift set -xg DEVELOPER_DIR "/Library/Developer/CommandLineTools" set -xg OPENAI_API_KEY (cat ~/.openai) From ad5c5bcd7a144313fca2a5018963f689de68ad23 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 20 Jun 2025 19:13:22 -0700 Subject: [PATCH 165/177] flake update --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 01bdc08..2001c44 100644 --- a/flake.lock +++ b/flake.lock @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1749873626, - "narHash": "sha256-1Mc/D/1RwwmDKY59f4IpDBgcQttxffm+4o0m67lQ8hc=", + "lastModified": 1750325256, + "narHash": "sha256-vvlxGz/waqJ3TGqM/iqXbnEc7/R1qnEXmaBiPaQ1RE0=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "2f140d6ac8840c6089163fb43ba95220c230f22b", + "rev": "0d71cbf88d63e938b37b85b3bf8b238bcf7b39b9", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1750134718, - "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", + "lastModified": 1750365781, + "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", + "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750305956, - "narHash": "sha256-o3Y5v3KmqKOEudWqBKX0utCOMvn/+hbEhWEZklS1Ej0=", + "lastModified": 1750470234, + "narHash": "sha256-D8oigkONATa1o5qNLjxYFJpuWAUN+/R0JmTLkzcNJ8Y=", "owner": "nix-community", "repo": "nur", - "rev": "45c311c54cf6b948161b056f07b3e66515273315", + "rev": "0c1a4c4ad21271cc1194e6cf3d450e1c2dc5da32", "type": "github" }, "original": { From 6bb709935b6e15fd9a874f046b932ed62f4a96db Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 22 Jun 2025 23:41:20 -0700 Subject: [PATCH 166/177] Add harlequin --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 3e77c96..4d2598e 100644 --- a/home.nix +++ b/home.nix @@ -50,6 +50,7 @@ gnupg go graphviz + harlequin jetbrains-mono jjui jq-lsp From cdb838f13ca271de3bdf69b8999a3fdad16c7ff7 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 28 Jun 2025 10:37:04 -0700 Subject: [PATCH 167/177] Update neovim config --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 4d2598e..84ce276 100644 --- a/home.nix +++ b/home.nix @@ -223,7 +223,7 @@ xdg.configFile."nvim".source = pkgs.fetchFromGitHub { owner = "softinio"; repo = "nvim-config"; - rev = "ba28bef49a6ec11692d5bdb4949fc484139c8fa5"; + rev = "618913553a236132e558d9df85200ed0f357dc19"; sha256 = "sha256-0I4yOFbcL9peHvKm8I9LXE2R9i54NvdDO5QJ5oPXTkU="; }; } From 752bdaa98a8a92a77d2d53b7eb1169682223b1d3 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 28 Jun 2025 10:51:02 -0700 Subject: [PATCH 168/177] update nvim config hash and update aider config --- home.nix | 2 +- programs/aider/aider.yml | 35 +---------------------------------- 2 files changed, 2 insertions(+), 35 deletions(-) diff --git a/home.nix b/home.nix index 84ce276..a8410c7 100644 --- a/home.nix +++ b/home.nix @@ -224,6 +224,6 @@ owner = "softinio"; repo = "nvim-config"; rev = "618913553a236132e558d9df85200ed0f357dc19"; - sha256 = "sha256-0I4yOFbcL9peHvKm8I9LXE2R9i54NvdDO5QJ5oPXTkU="; + sha256 = "sha256-aYYR0KvX0vKg13Xn6l+2irJBjrIrlS5aBgkoZ5nn9yE="; }; } diff --git a/programs/aider/aider.yml b/programs/aider/aider.yml index 9ffcfba..a68dbba 100644 --- a/programs/aider/aider.yml +++ b/programs/aider/aider.yml @@ -18,40 +18,7 @@ # Main model: ## Specify the model to use for the main chat -#model: xxx - -## Use claude-3-opus-20240229 model for the main chat -#opus: false - -## Use anthropic/claude-3-7-sonnet-20250219 model for the main chat -sonnet: true - -## Use claude-3-5-haiku-20241022 model for the main chat -#haiku: false - -## Use gpt-4-0613 model for the main chat -#4: false - -## Use gpt-4o model for the main chat -# 4o: true - -## Use gpt-4o-mini model for the main chat -#mini: false - -## Use gpt-4-1106-preview model for the main chat -#4-turbo: false - -## Use gpt-3.5-turbo model for the main chat -#35turbo: false - -## Use deepseek/deepseek-chat model for the main chat -#deepseek: false - -## Use o1-mini model for the main chat -#o1-mini: false - -## Use o1-preview model for the main chat -#o1-preview: false +model: anthropic/claude-sonnet-4-20250514 ######################## # API Keys and settings: From ac52635b26045e91892b62a503798a6373587640 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 29 Jun 2025 09:15:55 -0700 Subject: [PATCH 169/177] Add pyrefly dep --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index a8410c7..b1e97a5 100644 --- a/home.nix +++ b/home.nix @@ -80,6 +80,7 @@ patchelf pngpaste prettyping + pyrefly python3Packages.huggingface-hub python3Packages.jupyterlab rclone From 06e5de1a1afeec05a8f15fc0064198db02ea6b64 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 29 Jun 2025 09:17:34 -0700 Subject: [PATCH 170/177] nixpkgs update to 25.05 --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index b1e97a5..11d32c9 100644 --- a/home.nix +++ b/home.nix @@ -24,7 +24,7 @@ ]; home = { - stateVersion = "24.11"; + stateVersion = "25.05"; sessionVariables = { EDITOR = "nvim"; VISUAL = "$EDITOR"; From bf4c1bdcc400f80b0bd387dc580509c64971794f Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 29 Jun 2025 09:31:31 -0700 Subject: [PATCH 171/177] Update neovim config --- home.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index 11d32c9..0386151 100644 --- a/home.nix +++ b/home.nix @@ -224,7 +224,7 @@ xdg.configFile."nvim".source = pkgs.fetchFromGitHub { owner = "softinio"; repo = "nvim-config"; - rev = "618913553a236132e558d9df85200ed0f357dc19"; - sha256 = "sha256-aYYR0KvX0vKg13Xn6l+2irJBjrIrlS5aBgkoZ5nn9yE="; + rev = "8b34d4fa2ba87e45645e6c061a21af7bce522edd"; + sha256 = "sha256-3kDi1Cav2gN2UIXpUcG7Fv08fDbvnL1lJJHYd6A1/k0="; }; } From b5b716e569058b02217f6dd460c67c6707ea6c82 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 29 Jun 2025 10:55:52 -0700 Subject: [PATCH 172/177] update nvim config --- home.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index 0386151..5d4601e 100644 --- a/home.nix +++ b/home.nix @@ -224,7 +224,7 @@ xdg.configFile."nvim".source = pkgs.fetchFromGitHub { owner = "softinio"; repo = "nvim-config"; - rev = "8b34d4fa2ba87e45645e6c061a21af7bce522edd"; - sha256 = "sha256-3kDi1Cav2gN2UIXpUcG7Fv08fDbvnL1lJJHYd6A1/k0="; + rev = "9e390d7b96198ff2525c3ba9ab5ab985e62198df"; + sha256 = "sha256-5o42JAxYkgSkhZbDimqKkoKFFFLuA4hLKFHWtcY0hbk="; }; } From 0b63b86d166dadb42044d391674e636871c859c5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sun, 29 Jun 2025 10:59:34 -0700 Subject: [PATCH 173/177] Remove latex support --- home.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home.nix b/home.nix index 5d4601e..89a2ef0 100644 --- a/home.nix +++ b/home.nix @@ -98,8 +98,6 @@ stylua swift-format tealdeer - tectonic - texlab tig tmux-sessionizer tokei From 41eee47c4abe36aaca9a3a130e83d7cf21fa0cc7 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 19 Jul 2025 22:40:28 -0700 Subject: [PATCH 174/177] Add glodal python and update nvim --- home.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index 89a2ef0..4757d05 100644 --- a/home.nix +++ b/home.nix @@ -81,6 +81,7 @@ pngpaste prettyping pyrefly + python3Full python3Packages.huggingface-hub python3Packages.jupyterlab rclone @@ -222,7 +223,7 @@ xdg.configFile."nvim".source = pkgs.fetchFromGitHub { owner = "softinio"; repo = "nvim-config"; - rev = "9e390d7b96198ff2525c3ba9ab5ab985e62198df"; - sha256 = "sha256-5o42JAxYkgSkhZbDimqKkoKFFFLuA4hLKFHWtcY0hbk="; + rev = "9a41e9cc3c4f855142a130f945ec31703ac76737"; + sha256 = "sha256-+VWOQMpUF1VdUvBhASvdgPk5h8F3GKDk525opMkwomE="; }; } From be5338f24b41ca6c72c8200af2df17f0b983fab0 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 19 Jul 2025 23:02:39 -0700 Subject: [PATCH 175/177] remove harlequin and flake update --- flake.lock | 54 ++++++++++++++++-------------------------------------- home.nix | 1 - 2 files changed, 16 insertions(+), 39 deletions(-) diff --git a/flake.lock b/flake.lock index 2001c44..7980fb0 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1750304462, - "narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=", + "lastModified": 1752814804, + "narHash": "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=", "owner": "nix-community", "repo": "home-manager", - "rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c", + "rev": "d0300c8808e41da81d6edfc202f3d3833c157daf", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1750325256, - "narHash": "sha256-vvlxGz/waqJ3TGqM/iqXbnEc7/R1qnEXmaBiPaQ1RE0=", + "lastModified": 1751313918, + "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "0d71cbf88d63e938b37b85b3bf8b238bcf7b39b9", + "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750215678, - "narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=", + "lastModified": 1752900028, + "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5395fb3ab3f97b9b7abca147249fa2e8ed27b192", + "rev": "6b4955211758ba47fac850c040a27f23b9b4008f", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1750365781, - "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", + "lastModified": 1752687322, + "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", + "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", "type": "github" }, "original": { @@ -96,15 +96,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_2", - "treefmt-nix": "treefmt-nix" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1750470234, - "narHash": "sha256-D8oigkONATa1o5qNLjxYFJpuWAUN+/R0JmTLkzcNJ8Y=", + "lastModified": 1752990058, + "narHash": "sha256-lqoPK4dT60sUte+Uh2J2JkW5thFTd7mp/NkHgw9DFUw=", "owner": "nix-community", "repo": "nur", - "rev": "0c1a4c4ad21271cc1194e6cf3d450e1c2dc5da32", + "rev": "cd08fc29df7cd3a3e6b1c3935238649627820b21", "type": "github" }, "original": { @@ -120,27 +119,6 @@ "nixpkgs": "nixpkgs", "nur": "nur" } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } } }, "root": "root", diff --git a/home.nix b/home.nix index 4757d05..501ace7 100644 --- a/home.nix +++ b/home.nix @@ -50,7 +50,6 @@ gnupg go graphviz - harlequin jetbrains-mono jjui jq-lsp From 2dba5a2de18dc0ad66dd44eda8b45d05837524b5 Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 23 Aug 2025 09:46:43 -0700 Subject: [PATCH 176/177] Flake update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 7980fb0..1fb9c57 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1752814804, - "narHash": "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=", + "lastModified": 1755914636, + "narHash": "sha256-VJ+Gm6YsHlPfUCpmRQxvdiZW7H3YPSrdVOewQHAhZN8=", "owner": "nix-community", "repo": "home-manager", - "rev": "d0300c8808e41da81d6edfc202f3d3833c157daf", + "rev": "8b55a6ac58b678199e5bba701aaff69e2b3281c0", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1751313918, - "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=", + "lastModified": 1755825449, + "narHash": "sha256-XkiN4NM9Xdy59h69Pc+Vg4PxkSm9EWl6u7k6D5FZ5cM=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf", + "rev": "8df64f819698c1fee0c2969696f54a843b2231e8", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752900028, - "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", + "lastModified": 1755829505, + "narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6b4955211758ba47fac850c040a27f23b9b4008f", + "rev": "f937f8ecd1c70efd7e9f90ba13dfb400cf559de4", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1752687322, - "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "lastModified": 1755615617, + "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "rev": "20075955deac2583bb12f07151c2df830ef346b4", "type": "github" }, "original": { @@ -99,11 +99,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1752990058, - "narHash": "sha256-lqoPK4dT60sUte+Uh2J2JkW5thFTd7mp/NkHgw9DFUw=", + "lastModified": 1755963829, + "narHash": "sha256-2tON0rztjaw0oS8bxrJ/FOgfU9HHYmEK//kkHwl6UIs=", "owner": "nix-community", "repo": "nur", - "rev": "cd08fc29df7cd3a3e6b1c3935238649627820b21", + "rev": "b820a5b8019264f623f3ed36f2153df997020647", "type": "github" }, "original": { From 46163441628281d417ad0acfe2a43a6f2fa4fc9c Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Sat, 30 Aug 2025 11:02:20 -0700 Subject: [PATCH 177/177] flake update and add ghostty --- flake.lock | 24 ++++++++++++------------ flake.nix | 3 ++- home.nix | 1 - programs/default.nix | 1 + programs/ghostty/default.nix | 28 ++++++++++++++++++++++++++++ 5 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 programs/ghostty/default.nix diff --git a/flake.lock b/flake.lock index 1fb9c57..23a741f 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1755914636, - "narHash": "sha256-VJ+Gm6YsHlPfUCpmRQxvdiZW7H3YPSrdVOewQHAhZN8=", + "lastModified": 1756496801, + "narHash": "sha256-IYIsnPy+cJxe8RbDHBrCtfJY0ry2bG2H7WvMcewiGS8=", "owner": "nix-community", "repo": "home-manager", - "rev": "8b55a6ac58b678199e5bba701aaff69e2b3281c0", + "rev": "77a71380c38fb2a440b4b5881bbc839f6230e1cb", "type": "github" }, "original": { @@ -63,11 +63,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1755829505, - "narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=", + "lastModified": 1756438964, + "narHash": "sha256-yo473URkISSmBZeIE1o6Mf94VRSn5qFVFS9phb7l6eg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f937f8ecd1c70efd7e9f90ba13dfb400cf559de4", + "rev": "c73522789a3c7552b1122773d6eaa34e1491cc1c", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1755615617, - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", + "lastModified": 1756386758, + "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20075955deac2583bb12f07151c2df830ef346b4", + "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", "type": "github" }, "original": { @@ -99,11 +99,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1755963829, - "narHash": "sha256-2tON0rztjaw0oS8bxrJ/FOgfU9HHYmEK//kkHwl6UIs=", + "lastModified": 1756568538, + "narHash": "sha256-nnFpWhG/jtRzI2yJKKgokhefFELHTUw9fgqcTrdX6aM=", "owner": "nix-community", "repo": "nur", - "rev": "b820a5b8019264f623f3ed36f2153df997020647", + "rev": "e8f97acd1ededca7944f1fe1b659b61003131ce2", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 63506ba..6908110 100644 --- a/flake.nix +++ b/flake.nix @@ -78,11 +78,12 @@ in { darwinConfigurations.salarm3max = nix-darwin.lib.darwinSystem { - system = "aarc64-darwin"; + system = "aarch64-darwin"; modules = [ m3maxConfiguration home-manager.darwinModules.home-manager { + home-manager.backupFileExtension = "backup"; home-manager.useUserPackages = true; home-manager.users.salar = homeManagerConfFor ./home.nix; } diff --git a/home.nix b/home.nix index 501ace7..e8a3dbb 100644 --- a/home.nix +++ b/home.nix @@ -62,7 +62,6 @@ metals multimarkdown mypy - neofetch neovim nerd-fonts.fira-code nil diff --git a/programs/default.nix b/programs/default.nix index 36307f9..97af51d 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -2,6 +2,7 @@ ./aider ./broot ./fish + ./ghostty ./git ./jujutsu ./kitty diff --git a/programs/ghostty/default.nix b/programs/ghostty/default.nix new file mode 100644 index 0000000..bf2778e --- /dev/null +++ b/programs/ghostty/default.nix @@ -0,0 +1,28 @@ +{ pkgs, ... }: +let + my_settings = { + auto-update = "off"; + copy-on-select = "clipboard"; + font-family = "SF Mono"; + font-size = 16; + macos-titlebar-style = "transparent"; + mouse-hide-while-typing = true; + split-divider-color = "orange"; + theme = "Builtin Tango Dark"; + window-inherit-working-directory = true; + window-save-state = "always"; + working-directory = "home"; + keybind = [ + "shift+enter=text:\n" + ]; + }; +in +{ + programs.ghostty = { + enable = true; + enableFishIntegration = true; + installVimSyntax = true; + package = pkgs.ghostty-bin; + settings = my_settings; + }; +}