fmt: alejandra
This commit is contained in:
parent
ae454228f6
commit
9dbe1605e0
1
alejandra.toml
Normal file
1
alejandra.toml
Normal file
@ -0,0 +1 @@
|
|||||||
|
indentation = "Tabs"
|
84
flake.nix
84
flake.nix
@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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 = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{ config }:
|
{config}: ''
|
||||||
''
|
|
||||||
inoremap jj <Esc>
|
inoremap jj <Esc>
|
||||||
inoremap kk <Esc>
|
inoremap kk <Esc>
|
||||||
|
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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";
|
||||||
|
@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
34
treefmt.nix
34
treefmt.nix
@ -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
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user