diff --git a/alejandra.toml b/alejandra.toml new file mode 100644 index 0000000..581a5c4 --- /dev/null +++ b/alejandra.toml @@ -0,0 +1 @@ +indentation = "Tabs" diff --git a/flake.nix b/flake.nix index 601fd49..fe332ec 100644 --- a/flake.nix +++ b/flake.nix @@ -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 + ]; + }; + }); + }; } diff --git a/fonts/default.nix b/fonts/default.nix index 8a28923..db1f09c 100644 --- a/fonts/default.nix +++ b/fonts/default.nix @@ -1,8 +1,4 @@ -{ - pkgs ? import { }, -}: - -let +{pkgs ? import {}}: 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; } diff --git a/home/deepak/home.nix b/home/deepak/home.nix index bdc41c5..e8933f5 100644 --- a/home/deepak/home.nix +++ b/home/deepak/home.nix @@ -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 = {}; + }; + }; + } diff --git a/home/deepak/neovim/init-vim.nix b/home/deepak/neovim/init-vim.nix index 67b7ff0..ed90fe0 100644 --- a/home/deepak/neovim/init-vim.nix +++ b/home/deepak/neovim/init-vim.nix @@ -1,5 +1,4 @@ -{ config }: -'' +{config}: '' inoremap jj inoremap kk @@ -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} diff --git a/hosts/commonWSL-configuration.nix b/hosts/commonWSL-configuration.nix index cd884cb..a43711f 100644 --- a/hosts/commonWSL-configuration.nix +++ b/hosts/commonWSL-configuration.nix @@ -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"; }; }; - } diff --git a/hosts/hosts.nix b/hosts/hosts.nix index f6a0367..2f9d287 100644 --- a/hosts/hosts.nix +++ b/hosts/hosts.nix @@ -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 diff --git a/hosts/maxos/configuration.nix b/hosts/maxos/configuration.nix index 0e3b455..a50b2e7 100644 --- a/hosts/maxos/configuration.nix +++ b/hosts/maxos/configuration.nix @@ -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? - } diff --git a/hosts/maxos/hardware-configuration.nix b/hosts/maxos/hardware-configuration.nix index 6b070ee..cfa374d 100644 --- a/hosts/maxos/hardware-configuration.nix +++ b/hosts/maxos/hardware-configuration.nix @@ -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"; diff --git a/hosts/nixosEggYoke/configuration.nix b/hosts/nixosEggYoke/configuration.nix index b5b83ae..1446a87 100644 --- a/hosts/nixosEggYoke/configuration.nix +++ b/hosts/nixosEggYoke/configuration.nix @@ -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; - } diff --git a/hosts/nixosWSL/configuration.nix b/hosts/nixosWSL/configuration.nix index 2ea0cdd..0805009 100644 --- a/hosts/nixosWSL/configuration.nix +++ b/hosts/nixosWSL/configuration.nix @@ -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; - } diff --git a/overlays/default.nix b/overlays/default.nix index 9640858..2279e5c 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -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 diff --git a/treefmt.nix b/treefmt.nix index 4117291..338c0e3 100644 --- a/treefmt.nix +++ b/treefmt.nix @@ -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 }