From b6f1e6152b176de8fe39b52429176aec0b0d4580 Mon Sep 17 00:00:00 2001 From: Thiago Thalisson Date: Sat, 5 Jul 2025 09:47:04 -0300 Subject: [PATCH 1/2] Fixes readme.md --- README.md | 143 +----------------------------------------------------- 1 file changed, 2 insertions(+), 141 deletions(-) diff --git a/README.md b/README.md index 99ea68b..0707001 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,12 @@ # 🔖 `atomic.nvf` > Leia em [português do Brasil](README.pt-br.md). - - [✨ `Features`](#-features) - [🚀 `Getting Started`](#-getting-started) - [`Prerequisites`](#prerequisites) - [`Installation`](#installation) - [`Usage In A Flake`](#usage-in-a-flake) - [📂 `Project Structure`](#-project-structure) -- [✨ `Funcionalidades`](#-funcionalidades) -- [🚀 `Começando`](#-começando) - - [`Pré-requisitos`](#pré-requisitos) - - [`Instalação`](#instalação) - - [`Uso em um Flake`](#uso-em-um-flake) - [🛠️ `Usage`](#️-usage) - [`Keybindings`](#keybindings) - [🎨 `Customization & Expansion`](#-customization--expansion) @@ -30,7 +24,6 @@ - Welcome to `atomic.nvf`, a fully declarative and reproducible Neovim configuration managed with [Nix](https://nixos.org/) and the [nvf](https://github.com/notashelf/nvf) framework. This setup provides a cohesive, customized, and efficient coding environment, all packaged within a single Nix Flake for easy installation and management.
@@ -150,139 +143,7 @@ The repository is organized to separate different configuration concerns into is * `flake.nix`: The central flake that defines all inputs, dependencies, and builds the final Neovim package using `nvf`. * `modules/`: Contains all the modular configuration files that are imported by the flake. * `controls/`: Defines keybindings and control-related plugins. - * `defaults.nix`: Sets default Neovim opti# 🔖 `atomic.nvf` -> Read in [english](README.md). - -- [✨ `Features`](#-features) -- [🚀 `Getting Started`](#-getting-started) - - [`Prerequisites`](#prerequisites) - - [`Installation`](#installation) - - [`Usage In A Flake`](#usage-in-a-flake) -- [📂 `Project Structure`](#-project-structure) -- [✨ `Funcionalidades`](#-funcionalidades) -- [🚀 `Começando`](#-começando) - - [`Pré-requisitos`](#pré-requisitos) - - [`Instalação`](#instalação) - - [`Uso em um Flake`](#uso-em-um-flake) -- [🛠️ `Usage`](#️-usage) - - [`Keybindings`](#keybindings) - - [🎨 `Customization & Expansion`](#-customization--expansion) -- [🤝 `Contributing`](#-contributing) -- [📜 `License`](#-license) - -![Nix Flake](https://img.shields.io/badge/Nix-Flake-blue?style=for-the-badge&logo=NixOS) -![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) -![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge) - -Bem-vindo ao `atomic.nvf`, uma configuração do Neovim totalmente declarativa e reprodutível, gerenciada com [Nix](https://nixos.org/) e o framework [nvf](https://github.com/notashelf/nvf). Este setup proporciona um ambiente de codificação coeso, customizado e eficiente, tudo empacotado em um único Nix Flake para fácil instalação e gerenciamento. - -
- Notion-BetterShot - Yorha-BetterShot -
- -## ✨ `Funcionalidades` - -Esta configuração do Neovim integra um conjunto de plugins e ferramentas poderosas, todas configuradas declarativamente para funcionar em perfeita harmonia: - -* **Gerenciamento de Sistema**: Gerenciado declarativamente pelo **Nix** com uma estrutura baseada em Flakes para builds reprodutíveis. -* **UI & Temas**: - * **Esquema de Cores**: Um tema limpo `solarized-nvim`. - * **Barra de Status**: Um tema `solarized_light` correspondente para o `lualine`. - * **Explorador de Arquivos**: `neo-tree` integrado para navegação no sistema de arquivos. - * **Dicas de Atalhos**: `which-key` habilitado para exibir os atalhos de teclado disponíveis. -* **Ferramentas Principais**: - * **Buscador Fuzzy**: `Telescope` configurado para encontrar arquivos, busca "live grep", navegar por buffers e mais. - * **Terminal Integrado**: `toggleterm-nvim` fornece um terminal flutuante dentro do Neovim. -* **Suporte a Linguagens**: Suporte aprimorado e pronto para uso para múltiplas linguagens: - * **Nix**: Suporte avançado incluindo `treesitter`, servidor LSP `nil`, diagnósticos com `statix` e `deadnix`, e formatação com `alejandra`. - * **Python**: Inclui `treesitter`, LSP via `pyright`, formatação com `black`, e suporte a DAP através do `debugpy`. - * **Rust**: Vem com `treesitter`, LSP `rust-analyzer`, formatação `rustfmt`, `lldb` para DAP, e integração com `crates.nvim`. - * **TypeScript/JavaScript**: Oferece `treesitter`, `ts_ls` para LSP, `prettier` para formatação, diagnósticos com `eslint_d`, e um tradutor de erros de TypeScript. -* **Automação**: - * Formatação automática para arquivos `.nix, .ts, .js, .jsx, .tsx, .rs, .py` ao salvar. - -## 🚀 `Começando` - -### `Pré-requisitos` - -Para usar esta configuração, você precisará de: - -* Um sistema Linux com o **Nix Package Manager** instalado. -* **Flakes** habilitados na sua configuração do Nix. -* `git` para clonar o repositório. - -### `Instalação` - -1. **Clone o Repositório** - ```bash - git clone [https://gitlab.com/atfpersonalfiles/atomic.nvf.git](https://gitlab.com/atfpersonalfiles/atomic.nvf.git) - cd atomic.nvf - ``` - -2. **Compile e Execute** - Simplesmente use o comando `nix run` no diretório raiz do projeto. Isso irá construir toda a configuração do Neovim definida no `flake.nix` e iniciá-la como uma aplicação independente. - ```bash - nix run - # Ou - nix run .#default - ``` - -### `Uso em um Flake` -> Alternativamente, você pode substituir a configuração do pacote `neovim` para ser aberto usando `atomic.nvf`. -1. Adicione o repositório como uma entrada (input), saída (output) e dentro do seu host você pode instalá-lo como um pacote. - - Veja o exemplo a seguir. -```nix -{ - description = "Sua configuração de sistema"; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; - atomic-nvf = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "gitlab:atfpersonalfiles/atomic.nvf"; - }; - - home-manager = { - url = "github:nix-community/home-manager/release-25.05"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; - - outputs = { - nixpkgs, - home-manager, - atomic-nvf, - }: let - system = "x86_64-linux"; - pkgs = import nixpkgs { - inherit system; - }; - in { - nixosConfigurations = { - yourhost = nixpkgs.lib.nixosSystem { - inherit system; - modules = [ - ( - {pkgs, ...}: { - environment.systemPackages = [ - atomic-nvf.packages.${pkgs.stdenv.system}.default - ]; - } - ) - ./configuration.nix - ]; - }; - }; - - homeConfigurations.youruser = home-manager.lib.homeManagerConfiguration { - pkgs = pkgs; - modules = [ - ./home.nix - ]; - }; - }; -}ons. + * `defaults.nix`: Sets default Neovim options. * `languages/`: Contains language-specific configurations for LSP, DAP, and formatters. * `plugins/`: Manages general-purpose plugins like Telescope and ToggleTerm. * `ui/`: Handles visual elements like the colorscheme and file tree. @@ -329,4 +190,4 @@ Contributions are welcome! If you have ideas for improving this setup, feel free ## 📜 `License` -This project is licensed under the MIT License. See the `LICENSE` file for details. +This project is licensed under the [GNU GENERAL PUBLIC LICENSE V3](LICENSE.md). See [Choose A License](https://choosealicense.com/licenses/gpl-3.0/) to understand it's implications. -- GitLab From 851aa156a50e8f5feb06fae1f535cd5901193d74 Mon Sep 17 00:00:00 2001 From: Thiago Thalisson Date: Sat, 5 Jul 2025 09:47:31 -0300 Subject: [PATCH 2/2] Changes formatter for python --- modules/languages/python.nix | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/modules/languages/python.nix b/modules/languages/python.nix index 5a49e03..da0ac1b 100644 --- a/modules/languages/python.nix +++ b/modules/languages/python.nix @@ -2,30 +2,24 @@ config, pkgs, ... -}: let - pyWithDebug = pkgs.python311.withPackages (ps: with ps; [ps.debugpy]); -in { +}: { config.vim.languages.python = { enable = true; - treesitter = { - enable = true; - }; + treesitter.enable = true; - lsp = { - enable = true; - server = "pyright"; - }; + lsp.enable = true; format = { enable = true; - type = "black"; + type = "ruff"; # Use Ruff's built-in formatter + package = pkgs.ruff; # Explicitly set ruff package }; dap = { enable = true; debugger = "debugpy"; - package = pyWithDebug; + package = pkgs.python311.withPackages (ps: with ps; [ps.debugpy]); }; }; } -- GitLab