fmt: reformat
All checks were successful
gitea-deepak/nixconf/pipeline/head This commit looks good
Test templates, puts into cache / nix (nix-runner) (push) Successful in 6m33s

This commit is contained in:
Deepak Mallubhotla 2025-03-24 04:12:00 -05:00
parent 9dbe1605e0
commit a057d9bcc7
Signed by: deepak
GPG Key ID: 47831B15427F5A55
13 changed files with 368 additions and 344 deletions

View File

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

View File

@ -54,52 +54,56 @@
}; };
}; };
outputs = { outputs =
self, {
systems, self,
nixpkgs, systems,
cmp-vimtex, nixpkgs,
spaceport-nvim, cmp-vimtex,
nomodoro, spaceport-nvim,
... nomodoro,
} @ inputs: let ...
customPackageOverlay = }@inputs:
(import ./overlays/default.nix { let
inherit cmp-vimtex; customPackageOverlay =
inherit spaceport-nvim; (import ./overlays/default.nix {
inherit inputs; inherit cmp-vimtex;
inherit nomodoro; inherit spaceport-nvim;
parrot-nvim = inputs.parrot-nvim; inherit inputs;
}) inherit nomodoro;
.overlay; parrot-nvim = inputs.parrot-nvim;
# Small tool to iterate over each systems }).overlay;
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system}); # 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 # Eval the treefmt modules from ./treefmt.nix
treefmtEval = eachSystem (pkgs: inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix); treefmtEval = eachSystem (pkgs: inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix);
in { in
nixosConfigurations = ( {
import ./hosts/hosts.nix { nixosConfigurations = (
inherit inputs; import ./hosts/hosts.nix {
inherit customPackageOverlay; inherit inputs;
} inherit customPackageOverlay;
); }
);
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
# for `nix flake check` # for `nix flake check`
checks = eachSystem (pkgs: { checks = eachSystem (pkgs: {
formatting = treefmtEval.${pkgs.system}.config.build.check self; formatting = treefmtEval.${pkgs.system}.config.build.check self;
}); });
devShells = eachSystem (pkgs: { devShells = eachSystem (pkgs: {
default = pkgs.mkShell { default = pkgs.mkShell {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
kubernetes-helm kubernetes-helm
kubectl kubectl
jq jq
stern stern
]; nixfmt-rfc-style
}; alejandra
}); ];
}; };
});
};
} }

View File

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

View File

