fmt: alejandra

This commit is contained in:
Deepak Mallubhotla 2025-03-24 01:13:22 -05:00
parent ae454228f6
commit 9dbe1605e0
Signed by: deepak
GPG Key ID: 47831B15427F5A55
13 changed files with 379 additions and 400 deletions

1
alejandra.toml Normal file
View File

@ -0,0 +1 @@
indentation = "Tabs"

View File

@ -1,5 +1,4 @@
{
description = "Configuration v1";
inputs = {
@ -53,47 +52,54 @@
url = "git+ssh://git@gitea.deepak.science:2222/deepak/claude_mcp_bundle.git";
inputs.nixpkgs.follows = "nixpkgs";
};
};
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
];
};
});
};
}

View File

@ -1,8 +1,4 @@
{
pkgs ? import <nixpkgs> { },
}:
let
{pkgs ? import <nixpkgs> {}}: let
custom-fonts = pkgs.stdenvNoCC.mkDerivation {
pname = "input";
version = "1.0.2";
@ -20,7 +16,6 @@ let
description = "Input DJR font";
};
};
in
{
in {
inherit custom-fonts;
}

View File

@ -4,78 +4,73 @@
specialArgs,
lib,
...
}:
let
}: let
pkgs-unstable = specialArgs.nixpkgs-unstable;
in
# default_python = pkgs-unstable.python313;
{
# 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
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
];
# From our claude bundle
pkgs.custom-servers.arxiv-mcp-server
pkgs.custom-servers.basic-memory-server
pkgs.custom-servers.mcp-text-editor
home.homeDirectory = "/home/deepak";
home.username = "deepak";
]
++ pkgs.lib.optionals specialArgs.withGUI [
pkgs.discord
pkgs.obsidian
pkgs.audacity
pkgs.nextcloud-client
pkgs.libreoffice-qt6-fresh
# required, was previously default
home.stateVersion = "18.09";
home.sessionPath = [
"$HOME/.local/bin"
];
home.homeDirectory = "/home/deepak";
home.username = "deepak";
# required, was previously default
home.stateVersion = "18.09";
home.sessionPath = [
"$HOME/.local/bin"
];
home.sessionVariables =
let
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
@ -88,190 +83,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;
};
programs.git = {
enable = true;
userName = "Deepak Mallubhotla";
userEmail = "dmallubhotla+github@gmail.com";
signing = {
key = specialArgs.gitSigningKey;
signByDefault = true;
};
extraConfig = {
core = {
fileMode = false;
};
init = {
defaultBranch = "master";
};
};
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;
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
wiki-vim
vim-markdown
cmp-buffer
# vim-airline
vim-fugitive
flash-nvim
gitsigns-nvim
friendly-snippets
luasnip
which-key-nvim
overseer-nvim
# prettiness
lualine-nvim
goyo-vim
limelight-vim
nui-nvim
zen-mode-nvim
twilight-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
# 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";
};
history = {
size = 10000;
path = "${lib.removePrefix "/home/deepak/" config.xdg.dataHome}/zsh/history";
};
oh-my-zsh = {
services.nextcloud-client = pkgs.lib.mkIf specialArgs.withGUI {
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
];
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";
programs.git = {
enable = true;
userName = "Deepak Mallubhotla";
userEmail = "dmallubhotla+github@gmail.com";
signing = {
key = specialArgs.gitSigningKey;
signByDefault = true;
};
hello = { };
newkey = { };
extraConfig = {
core = {
fileMode = false;
};
init = {
defaultBranch = "master";
};
};
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;
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
wiki-vim
vim-markdown
cmp-buffer
# vim-airline
vim-fugitive
flash-nvim
gitsigns-nvim
friendly-snippets
luasnip
which-key-nvim
overseer-nvim
# prettiness
lualine-nvim
goyo-vim
limelight-vim
nui-nvim
zen-mode-nvim
twilight-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
# 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";
};
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
];
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 = {};
};
};
}

View File

