reworked jsl-zsh
This commit is contained in:
@@ -25,6 +25,7 @@
|
|||||||
"--smart-group"
|
"--smart-group"
|
||||||
"--no-time"
|
"--no-time"
|
||||||
"--git"
|
"--git"
|
||||||
|
"$@"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
gdu
|
# gdu
|
||||||
# (writeShellScriptBin "lfcd" ''
|
# (writeShellScriptBin "lfcd" ''
|
||||||
# . <(${lib.getExe pkgs.lf} -print-last-dir | sed 's/^/cd /')
|
# . <(${lib.getExe pkgs.lf} -print-last-dir | sed 's/^/cd /')
|
||||||
# '')
|
# '')
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ in
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
eza
|
|
||||||
age
|
age
|
||||||
sops # This is necessary to make the sops binary available
|
sops # This is necessary to make the sops binary available
|
||||||
ssh-to-age
|
ssh-to-age
|
||||||
|
|||||||
+86
-130
@@ -51,138 +51,94 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
perSystem = { system, pkgs, ... }: {
|
perSystem = { config, self', pkgs, lib, ... }: {
|
||||||
packages.jsl-zsh = inputs.wrapper-modules.wrappers.zsh.wrap {
|
packages.jsl-zsh =
|
||||||
inherit pkgs;
|
let
|
||||||
extraPackages = with pkgs; [
|
ignorePatterns = [
|
||||||
inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.neovim-min
|
"ls" "eza" "history" "clear"
|
||||||
btop
|
];
|
||||||
coreutils
|
aliasStr = lib.concatStringsSep "\n" (
|
||||||
curl
|
lib.mapAttrsToList (k: v: "alias -- ${lib.escapeShellArg k}=${lib.escapeShellArg v}") {
|
||||||
wget
|
ls = "eza";
|
||||||
yazi
|
ll = "eza -l";
|
||||||
zsh
|
la = "eza -a";
|
||||||
];
|
lt = "eza --tree";
|
||||||
};
|
lla = "eza -la";
|
||||||
|
ds = "gdu -i /snap /";
|
||||||
packages.neovim-min = ((inputs.nvf.lib.neovimConfiguration {
|
});
|
||||||
inherit pkgs;
|
in
|
||||||
modules = [
|
(inputs.wrappers.wrapperModules.zsh.apply {
|
||||||
{
|
inherit pkgs;
|
||||||
# https://nvf.notashelf.dev/search.html
|
binName = "jsl-zsh";
|
||||||
config.vim = {
|
settings = {
|
||||||
options = {
|
completion = {
|
||||||
number = true;
|
enable = true;
|
||||||
relativenumber = true;
|
extraCompletions = true;
|
||||||
expandtab = true;
|
caseInsensitive = true;
|
||||||
shiftwidth = 4;
|
fuzzySearch = true;
|
||||||
tabstop = 4;
|
|
||||||
softtabstop = 4;
|
|
||||||
|
|
||||||
wrap = true;
|
|
||||||
linebreak = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
syntaxHighlighting = true;
|
|
||||||
|
|
||||||
# Enable custom theming options
|
|
||||||
theme.enable = true;
|
|
||||||
theme.name = "catppuccin";
|
|
||||||
theme.style = "mocha";
|
|
||||||
|
|
||||||
git.enable = true;
|
|
||||||
# git.neogit.enable = true;
|
|
||||||
extraPlugins = with pkgs.vimPlugins; {
|
|
||||||
icons = {
|
|
||||||
package = nvim-web-devicons;
|
|
||||||
};
|
|
||||||
octo = {
|
|
||||||
package = octo-nvim;
|
|
||||||
setup = "require('octo').setup {}";
|
|
||||||
after = ["telescope" "icons"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://github.com/akinsho/toggleterm.nvim
|
|
||||||
terminal.toggleterm.enable = true;
|
|
||||||
terminal.toggleterm.lazygit.enable = true;
|
|
||||||
terminal.toggleterm.lazygit.direction = "float";
|
|
||||||
terminal.toggleterm.lazygit.mappings.open = "<C-g>";
|
|
||||||
|
|
||||||
utility.nix-develop.enable = true;
|
|
||||||
|
|
||||||
filetree.neo-tree.enable = true;
|
|
||||||
|
|
||||||
telescope = {
|
|
||||||
enable = true;
|
|
||||||
extensions = [
|
|
||||||
{
|
|
||||||
name = "fzf";
|
|
||||||
packages = [pkgs.vimPlugins.telescope-fzf-native-nvim];
|
|
||||||
setup = {fzf = {fuzzy = true;};};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
languages = {
|
|
||||||
enableTreesitter = true;
|
|
||||||
enableFormat = true;
|
|
||||||
|
|
||||||
markdown = {
|
|
||||||
enable = true;
|
|
||||||
extensions = {
|
|
||||||
markview-nvim.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
bash.enable = true;
|
|
||||||
yaml.enable = true;
|
|
||||||
toml.enable = true;
|
|
||||||
nix.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
desc = "Edit key mappings";
|
|
||||||
key = "<leader>ekm";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = false;
|
|
||||||
action = "<cmd>:edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
desc = "Home Manager Switch";
|
|
||||||
key = "<leader>nhms";
|
|
||||||
mode = [ "n" ];
|
|
||||||
silent = false;
|
|
||||||
action = "<cmd>:TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
desc = "Key Maps [Telescope]";
|
|
||||||
key = "<leader>fkm";
|
|
||||||
mode = "n";
|
|
||||||
silent = false;
|
|
||||||
action = "<cmd>:Telescope keymaps<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
desc = "Toggle Filesystem Tree [NeoTree]";
|
|
||||||
key = "<C-b>";
|
|
||||||
mode = [ "n" "v" "t" ];
|
|
||||||
silent = false;
|
|
||||||
action = "<cmd>:Neotree toggle filesystem left action=show<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-`>";
|
|
||||||
mode = ["n" "v" "t"];
|
|
||||||
silent = false;
|
|
||||||
action = "<cmd>:ToggleTerm<CR>";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
autoSuggestions = {
|
||||||
|
enable = true;
|
||||||
|
strategy = [ "history" "completion" ];
|
||||||
|
};
|
||||||
|
history = {
|
||||||
|
append = true;
|
||||||
|
expanded = true;
|
||||||
|
share = true;
|
||||||
|
ignoreAllDups = true;
|
||||||
|
ignoreSpace = true;
|
||||||
|
};
|
||||||
|
integrations = {
|
||||||
|
fzf.enable = true;
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
package = self'.packages.starship;
|
||||||
|
};
|
||||||
|
zoxide.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraRC = ''
|
||||||
|
HISTFILE=$HOME/.zsh_history
|
||||||
|
HISTORY_IGNORE=${lib.escapeShellArg "(${lib.concatStringsSep "|" ignorePatterns})"}
|
||||||
|
|
||||||
|
HOSTNAME=$(hostname -s)
|
||||||
|
|
||||||
|
${aliasStr}
|
||||||
|
|
||||||
|
eval "$(direnv hook zsh)"
|
||||||
|
'';
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
self'.packages.my-eza
|
||||||
|
self'.packages.gdu
|
||||||
|
busybox
|
||||||
|
fd
|
||||||
|
ripgrep
|
||||||
|
hostname
|
||||||
|
iproute2
|
||||||
|
direnv
|
||||||
|
];
|
||||||
|
}).wrapper;
|
||||||
|
|
||||||
|
packages.starship = (inputs.wrappers.wrapperModules.starship.apply {
|
||||||
|
inherit pkgs;
|
||||||
|
settings = lib.mkMerge [
|
||||||
|
(lib.importTOML (pkgs.fetchurl {
|
||||||
|
url = https://starship.rs/presets/toml/catppuccin-powerline.toml;
|
||||||
|
sha256 = "0bd8zx0bpri63rnb9dva0rav75d3i2wrzw44h63m75hq5220r26g";
|
||||||
|
}))
|
||||||
|
{
|
||||||
|
palette = "catppuccin_mocha";
|
||||||
|
git_status.diverged = lib.mkForce "⇕⇡\${ahead_count}⇣\${behind_count}";
|
||||||
|
cmd_duration.format = lib.mkForce " $duration";
|
||||||
|
python.disabled = lib.mkForce true;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}).neovim).overrideAttrs (old: {
|
}).wrapper;
|
||||||
pname = "neovim-min";
|
|
||||||
version = "custom";
|
packages.gdu = inputs.wrappers.lib.wrapPackage {
|
||||||
});
|
inherit pkgs;
|
||||||
|
package = pkgs.gdu;
|
||||||
|
args = [ "-x" "--si" "--collapse-path" "--mouse" "$@" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user