@ -4,73 +4,76 @@
specialArgs, specialArgs,
lib, lib,
... ...
}: let }:
let
pkgs-unstable = specialArgs.nixpkgs-unstable; pkgs-unstable = specialArgs.nixpkgs-unstable;
in in
# default_python = pkgs-unstable.python313; # default_python = pkgs-unstable.python313;
{ {
programs.home-manager.enable = true; programs.home-manager.enable = true;
home.packages = home.packages =
[ [
pkgs.hello pkgs.hello
# (pkgs.writeScriptBin "nixFlakes" '' # (pkgs.writeScriptBin "nixFlakes" ''
# exec ${pkgs.nixVersions.git}/bin/nix --experimental-features "nix-command flakes" "$@" # exec ${pkgs.nixVersions.git}/bin/nix --experimental-features "nix-command flakes" "$@"
# '') # '')
pkgs.cachix pkgs.cachix
pkgs.attic-client pkgs.attic-client
pkgs.kubectl pkgs.kubectl
pkgs.bat pkgs.bat
pkgs.eza pkgs.eza
pkgs.fd pkgs.fd
pkgs.ripgrep pkgs.ripgrep
pkgs.just pkgs.just
# cli markdown tool # cli markdown tool
pkgs.glow pkgs.glow
# lsps # lsps
pkgs.nil pkgs.nil
# pkgs.nodePackages.pyright # pkgs.nodePackages.pyright
# pkgs.pyright # pkgs.pyright
pkgs.thefuck pkgs.thefuck
pkgs.fzf pkgs.fzf
pkgs.sops pkgs.sops
pkgs.age pkgs.age
pkgs.ydiff pkgs.ydiff
pkgs.delta pkgs.delta
pkgs-unstable.claude-code pkgs-unstable.claude-code
# default_python # default_python
# pkgs-unstable.uv # pkgs-unstable.uv
# pkgs-unstable.nodejs # pkgs-unstable.nodejs
# From our claude bundle # From our claude bundle
pkgs.custom-servers.arxiv-mcp-server pkgs.custom-servers.arxiv-mcp-server
pkgs.custom-servers.basic-memory-server pkgs.custom-servers.basic-memory-server
pkgs.custom-servers.mcp-text-editor pkgs.custom-servers.mcp-text-editor
] ]
++ pkgs.lib.optionals specialArgs.withGUI [ ++ pkgs.lib.optionals specialArgs.withGUI [
pkgs.discord pkgs.discord
pkgs.obsidian pkgs.obsidian
pkgs.audacity pkgs.audacity
pkgs.nextcloud-client pkgs.nextcloud-client
pkgs.libreoffice-qt6-fresh pkgs.libreoffice-qt6-fresh
];
home.homeDirectory = "/home/deepak";
home.username = "deepak";
# required, was previously default
home.stateVersion = "18.09";
home.sessionPath = [
"$HOME/.local/bin"
]; ];
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"; win_home_dir = specialArgs.win_home_dir or "/mnt/c/Users/Deepak";
in { in
{
# Namespace our own nixconf variables with DPK # Namespace our own nixconf variables with DPK
# Set a common directory for Windows for WSL installs # Set a common directory for Windows for WSL installs
@ -83,189 +86,189 @@ in
# UV_PYTHON = "${default_python}"; # UV_PYTHON = "${default_python}";
}; };
programs.direnv.enable = true; programs.direnv.enable = true;
programs.direnv.nix-direnv.enable = true; programs.direnv.nix-direnv.enable = true;
xdg.enable = true; xdg.enable = true;
services.nextcloud-client = pkgs.lib.mkIf specialArgs.withGUI { services.nextcloud-client = pkgs.lib.mkIf specialArgs.withGUI {
enable = true; enable = true;
};
programs.git = {
enable = true;
userName = "Deepak Mallubhotla";
userEmail = "dmallubhotla+github@gmail.com";
signing = {
key = specialArgs.gitSigningKey;
signByDefault = true;
}; };
extraConfig = {
programs.git = { core = {
enable = true; fileMode = false;
userName = "Deepak Mallubhotla";
userEmail = "dmallubhotla+github@gmail.com";
signing = {
key = specialArgs.gitSigningKey;
signByDefault = true;
}; };
extraConfig = { init = {
core = { defaultBranch = "master";
fileMode = false;
};
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 = { programs.neovim = {
enable = true; enable = true;
package = pkgs-unstable.neovim-unwrapped; package = pkgs-unstable.neovim-unwrapped;
defaultEditor = true; defaultEditor = true;
vimAlias = true; vimAlias = true;
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
{ {
plugin = vimtex; plugin = vimtex;
config = "let g:nix_recommended_style = 0"; config = "let g:nix_recommended_style = 0";
} }
vim-nix vim-nix
# plenary and stuff for telescope # plenary and stuff for telescope
plenary-nvim plenary-nvim
telescope-nvim telescope-nvim
nvim-treesitter nvim-treesitter
telescope-fzf-native-nvim telescope-fzf-native-nvim
telescope-file-browser-nvim telescope-file-browser-nvim
# need fzf for parrot # need fzf for parrot
fzf-lua fzf-lua
ctrlp-vim ctrlp-vim
# lsp stuff # lsp stuff
lsp-zero-nvim lsp-zero-nvim
nvim-cmp nvim-cmp
cmp-nvim-lsp cmp-nvim-lsp
cmp_luasnip cmp_luasnip
nvim-lspconfig nvim-lspconfig
vim-tmux-navigator vim-tmux-navigator
# vim-vinegar # vim-vinegar
oil-nvim oil-nvim
wiki-vim wiki-vim
vim-markdown vim-markdown
cmp-buffer cmp-buffer
# vim-airline # vim-airline
vim-fugitive vim-fugitive
flash-nvim flash-nvim
gitsigns-nvim gitsigns-nvim
friendly-snippets friendly-snippets
luasnip luasnip
which-key-nvim which-key-nvim
overseer-nvim overseer-nvim
# prettiness # prettiness
lualine-nvim lualine-nvim
goyo-vim goyo-vim
limelight-vim limelight-vim
nui-nvim nui-nvim
zen-mode-nvim zen-mode-nvim
twilight-nvim twilight-nvim
# color schemes # color schemes
rose-pine rose-pine
kanagawa-nvim kanagawa-nvim
nightfox-nvim nightfox-nvim
# custom plugins from flakes # custom plugins from flakes
pkgs.customVimPlugins.cmp-vimtex pkgs.customVimPlugins.cmp-vimtex
pkgs.customVimPlugins.spaceport-nvim pkgs.customVimPlugins.spaceport-nvim
pkgs.customVimPlugins.nomodoro pkgs.customVimPlugins.nomodoro
pkgs.customVimPlugins.parrot-nvim pkgs.customVimPlugins.parrot-nvim
pkgs.customVimPlugins.nvim-web-devicons pkgs.customVimPlugins.nvim-web-devicons
# syntax highlighting # syntax highlighting
vim-just vim-just
]; ];
extraConfig = import ./neovim/init-vim.nix {inherit config;}; 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 = {
programs.thefuck.enable = true; size = 10000;
path = "${lib.removePrefix "/home/deepak/" config.xdg.dataHome}/zsh/history";
programs.zsh = { };
oh-my-zsh = {
enable = true; 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 = [ plugins = [
{ "poetry"
name = "sd"; "themes"
src = pkgs.fetchFromGitHub { "emoji-clock"
owner = "ianthehenry"; "screen"
repo = "sd"; "ssh-agent"
rev = "ecd1ab8d3fc3a829d8abfb8bf1e3722c9c99407b";
sha256 = "0fm1r8w73vaab5r9dj5jdxsfc7pbddxf4dvvasfq8rry2dxaf7sy";
};
}
{
name = "zsh-z";
src = pkgs.fetchFromGitHub {
owner = "agkozak";
repo = "zsh-z";
rev = "b5e61d03a42a84e9690de12915a006b6745c2a5f";
sha256 = "1gsgmsvl1sl9m3yfapx6bp0y15py8610kywh56bgsjf9wxkrc3nl";
};
}
pkgs.customZshPlugins.zsh-completions
]; ];
initExtra = '' theme = "random";
eval "$(${pkgs.direnv}/bin/direnv hook zsh)"
'';
}; };
plugins = [
programs.tmux = { {
enable = true; name = "sd";
historyLimit = 100000; src = pkgs.fetchFromGitHub {
clock24 = true; owner = "ianthehenry";
keyMode = "vi"; repo = "sd";
prefix = "M-,"; rev = "ecd1ab8d3fc3a829d8abfb8bf1e3722c9c99407b";
plugins = [ sha256 = "0fm1r8w73vaab5r9dj5jdxsfc7pbddxf4dvvasfq8rry2dxaf7sy";
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 = {}; {
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,4 +1,5 @@
{config}: '' { config }:
''
inoremap jj <Esc> inoremap jj <Esc>
inoremap kk <Esc> inoremap kk <Esc>

View File

@ -6,9 +6,11 @@
modulesPath, modulesPath,
hostname, hostname,
... ...
}: let }:
custom-fonts = import ../fonts {inherit pkgs;}; let
in { custom-fonts = import ../fonts { inherit pkgs; };
in
{
imports = [ imports = [
"${modulesPath}/profiles/minimal.nix" "${modulesPath}/profiles/minimal.nix"
]; ];
@ -38,8 +40,8 @@ in {
''; '';
nix.settings = { nix.settings = {
trusted-substituters = ["http://attic.baklava"]; trusted-substituters = [ "http://attic.baklava" ];
trusted-public-keys = ["systems:tvbHIThn7MAwvgMSiYR3ULVlL6cBrA40afqGuextnNQ="]; trusted-public-keys = [ "systems:tvbHIThn7MAwvgMSiYR3ULVlL6cBrA40afqGuextnNQ=" ];
}; };
nixpkgs.overlays = [ nixpkgs.overlays = [

View File

@ -1,18 +1,21 @@
{ {
inputs, inputs,
customPackageOverlay, customPackageOverlay,
# ... # ...
}: let }:
let
linuxSystem = "x86_64-linux"; linuxSystem = "x86_64-linux";
lib = inputs.nixpkgs.lib; lib = inputs.nixpkgs.lib;
nixpkgs-unstable = import inputs.nixpkgs { nixpkgs-unstable = import inputs.nixpkgs {
system = linuxSystem; system = linuxSystem;
config.allowUnfreePredicate = pkg: config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [ builtins.elem (lib.getName pkg) [
"claude-code" "claude-code"
]; ];
}; };
in { in
{
"maxos" = inputs.nixpkgs-24-11.lib.nixosSystem { "maxos" = inputs.nixpkgs-24-11.lib.nixosSystem {
system = linuxSystem; system = linuxSystem;
specialArgs = { specialArgs = {
@ -33,7 +36,7 @@ in {
}; };
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.users.deepak = { home-manager.users.deepak = {
imports = [../home/deepak/home.nix]; imports = [ ../home/deepak/home.nix ];
}; };
home-manager.sharedModules = [ home-manager.sharedModules = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
@ -95,7 +98,7 @@ in {
}; };
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.users.deepak = { home-manager.users.deepak = {
imports = [../home/deepak/home.nix]; imports = [ ../home/deepak/home.nix ];
}; };
home-manager.sharedModules = [ home-manager.sharedModules = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops

View File

@ -5,9 +5,11 @@
pkgs, pkgs,
customPackageOverlay, customPackageOverlay,
... ...
}: let }:
custom-fonts = import ../../fonts {inherit pkgs;}; let
in { custom-fonts = import ../../fonts { inherit pkgs; };
in
{
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
@ -150,7 +152,7 @@ in {
# Open ports in the firewall. # Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ];
networking.firewall.allowedUDPPorts = [62532]; networking.firewall.allowedUDPPorts = [ 62532 ];
# Or disable the firewall altogether. # Or disable the firewall altogether.
# networking.firewall.enable = false; # networking.firewall.enable = false;

View File

@ -6,7 +6,8 @@
lib, lib,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
@ -18,19 +19,20 @@
"usbhid" "usbhid"
"sd_mod" "sd_mod"
]; ];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ boot.kernelModules = [
"kvm-intel" "kvm-intel"
"wl" "wl"
]; ];
boot.extraModulePackages = [config.boot.kernelPackages.broadcom_sta]; boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/6d9433c6-2dab-4936-a924-d0a205381189"; device = "/dev/disk/by-uuid/6d9433c6-2dab-4936-a924-d0a205381189";
fsType = "ext4"; 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" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/67E3-17ED"; device = "/dev/disk/by-uuid/67E3-17ED";
@ -38,7 +40,7 @@
}; };
swapDevices = [ 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"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";

View File

@ -3,9 +3,11 @@
customPackageOverlay, customPackageOverlay,
modulesPath, modulesPath,
... ...
}: let }:
custom-fonts = import ../../fonts {inherit pkgs;}; let
in { custom-fonts = import ../../fonts { inherit pkgs; };
in
{
imports = [ imports = [
"${modulesPath}/profiles/minimal.nix" "${modulesPath}/profiles/minimal.nix"
]; ];

View File

@ -3,9 +3,11 @@
customPackageOverlay, customPackageOverlay,
modulesPath, modulesPath,
... ...
}: let }:
custom-fonts = import ../../fonts {inherit pkgs;}; let
in { custom-fonts = import ../../fonts { inherit pkgs; };
in
{
imports = [ imports = [
"${modulesPath}/profiles/minimal.nix" "${modulesPath}/profiles/minimal.nix"
]; ];

View File

@ -4,49 +4,54 @@
nomodoro, nomodoro,
parrot-nvim, parrot-nvim,
inputs, inputs,
}: let }:
pluginoverlay = _final: prev: let let
cmpVimtexPlugin = prev.vimUtils.buildVimPlugin { pluginoverlay =
src = cmp-vimtex; _final: prev:
name = "cmp-vimtex"; let
}; cmpVimtexPlugin = prev.vimUtils.buildVimPlugin {
spaceportNvimPlugin = prev.vimUtils.buildVimPlugin { src = cmp-vimtex;
src = spaceport-nvim; name = "cmp-vimtex";
name = "spaceport-nvim"; };
}; spaceportNvimPlugin = prev.vimUtils.buildVimPlugin {
nomodoroNvimPlugin = prev.vimUtils.buildVimPlugin { src = spaceport-nvim;
src = nomodoro; name = "spaceport-nvim";
name = "nomodoro"; };
}; nomodoroNvimPlugin = prev.vimUtils.buildVimPlugin {
src = nomodoro;
name = "nomodoro";
};
parrotNvimPlugin = prev.vimUtils.buildVimPlugin { parrotNvimPlugin = prev.vimUtils.buildVimPlugin {
src = parrot-nvim; src = parrot-nvim;
name = "parrot-nvim"; name = "parrot-nvim";
}; };
nvimWebDeviconPlugin = prev.vimUtils.buildVimPlugin { nvimWebDeviconPlugin = prev.vimUtils.buildVimPlugin {
src = inputs.nvim-web-devicons; src = inputs.nvim-web-devicons;
name = "nvim-web-devicons"; name = "nvim-web-devicons";
}; };
zshCompletionPlugin = { zshCompletionPlugin = {
name = "zsh-completions"; name = "zsh-completions";
src = inputs.zsh-completions; src = inputs.zsh-completions;
}; };
in { in
customVimPlugins = { {
cmp-vimtex = cmpVimtexPlugin; customVimPlugins = {
spaceport-nvim = spaceportNvimPlugin; cmp-vimtex = cmpVimtexPlugin;
nomodoro = nomodoroNvimPlugin; spaceport-nvim = spaceportNvimPlugin;
parrot-nvim = parrotNvimPlugin; nomodoro = nomodoroNvimPlugin;
nvim-web-devicons = nvimWebDeviconPlugin; parrot-nvim = parrotNvimPlugin;
}; nvim-web-devicons = nvimWebDeviconPlugin;
};
customZshPlugins = { customZshPlugins = {
zsh-completions = zshCompletionPlugin; zsh-completions = zshCompletionPlugin;
};
}; };
}; in
in { {
overlay = inputs.nixpkgs.lib.composeManyExtensions [ overlay = inputs.nixpkgs.lib.composeManyExtensions [
pluginoverlay pluginoverlay
inputs.claude-mcp-bundle.overlays.default inputs.claude-mcp-bundle.overlays.default

View File

@ -1,5 +1,6 @@
# treefmt.nix # treefmt.nix
{...}: { { ... }:
{
projectRootFile = "treefmt.nix"; projectRootFile = "treefmt.nix";
settings.global.excludes = [ settings.global.excludes = [
"*.toml" "*.toml"
@ -14,23 +15,17 @@
programs.mdsh.enable = true; programs.mdsh.enable = true;
# programs.nixfmt.enable = true; programs.nixfmt.enable = true;
# settings.formatter.nixfmt.indent = " ";
programs.alejandra.enable = true;
settings.formatter.alejandra.indentation = "Tabs";
programs.shellcheck.enable = true; programs.shellcheck.enable = true;
programs.shfmt.enable = true; programs.shfmt.enable = true;
settings.formatter.shfmt.indent = "\t"; settings.formatter.shfmt.indent_size = 0;
programs.yamlfmt.enable = true; 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
} }