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"; description = "Configuration v1";
inputs = { inputs = {
@ -53,47 +52,54 @@
url = "git+ssh://git@gitea.deepak.science:2222/deepak/claude_mcp_bundle.git"; url = "git+ssh://git@gitea.deepak.science:2222/deepak/claude_mcp_bundle.git";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = outputs = {
{ self,
self, systems,
systems, nixpkgs,
nixpkgs, cmp-vimtex,
cmp-vimtex, spaceport-nvim,
spaceport-nvim, nomodoro,
nomodoro, ...
... } @ inputs: let
}@inputs: customPackageOverlay =
let (import ./overlays/default.nix {
customPackageOverlay = inherit cmp-vimtex;
(import ./overlays/default.nix { inherit spaceport-nvim;
inherit cmp-vimtex; inherit inputs;
inherit spaceport-nvim; inherit nomodoro;
inherit inputs; parrot-nvim = inputs.parrot-nvim;
inherit nomodoro; })
parrot-nvim = inputs.parrot-nvim; .overlay;
}).overlay; # Small tool to iterate over each systems
# Small tool to iterate over each systems eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
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 = (
nixosConfigurations = ( import ./hosts/hosts.nix {
import ./hosts/hosts.nix { inherit inputs;
inherit inputs; inherit customPackageOverlay;
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: {
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 { custom-fonts = pkgs.stdenvNoCC.mkDerivation {
pname = "input"; pname = "input";
version = "1.0.2"; version = "1.0.2";
@ -20,7 +16,6 @@ let
description = "Input DJR font"; description = "Input DJR font";
}; };
}; };
in in {
{
inherit custom-fonts; inherit custom-fonts;
} }

View File

@ -4,78 +4,73 @@
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;
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; # cli markdown tool
home.packages = pkgs.glow
[
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 # lsps
pkgs.glow pkgs.nil
# pkgs.nodePackages.pyright
# pkgs.pyright
# lsps pkgs.thefuck
pkgs.nil pkgs.fzf
# pkgs.nodePackages.pyright pkgs.sops
# pkgs.pyright pkgs.age
pkgs.ydiff
pkgs.delta
pkgs.thefuck pkgs-unstable.claude-code
pkgs.fzf # default_python
pkgs.sops # pkgs-unstable.uv
pkgs.age # pkgs-unstable.nodejs
pkgs.ydiff
pkgs.delta
pkgs-unstable.claude-code # From our claude bundle
# default_python pkgs.custom-servers.arxiv-mcp-server
# pkgs-unstable.uv pkgs.custom-servers.basic-memory-server
# pkgs-unstable.nodejs 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 home.homeDirectory = "/home/deepak";
pkgs.custom-servers.arxiv-mcp-server home.username = "deepak";
pkgs.custom-servers.basic-memory-server
pkgs.custom-servers.mcp-text-editor
] # required, was previously default
++ pkgs.lib.optionals specialArgs.withGUI [ home.stateVersion = "18.09";
pkgs.discord
pkgs.obsidian home.sessionPath = [
pkgs.audacity "$HOME/.local/bin"
pkgs.nextcloud-client
pkgs.libreoffice-qt6-fresh
]; ];
home.homeDirectory = "/home/deepak"; home.sessionVariables = let
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
@ -88,190 +83,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;
};
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 = {
enable = true; 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 = { programs.git = {
enable = true; enable = true;
historyLimit = 100000; userName = "Deepak Mallubhotla";
clock24 = true; userEmail = "dmallubhotla+github@gmail.com";
keyMode = "vi"; signing = {
prefix = "M-,"; key = specialArgs.gitSigningKey;
plugins = [ signByDefault = true;
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 = { }; extraConfig = {
newkey = { }; 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 jj <Esc>
inoremap kk <Esc> inoremap kk <Esc>

View File

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

View File

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

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

View File

@ -6,9 +6,7 @@
lib, lib,
modulesPath, modulesPath,
... ...
}: }: {
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
@ -20,20 +18,19 @@
"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 = boot.initrd.luks.devices."nixosroot".device = "/dev/disk/by-uuid/3b0d4c02-d9e5-44ab-8461-30797547ed70";
"/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";
@ -41,7 +38,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,15 +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"
]; ];
wsl = { wsl = {
@ -28,7 +24,6 @@ in
nativeSystemd = true; nativeSystemd = true;
wslConf.interop.appendWindowsPath = false; wslConf.interop.appendWindowsPath = false;
}; };
networking.hostName = "nixosEggYoke"; # Define your hostname. networking.hostName = "nixosEggYoke"; # Define your hostname.
@ -90,5 +85,4 @@ in
# Optional (default: 41641): # Optional (default: 41641):
services.tailscale.port = 62532; services.tailscale.port = 62532;
} }

View File

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

View File

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

View File

@ -1,20 +1,36 @@
# treefmt.nix # treefmt.nix
{ ... }: {...}: {
{
projectRootFile = "treefmt.nix"; projectRootFile = "treefmt.nix";
settings.global.excludes = [ settings.global.excludes = [
"*.toml" "*.toml"
"*.ttf" "*.ttf"
"*.txt" "*.txt"
"*.otf"
"Jenkinsfile"
"fonts/out/*"
]; ];
programs.deadnix.enable = true; 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
} }