Compare commits

...

4 Commits

Author SHA1 Message Date
John Lancaster f24a269af3 newline in starship prompt 2026-04-19 09:29:46 -05:00
John Lancaster a5a10772d1 reworked jsl-zsh 2026-04-17 00:22:45 -05:00
John Lancaster 510a026de7 user@hostname for nhms 2026-04-16 22:20:19 -05:00
John Lancaster dd47ae94bf wrapped version of eza 2026-04-16 19:05:04 -05:00
5 changed files with 103 additions and 137 deletions
+2 -1
View File
@@ -56,9 +56,10 @@
name = "nhms"; name = "nhms";
runtimeInputs = [ coreutils hostname nh ]; runtimeInputs = [ coreutils hostname nh ];
text = '' text = ''
USERNAME=''${USER:-$(whoami)}
HOSTNAME=$(hostname -s) HOSTNAME=$(hostname -s)
echo "Switching to the $HOSTNAME home-manager profile" echo "Switching to the $HOSTNAME home-manager profile"
nh home switch ${flakeDir} -c "$HOSTNAME" "$@" nh home switch ${flakeDir} -c "$USERNAME@$HOSTNAME" "$@"
''; '';
}; };
+12 -4
View File
@@ -5,19 +5,27 @@
enable = true; enable = true;
enableBashIntegration = true; enableBashIntegration = true;
enableZshIntegration = true; enableZshIntegration = true;
git = true; package = inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.my-eza;
icons = "auto"; };
colors = "auto"; };
extraOptions = [
perSystem = { system, pkgs, ... }: {
packages.my-eza = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
package = pkgs.eza;
args = [
"--all" "--all"
"--long" "--long"
"--group-directories-first" "--group-directories-first"
"--icons=auto"
"--color=auto"
"--sort=type" "--sort=type"
"--dereference" "--dereference"
"--octal-permissions" "--octal-permissions"
"--smart-group" "--smart-group"
"--no-time" "--no-time"
"--git" "--git"
"$@"
]; ];
}; };
}; };
+1 -1
View File
@@ -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 /')
# '') # '')
-1
View File
@@ -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
+88 -130
View File
@@ -51,138 +51,96 @@ 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";
add_newline = lib.mkForce true;
line_break.disabled = lib.mkForce false;
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" "$@" ];
};
}; };
} }