@ -1,5 +1,4 @@
{ config }:
''
{config}: ''
inoremap jj <Esc>
inoremap kk <Esc>
@ -161,7 +160,7 @@
## Summary of suggestions:
{a brief list of spelling, grammar and punctuation errors, with brief snippets of the original text so I can search and find each change, followed by summaries of what types of changes are in the slightly better and ideal versions}
## Corrected text:
{corrected text, or say "NO_CORRECTIONS_NEEDED" instead if there are no corrections made}

View File

@ -6,15 +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"
];
wsl = {
@ -31,7 +27,6 @@ in
# nativeSystemd = true;
wslConf.interop.appendWindowsPath = false;
};
networking.hostName = hostname; # Define your hostname.
@ -43,8 +38,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 = [
@ -116,5 +111,4 @@ in
source = "${pkgs.rootlesskit}/bin/rootlesskit";
};
};
}

View File

@ -1,21 +1,18 @@
{
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 = {
@ -36,7 +33,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
@ -72,7 +69,6 @@ in
home-manager.sharedModules = [
inputs.sops-nix.homeManagerModules.sops
];
}
inputs.NixOS-WSL-2411.nixosModules.wsl
@ -99,7 +95,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

View File

@ -1,13 +1,13 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ pkgs, customPackageOverlay, ... }:
let
custom-fonts = import ../../fonts { inherit pkgs; };
in
{
pkgs,
customPackageOverlay,
...
}: let
custom-fonts = import ../../fonts {inherit pkgs;};
in {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
@ -150,7 +150,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;
@ -161,5 +161,4 @@ in
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "20.09"; # Did you read the comment?
}

View File

@ -6,9 +6,7 @@
lib,
modulesPath,
...
}:
{
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
@ -20,20 +18,19 @@
"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";
@ -41,7 +38,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";

View File

@ -3,15 +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"
];
wsl = {
@ -28,7 +24,6 @@ in
nativeSystemd = true;
wslConf.interop.appendWindowsPath = false;
};
networking.hostName = "nixosEggYoke"; # Define your hostname.
@ -90,5 +85,4 @@ in
# Optional (default: 41641):
services.tailscale.port = 62532;
}

View File

@ -3,15 +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"
];
wsl = {
@ -28,7 +24,6 @@ in
nativeSystemd = true;
wslConf.interop.appendWindowsPath = false;
};
networking.hostName = "nixosWSL"; # Define your hostname.
@ -90,5 +85,4 @@ in
# Optional (default: 41641):
services.tailscale.port = 62532;
}

View File

@ -4,55 +4,49 @@
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";
};
parrotNvimPlugin = prev.vimUtils.buildVimPlugin {
src = parrot-nvim;
name = "parrot-nvim";
};
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;
};
customZshPlugins = {
zsh-completions = zshCompletionPlugin;
};
}: let
pluginoverlay = _final: prev: let
cmpVimtexPlugin = prev.vimUtils.buildVimPlugin {
src = cmp-vimtex;
name = "cmp-vimtex";
};
in
{
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";
};
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;
};
customZshPlugins = {
zsh-completions = zshCompletionPlugin;
};
};
in {
overlay = inputs.nixpkgs.lib.composeManyExtensions [
pluginoverlay
inputs.claude-mcp-bundle.overlays.default

View File

@ -1,20 +1,36 @@
# treefmt.nix
{ ... }:
{
{...}: {
projectRootFile = "treefmt.nix";
settings.global.excludes = [
"*.toml"
"*.ttf"
"*.txt"
"*.otf"
"Jenkinsfile"
"fonts/out/*"
];
programs.deadnix.enable = true;
programs.mdsh.enable = true;
programs.nixfmt.enable = true;
programs.shellcheck.enable = true;
programs.shfmt.enable = true;
programs.yamlfmt.enable = true;
programs.just.enable = true;
programs.stylua.enable = true;
programs.mdsh.enable = true;
# programs.nixfmt.enable = true;
# settings.formatter.nixfmt.indent = " ";
programs.alejandra.enable = true;
settings.formatter.alejandra.indentation = "Tabs";
programs.shellcheck.enable = true;
programs.shfmt.enable = true;
settings.formatter.shfmt.indent = "\t";
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.stylua.enable = true; # Already configured for tabs in stylua.toml
# Formatter specific settings
}