From a057d9bcc7054247a09d46027bd94ad001c1d569 Mon Sep 17 00:00:00 2001 From: Deepak Mallubhotla Date: Mon, 24 Mar 2025 04:12:00 -0500 Subject: [PATCH] fmt: reformat --- alejandra.toml | 1 - flake.nix | 94 +++--- fonts/default.nix | 8 +- home/deepak/home.nix | 443 +++++++++++++------------ home/deepak/neovim/init-vim.nix | 3 +- hosts/commonWSL-configuration.nix | 12 +- hosts/hosts.nix | 15 +- hosts/maxos/configuration.nix | 10 +- hosts/maxos/hardware-configuration.nix | 12 +- hosts/nixosEggYoke/configuration.nix | 8 +- hosts/nixosWSL/configuration.nix | 8 +- overlays/default.nix | 81 ++--- treefmt.nix | 17 +- 13 files changed, 368 insertions(+), 344 deletions(-) delete mode 100644 alejandra.toml diff --git a/alejandra.toml b/alejandra.toml deleted file mode 100644 index 581a5c4..0000000 --- a/alejandra.toml +++ /dev/null @@ -1 +0,0 @@ -indentation = "Tabs" diff --git a/flake.nix b/flake.nix index fe332ec..72d15b1 100644 --- a/flake.nix +++ b/flake.nix @@ -54,52 +54,56 @@ }; }; - outputs = { - self, - systems, - nixpkgs, - cmp-vimtex, - spaceport-nvim, - nomodoro, - ... - } @ inputs: let - customPackageOverlay = - (import ./overlays/default.nix { - inherit cmp-vimtex; - inherit spaceport-nvim; - inherit inputs; - inherit nomodoro; - parrot-nvim = inputs.parrot-nvim; - }) - .overlay; - # Small tool to iterate over each systems - eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); + outputs = + { + self, + systems, + nixpkgs, + cmp-vimtex, + spaceport-nvim, + nomodoro, + ... + }@inputs: + let + customPackageOverlay = + (import ./overlays/default.nix { + inherit cmp-vimtex; + inherit spaceport-nvim; + inherit inputs; + inherit nomodoro; + parrot-nvim = inputs.parrot-nvim; + }).overlay; + # Small tool to iterate over each systems + eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); - # Eval the treefmt modules from ./treefmt.nix - treefmtEval = eachSystem (pkgs: inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix); - in { - nixosConfigurations = ( - import ./hosts/hosts.nix { - inherit inputs; - inherit customPackageOverlay; - } - ); + # Eval the treefmt modules from ./treefmt.nix + treefmtEval = eachSystem (pkgs: inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix); + in + { + nixosConfigurations = ( + import ./hosts/hosts.nix { + inherit inputs; + inherit customPackageOverlay; + } + ); - formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); - # for `nix flake check` - checks = eachSystem (pkgs: { - formatting = treefmtEval.${pkgs.system}.config.build.check self; - }); + formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); + # for `nix flake check` + checks = eachSystem (pkgs: { + formatting = treefmtEval.${pkgs.system}.config.build.check self; + }); - devShells = eachSystem (pkgs: { - default = pkgs.mkShell { - buildInputs = with pkgs; [ - kubernetes-helm - kubectl - jq - stern - ]; - }; - }); - }; + devShells = eachSystem (pkgs: { + default = pkgs.mkShell { + buildInputs = with pkgs; [ + kubernetes-helm + kubectl + jq + stern + nixfmt-rfc-style + alejandra + ]; + }; + }); + }; } diff --git a/fonts/default.nix b/fonts/default.nix index db1f09c..675dad5 100644 --- a/fonts/default.nix +++ b/fonts/default.nix @@ -1,4 +1,7 @@ -{pkgs ? import {}}: let +{ + pkgs ? import { }, +}: +let custom-fonts = pkgs.stdenvNoCC.mkDerivation { pname = "input"; version = "1.0.2"; @@ -16,6 +19,7 @@ description = "Input DJR font"; }; }; -in { +in +{ inherit custom-fonts; } diff --git a/home/deepak/home.nix b/home/deepak/home.nix index e8933f5..7fb5158 100644 --- a/home/deepak/home.nix +++ b/home/deepak/home.nix @@ -4,73 +4,76 @@ specialArgs, lib, ... -}: let +}: +let pkgs-unstable = specialArgs.nixpkgs-unstable; in - # default_python = pkgs-unstable.python313; - { - programs.home-manager.enable = true; - home.packages = - [ - pkgs.hello - # (pkgs.writeScriptBin "nixFlakes" '' - # exec ${pkgs.nixVersions.git}/bin/nix --experimental-features "nix-command flakes" "$@" - # '') - pkgs.cachix - pkgs.attic-client - pkgs.kubectl - pkgs.bat - pkgs.eza - pkgs.fd - pkgs.ripgrep - pkgs.just +# default_python = pkgs-unstable.python313; +{ + programs.home-manager.enable = true; + home.packages = + [ + pkgs.hello + # (pkgs.writeScriptBin "nixFlakes" '' + # exec ${pkgs.nixVersions.git}/bin/nix --experimental-features "nix-command flakes" "$@" + # '') + pkgs.cachix + pkgs.attic-client + pkgs.kubectl + pkgs.bat + pkgs.eza + pkgs.fd + pkgs.ripgrep + pkgs.just - # cli markdown tool - pkgs.glow + # cli markdown tool + pkgs.glow - # lsps - pkgs.nil - # pkgs.nodePackages.pyright - # pkgs.pyright + # lsps + pkgs.nil + # pkgs.nodePackages.pyright + # pkgs.pyright - pkgs.thefuck - pkgs.fzf - pkgs.sops - pkgs.age - pkgs.ydiff - pkgs.delta + pkgs.thefuck + pkgs.fzf + pkgs.sops + pkgs.age + pkgs.ydiff + pkgs.delta - pkgs-unstable.claude-code - # default_python - # pkgs-unstable.uv - # pkgs-unstable.nodejs + pkgs-unstable.claude-code + # default_python + # pkgs-unstable.uv + # pkgs-unstable.nodejs - # From our claude bundle - pkgs.custom-servers.arxiv-mcp-server - pkgs.custom-servers.basic-memory-server - pkgs.custom-servers.mcp-text-editor - ] - ++ pkgs.lib.optionals specialArgs.withGUI [ - pkgs.discord - pkgs.obsidian - pkgs.audacity - pkgs.nextcloud-client - pkgs.libreoffice-qt6-fresh - ]; - - home.homeDirectory = "/home/deepak"; - home.username = "deepak"; - - # required, was previously default - home.stateVersion = "18.09"; - - home.sessionPath = [ - "$HOME/.local/bin" + # From our claude bundle + pkgs.custom-servers.arxiv-mcp-server + pkgs.custom-servers.basic-memory-server + pkgs.custom-servers.mcp-text-editor + ] + ++ pkgs.lib.optionals specialArgs.withGUI [ + pkgs.discord + pkgs.obsidian + pkgs.audacity + pkgs.nextcloud-client + pkgs.libreoffice-qt6-fresh ]; - home.sessionVariables = let + home.homeDirectory = "/home/deepak"; + home.username = "deepak"; + + # required, was previously default + home.stateVersion = "18.09"; + + home.sessionPath = [ + "$HOME/.local/bin" + ]; + + home.sessionVariables = + let win_home_dir = specialArgs.win_home_dir or "/mnt/c/Users/Deepak"; - in { + in + { # Namespace our own nixconf variables with DPK # Set a common directory for Windows for WSL installs @@ -83,189 +86,189 @@ in # UV_PYTHON = "${default_python}"; }; - programs.direnv.enable = true; - programs.direnv.nix-direnv.enable = true; + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; - xdg.enable = true; + xdg.enable = true; - services.nextcloud-client = pkgs.lib.mkIf specialArgs.withGUI { - enable = true; + services.nextcloud-client = pkgs.lib.mkIf specialArgs.withGUI { + enable = true; + }; + + programs.git = { + enable = true; + userName = "Deepak Mallubhotla"; + userEmail = "dmallubhotla+github@gmail.com"; + signing = { + key = specialArgs.gitSigningKey; + signByDefault = true; }; - - programs.git = { - enable = true; - userName = "Deepak Mallubhotla"; - userEmail = "dmallubhotla+github@gmail.com"; - signing = { - key = specialArgs.gitSigningKey; - signByDefault = true; + extraConfig = { + core = { + fileMode = false; }; - extraConfig = { - core = { - fileMode = false; - }; - init = { - defaultBranch = "master"; - }; + init = { + defaultBranch = "master"; }; - includes = [ - # this allows us to have a local gitconfig maybe? - {path = "~/.gitconfig.local";} - ]; }; + includes = [ + # this allows us to have a local gitconfig maybe? + { path = "~/.gitconfig.local"; } + ]; + }; - programs.neovim = { - enable = true; - package = pkgs-unstable.neovim-unwrapped; - defaultEditor = true; - vimAlias = true; + programs.neovim = { + enable = true; + package = pkgs-unstable.neovim-unwrapped; + defaultEditor = true; + vimAlias = true; - plugins = with pkgs.vimPlugins; [ - { - plugin = vimtex; - config = "let g:nix_recommended_style = 0"; - } - vim-nix - # plenary and stuff for telescope - plenary-nvim - telescope-nvim - nvim-treesitter - telescope-fzf-native-nvim - telescope-file-browser-nvim - # need fzf for parrot - fzf-lua - ctrlp-vim - # lsp stuff - lsp-zero-nvim - nvim-cmp - cmp-nvim-lsp - cmp_luasnip - nvim-lspconfig + plugins = with pkgs.vimPlugins; [ + { + plugin = vimtex; + config = "let g:nix_recommended_style = 0"; + } + vim-nix + # plenary and stuff for telescope + plenary-nvim + telescope-nvim + nvim-treesitter + telescope-fzf-native-nvim + telescope-file-browser-nvim + # need fzf for parrot + fzf-lua + ctrlp-vim + # lsp stuff + lsp-zero-nvim + nvim-cmp + cmp-nvim-lsp + cmp_luasnip + nvim-lspconfig - vim-tmux-navigator - # vim-vinegar - oil-nvim + vim-tmux-navigator + # vim-vinegar + oil-nvim - wiki-vim - vim-markdown - cmp-buffer - # vim-airline - vim-fugitive - flash-nvim - gitsigns-nvim - friendly-snippets - luasnip - which-key-nvim + wiki-vim + vim-markdown + cmp-buffer + # vim-airline + vim-fugitive + flash-nvim + gitsigns-nvim + friendly-snippets + luasnip + which-key-nvim - overseer-nvim + overseer-nvim - # prettiness - lualine-nvim - goyo-vim - limelight-vim - nui-nvim - zen-mode-nvim - twilight-nvim + # prettiness + lualine-nvim + goyo-vim + limelight-vim + nui-nvim + zen-mode-nvim + twilight-nvim - # color schemes - rose-pine - kanagawa-nvim - nightfox-nvim + # color schemes + rose-pine + kanagawa-nvim + nightfox-nvim - # custom plugins from flakes - pkgs.customVimPlugins.cmp-vimtex - pkgs.customVimPlugins.spaceport-nvim - pkgs.customVimPlugins.nomodoro - pkgs.customVimPlugins.parrot-nvim - pkgs.customVimPlugins.nvim-web-devicons + # custom plugins from flakes + pkgs.customVimPlugins.cmp-vimtex + pkgs.customVimPlugins.spaceport-nvim + pkgs.customVimPlugins.nomodoro + pkgs.customVimPlugins.parrot-nvim + pkgs.customVimPlugins.nvim-web-devicons - # syntax highlighting - vim-just - ]; - extraConfig = import ./neovim/init-vim.nix {inherit config;}; + # syntax highlighting + vim-just + ]; + extraConfig = import ./neovim/init-vim.nix { inherit config; }; + }; + + programs.thefuck.enable = true; + + programs.zsh = { + enable = true; + shellAliases = { + doo = "./do.sh"; + wttr = "curl wttr.in"; + gcd = "_t=$(git rev-parse --show-toplevel) && cd \"$_t\" && pwd"; }; - - programs.thefuck.enable = true; - - programs.zsh = { + history = { + size = 10000; + path = "${lib.removePrefix "/home/deepak/" config.xdg.dataHome}/zsh/history"; + }; + oh-my-zsh = { enable = true; - shellAliases = { - doo = "./do.sh"; - wttr = "curl wttr.in"; - gcd = "_t=$(git rev-parse --show-toplevel) && cd \"$_t\" && pwd"; - }; - history = { - size = 10000; - path = "${lib.removePrefix "/home/deepak/" config.xdg.dataHome}/zsh/history"; - }; - oh-my-zsh = { - enable = true; - plugins = [ - "poetry" - "themes" - "emoji-clock" - "screen" - "ssh-agent" - ]; - theme = "random"; - }; plugins = [ - { - name = "sd"; - src = pkgs.fetchFromGitHub { - owner = "ianthehenry"; - repo = "sd"; - rev = "ecd1ab8d3fc3a829d8abfb8bf1e3722c9c99407b"; - sha256 = "0fm1r8w73vaab5r9dj5jdxsfc7pbddxf4dvvasfq8rry2dxaf7sy"; - }; - } - { - name = "zsh-z"; - src = pkgs.fetchFromGitHub { - owner = "agkozak"; - repo = "zsh-z"; - rev = "b5e61d03a42a84e9690de12915a006b6745c2a5f"; - sha256 = "1gsgmsvl1sl9m3yfapx6bp0y15py8610kywh56bgsjf9wxkrc3nl"; - }; - } - pkgs.customZshPlugins.zsh-completions + "poetry" + "themes" + "emoji-clock" + "screen" + "ssh-agent" ]; - initExtra = '' - eval "$(${pkgs.direnv}/bin/direnv hook zsh)" - ''; + theme = "random"; }; - - programs.tmux = { - enable = true; - historyLimit = 100000; - clock24 = true; - keyMode = "vi"; - prefix = "M-,"; - plugins = [ - pkgs.tmuxPlugins.vim-tmux-navigator - pkgs.tmuxPlugins.better-mouse-mode - pkgs.tmuxPlugins.sensible - # pkgs.tmuxPlugins.tmux-powerline - - pkgs.tmuxPlugins.power-theme - ]; - extraConfig = '' - set-option -g status-position top - ''; - }; - - sops = { - age.keyFile = "/home/deepak/.config/sops/age/keys.txt"; # must have no password! - # It's also possible to use a ssh key, but only when it has no password: - #age.sshKeyPaths = [ "/home/user/path-to-ssh-key" ]; - defaultSopsFile = ./secrets.yaml; - - secrets = { - anthropic_api_key = { - path = "${config.sops.defaultSymlinkPath}/anthropic_api_key"; + plugins = [ + { + name = "sd"; + src = pkgs.fetchFromGitHub { + owner = "ianthehenry"; + repo = "sd"; + rev = "ecd1ab8d3fc3a829d8abfb8bf1e3722c9c99407b"; + sha256 = "0fm1r8w73vaab5r9dj5jdxsfc7pbddxf4dvvasfq8rry2dxaf7sy"; }; - hello = {}; - newkey = {}; + } + { + name = "zsh-z"; + src = pkgs.fetchFromGitHub { + owner = "agkozak"; + repo = "zsh-z"; + rev = "b5e61d03a42a84e9690de12915a006b6745c2a5f"; + sha256 = "1gsgmsvl1sl9m3yfapx6bp0y15py8610kywh56bgsjf9wxkrc3nl"; + }; + } + pkgs.customZshPlugins.zsh-completions + ]; + initExtra = '' + eval "$(${pkgs.direnv}/bin/direnv hook zsh)" + ''; + }; + + programs.tmux = { + enable = true; + historyLimit = 100000; + clock24 = true; + keyMode = "vi"; + prefix = "M-,"; + plugins = [ + pkgs.tmuxPlugins.vim-tmux-navigator + pkgs.tmuxPlugins.better-mouse-mode + pkgs.tmuxPlugins.sensible + # pkgs.tmuxPlugins.tmux-powerline + + pkgs.tmuxPlugins.power-theme + ]; + extraConfig = '' + set-option -g status-position top + ''; + }; + + sops = { + age.keyFile = "/home/deepak/.config/sops/age/keys.txt"; # must have no password! + # It's also possible to use a ssh key, but only when it has no password: + #age.sshKeyPaths = [ "/home/user/path-to-ssh-key" ]; + defaultSopsFile = ./secrets.yaml; + + secrets = { + anthropic_api_key = { + path = "${config.sops.defaultSymlinkPath}/anthropic_api_key"; }; + hello = { }; + newkey = { }; }; - } + }; +} diff --git a/home/deepak/neovim/init-vim.nix b/home/deepak/neovim/init-vim.nix index ed90fe0..f585555 100644 --- a/home/deepak/neovim/init-vim.nix +++ b/home/deepak/neovim/init-vim.nix @@ -1,4 +1,5 @@ -{config}: '' +{ config }: +'' inoremap jj inoremap kk diff --git a/hosts/commonWSL-configuration.nix b/hosts/commonWSL-configuration.nix index a43711f..340e842 100644 --- a/hosts/commonWSL-configuration.nix +++ b/hosts/commonWSL-configuration.nix @@ -6,9 +6,11 @@ modulesPath, hostname, ... -}: let - custom-fonts = import ../fonts {inherit pkgs;}; -in { +}: +let + custom-fonts = import ../fonts { inherit pkgs; }; +in +{ imports = [ "${modulesPath}/profiles/minimal.nix" ]; @@ -38,8 +40,8 @@ in { ''; nix.settings = { - trusted-substituters = ["http://attic.baklava"]; - trusted-public-keys = ["systems:tvbHIThn7MAwvgMSiYR3ULVlL6cBrA40afqGuextnNQ="]; + trusted-substituters = [ "http://attic.baklava" ]; + trusted-public-keys = [ "systems:tvbHIThn7MAwvgMSiYR3ULVlL6cBrA40afqGuextnNQ=" ]; }; nixpkgs.overlays = [ diff --git a/hosts/hosts.nix b/hosts/hosts.nix index 2f9d287..a4e143e 100644 --- a/hosts/hosts.nix +++ b/hosts/hosts.nix @@ -1,18 +1,21 @@ { inputs, customPackageOverlay, - # ... -}: let +# ... +}: +let linuxSystem = "x86_64-linux"; lib = inputs.nixpkgs.lib; nixpkgs-unstable = import inputs.nixpkgs { system = linuxSystem; - config.allowUnfreePredicate = pkg: + config.allowUnfreePredicate = + pkg: builtins.elem (lib.getName pkg) [ "claude-code" ]; }; -in { +in +{ "maxos" = inputs.nixpkgs-24-11.lib.nixosSystem { system = linuxSystem; specialArgs = { @@ -33,7 +36,7 @@ in { }; home-manager.useGlobalPkgs = true; home-manager.users.deepak = { - imports = [../home/deepak/home.nix]; + imports = [ ../home/deepak/home.nix ]; }; home-manager.sharedModules = [ inputs.sops-nix.homeManagerModules.sops @@ -95,7 +98,7 @@ in { }; home-manager.useGlobalPkgs = true; home-manager.users.deepak = { - imports = [../home/deepak/home.nix]; + imports = [ ../home/deepak/home.nix ]; }; home-manager.sharedModules = [ inputs.sops-nix.homeManagerModules.sops diff --git a/hosts/maxos/configuration.nix b/hosts/maxos/configuration.nix index a50b2e7..f7c4cb4 100644 --- a/hosts/maxos/configuration.nix +++ b/hosts/maxos/configuration.nix @@ -5,9 +5,11 @@ pkgs, customPackageOverlay, ... -}: let - custom-fonts = import ../../fonts {inherit pkgs;}; -in { +}: +let + custom-fonts = import ../../fonts { inherit pkgs; }; +in +{ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix @@ -150,7 +152,7 @@ in { # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; - networking.firewall.allowedUDPPorts = [62532]; + networking.firewall.allowedUDPPorts = [ 62532 ]; # Or disable the firewall altogether. # networking.firewall.enable = false; diff --git a/hosts/maxos/hardware-configuration.nix b/hosts/maxos/hardware-configuration.nix index cfa374d..8827453 100644 --- a/hosts/maxos/hardware-configuration.nix +++ b/hosts/maxos/hardware-configuration.nix @@ -6,7 +6,8 @@ lib, modulesPath, ... -}: { +}: +{ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -18,19 +19,20 @@ "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = []; + boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" "wl" ]; - boot.extraModulePackages = [config.boot.kernelPackages.broadcom_sta]; + boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; fileSystems."/" = { device = "/dev/disk/by-uuid/6d9433c6-2dab-4936-a924-d0a205381189"; fsType = "ext4"; }; - boot.initrd.luks.devices."nixosroot".device = "/dev/disk/by-uuid/3b0d4c02-d9e5-44ab-8461-30797547ed70"; + boot.initrd.luks.devices."nixosroot".device = + "/dev/disk/by-uuid/3b0d4c02-d9e5-44ab-8461-30797547ed70"; fileSystems."/boot" = { device = "/dev/disk/by-uuid/67E3-17ED"; @@ -38,7 +40,7 @@ }; swapDevices = [ - {device = "/dev/disk/by-uuid/1e0f60e9-cf43-451d-8466-81887f27c7cf";} + { device = "/dev/disk/by-uuid/1e0f60e9-cf43-451d-8466-81887f27c7cf"; } ]; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; diff --git a/hosts/nixosEggYoke/configuration.nix b/hosts/nixosEggYoke/configuration.nix index 1446a87..2e5e3f3 100644 --- a/hosts/nixosEggYoke/configuration.nix +++ b/hosts/nixosEggYoke/configuration.nix @@ -3,9 +3,11 @@ customPackageOverlay, modulesPath, ... -}: let - custom-fonts = import ../../fonts {inherit pkgs;}; -in { +}: +let + custom-fonts = import ../../fonts { inherit pkgs; }; +in +{ imports = [ "${modulesPath}/profiles/minimal.nix" ]; diff --git a/hosts/nixosWSL/configuration.nix b/hosts/nixosWSL/configuration.nix index 0805009..6675d60 100644 --- a/hosts/nixosWSL/configuration.nix +++ b/hosts/nixosWSL/configuration.nix @@ -3,9 +3,11 @@ customPackageOverlay, modulesPath, ... -}: let - custom-fonts = import ../../fonts {inherit pkgs;}; -in { +}: +let + custom-fonts = import ../../fonts { inherit pkgs; }; +in +{ imports = [ "${modulesPath}/profiles/minimal.nix" ]; diff --git a/overlays/default.nix b/overlays/default.nix index 2279e5c..2559ba6 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -4,49 +4,54 @@ nomodoro, parrot-nvim, inputs, -}: let - pluginoverlay = _final: prev: let - cmpVimtexPlugin = prev.vimUtils.buildVimPlugin { - src = cmp-vimtex; - name = "cmp-vimtex"; - }; - spaceportNvimPlugin = prev.vimUtils.buildVimPlugin { - src = spaceport-nvim; - name = "spaceport-nvim"; - }; - nomodoroNvimPlugin = prev.vimUtils.buildVimPlugin { - src = nomodoro; - name = "nomodoro"; - }; +}: +let + pluginoverlay = + _final: prev: + let + cmpVimtexPlugin = prev.vimUtils.buildVimPlugin { + src = cmp-vimtex; + name = "cmp-vimtex"; + }; + spaceportNvimPlugin = prev.vimUtils.buildVimPlugin { + src = spaceport-nvim; + name = "spaceport-nvim"; + }; + nomodoroNvimPlugin = prev.vimUtils.buildVimPlugin { + src = nomodoro; + name = "nomodoro"; + }; - parrotNvimPlugin = prev.vimUtils.buildVimPlugin { - src = parrot-nvim; - name = "parrot-nvim"; - }; + parrotNvimPlugin = prev.vimUtils.buildVimPlugin { + src = parrot-nvim; + name = "parrot-nvim"; + }; - nvimWebDeviconPlugin = prev.vimUtils.buildVimPlugin { - src = inputs.nvim-web-devicons; - name = "nvim-web-devicons"; - }; + nvimWebDeviconPlugin = prev.vimUtils.buildVimPlugin { + src = inputs.nvim-web-devicons; + name = "nvim-web-devicons"; + }; - zshCompletionPlugin = { - name = "zsh-completions"; - src = inputs.zsh-completions; - }; - in { - customVimPlugins = { - cmp-vimtex = cmpVimtexPlugin; - spaceport-nvim = spaceportNvimPlugin; - nomodoro = nomodoroNvimPlugin; - parrot-nvim = parrotNvimPlugin; - nvim-web-devicons = nvimWebDeviconPlugin; - }; + zshCompletionPlugin = { + name = "zsh-completions"; + src = inputs.zsh-completions; + }; + in + { + customVimPlugins = { + cmp-vimtex = cmpVimtexPlugin; + spaceport-nvim = spaceportNvimPlugin; + nomodoro = nomodoroNvimPlugin; + parrot-nvim = parrotNvimPlugin; + nvim-web-devicons = nvimWebDeviconPlugin; + }; - customZshPlugins = { - zsh-completions = zshCompletionPlugin; + customZshPlugins = { + zsh-completions = zshCompletionPlugin; + }; }; - }; -in { +in +{ overlay = inputs.nixpkgs.lib.composeManyExtensions [ pluginoverlay inputs.claude-mcp-bundle.overlays.default diff --git a/treefmt.nix b/treefmt.nix index 338c0e3..1304b65 100644 --- a/treefmt.nix +++ b/treefmt.nix @@ -1,5 +1,6 @@ # treefmt.nix -{...}: { +{ ... }: +{ projectRootFile = "treefmt.nix"; settings.global.excludes = [ "*.toml" @@ -14,23 +15,17 @@ programs.mdsh.enable = true; - # programs.nixfmt.enable = true; - # settings.formatter.nixfmt.indent = " "; - programs.alejandra.enable = true; - settings.formatter.alejandra.indentation = "Tabs"; + programs.nixfmt.enable = true; programs.shellcheck.enable = true; programs.shfmt.enable = true; - settings.formatter.shfmt.indent = "\t"; + settings.formatter.shfmt.indent_size = 0; programs.yamlfmt.enable = true; - settings.formatter.yamlfmt.indent = 1; # yamlfmt uses number of tab characters for indent - settings.formatter.yamlfmt.use_tabs = true; - programs.just.enable = true; # just format uses tabs by default if first line has tabs + programs.just.enable = true; - programs.stylua.enable = true; # Already configured for tabs in stylua.toml + programs.stylua.enable = true; - # Formatter specific settings }