5 Commits

Author SHA1 Message Date
John Lancaster b7f5474893 commented out my-neovim because it's in jsl-zsh 2026-06-10 08:56:50 -05:00
John Lancaster 1667e362aa gpu stuff for zed on x11 2026-06-10 08:56:04 -05:00
John Lancaster cd5a49c4a6 commented out mtls for john-pc 2026-06-10 08:54:08 -05:00
John Lancaster 244c60d9cd moved yazi to shell-tools 2026-06-10 08:53:21 -05:00
John Lancaster f2254e5dc7 added yazi 2026-06-10 08:53:21 -05:00
5 changed files with 128 additions and 91 deletions
+73 -53
View File
@@ -1,63 +1,83 @@
# This module provides all the shell options
{ self, inputs, ... }: {
flake.modules.homeManager.shell-tools = { config, pkgs, ... }: {
imports = with inputs.self.modules.homeManager; [
# bash
zsh
files
];
{ self, inputs, ... }:
{
flake.modules.homeManager.shell-tools =
{ config, pkgs, ... }:
{
imports = with inputs.self.modules.homeManager; [
# bash
zsh
files
];
home.packages = with pkgs; [
btop
uv
xclip
inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.shell-tools
];
home.packages = with pkgs; [
btop
uv
xclip
inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.shell-tools
];
home.shell.enableShellIntegration = true;
};
home.shell.enableShellIntegration = true;
};
perSystem = { system, pkgs, self', ... }: {
packages.shell-tools = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
# binName = "show-tools";
package = (pkgs.symlinkJoin {
name = "show-tools";
meta.mainProgram = "show-tools";
paths = with pkgs; [
nh
ripgrep
fd
jq
wget
curl
dig
self'.packages.gdu
self'.packages.my-eza
hostname
iproute2
direnv
(writeShellApplication {
perSystem =
{
system,
pkgs,
self',
...
}:
{
packages.shell-tools = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
# binName = "show-tools";
package = (
pkgs.symlinkJoin {
name = "show-tools";
text = ''
IFS=':' read -r -a path_dirs <<< "''${PATH:-}"
meta.mainProgram = "show-tools";
paths = with pkgs; [
nh
ripgrep
fd
jq
wget
curl
dig
bat
self'.packages.gdu
self'.packages.my-eza
self'.packages.yazi
hostname
iproute2
direnv
(writeShellApplication {
name = "show-tools";
text = ''
IFS=':' read -r -a path_dirs <<< "''${PATH:-}"
for dir in "''${path_dirs[@]}"; do
[[ "$dir" == */bin ]] || continue
[[ -d "$dir" ]] || continue
for dir in "''${path_dirs[@]}"; do
[[ "$dir" == */bin ]] || continue
[[ -d "$dir" ]] || continue
printf '%s\n' "$dir"/*
done
'';
})
printf '%s\n' "$dir"/*
done
'';
})
];
}
);
};
packages.gdu = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
package = pkgs.gdu;
args = [
"-x"
"--si"
"--collapse-path"
"--mouse"
"$@"
];
});
};
};
packages.gdu = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
package = pkgs.gdu;
args = [ "-x" "--si" "--collapse-path" "--mouse" "$@" ];
};
};
}
+12 -12
View File
@@ -39,7 +39,7 @@ in
home.homeDirectory = "/home/${username}";
home.packages = with pkgs; [
selfPkgs.jsl-zsh
selfPkgs.my-neovim
# selfPkgs.my-neovim
selfPkgs.ssh-certs
# selfPkgs.step-bootstrap
# selfPkgs.wg-platform
@@ -91,17 +91,17 @@ in
"/home/john/john-nas"
];
};
mtls = {
enable = true;
subject = hostname;
san = [
"${hostname}"
"192.168.1.85"
"spiffe://john-stream.com/ubuntu"
];
lifetime = "1h";
renew.onCalendar = "*:1/10";
};
# mtls = {
# enable = true;
# subject = hostname;
# san = [
# "${hostname}"
# "192.168.1.85"
# "spiffe://john-stream.com/ubuntu"
# ];
# lifetime = "1h";
# renew.onCalendar = "*:1/10";
# };
};
flake.homeConfigurations."john@john-pc-ubuntu" = withSystem "x86_64-linux" (ctx@{ system, inputs', ... }:
+11
View File
@@ -0,0 +1,11 @@
{ self, inputs, ... }: {
# https://github.com/Lassulus/wrappers/blob/main/modules/yazi/module.nix
perSystem = { system, pkgs, lib, ... }: {
packages.yazi = (inputs.wrappers.wrapperModules.yazi.apply {
inherit pkgs;
settings = {
mgr.ratio = [ 1 4 3 ];
};
}).wrapper;
};
}
+31 -25
View File
@@ -1,33 +1,39 @@
{ self, inputs, ... }:
{ self, ... }:
let
packageName = "zed-editor";
zedWrapper = inputs.wrappers.lib.wrapModule ({ config, lib, wlib, ... }: {
options = {
text-to-say = lib.mkOption {
type = lib.types.str;
description = "Text for the ascii cow to say.";
};
};
config = {
binName = "my-pkg";
package = config.pkgs.cowsay;
args = [ config.text-to-say ];
};
});
vulkanIcd = "/usr/share/vulkan/icd.d/nvidia_icd.json";
eglVendor = "/usr/share/glvnd/egl_vendor.d/10_nvidia.json";
in
{
perSystem = { system, pkgs, lib, ... }: {
packages."${packageName}" = (zedWrapper.apply {
inherit pkgs;
text-to-say = "Hello from wrapped module!";
}).wrapper;
perSystem = { pkgs, ... }: {
packages."${packageName}" = pkgs.symlinkJoin {
name = "zed-editor-host-gpu";
paths = [ pkgs.zed-editor ];
nativeBuildInputs = [ pkgs.makeWrapper ];
meta = pkgs.zed-editor.meta // {
mainProgram = "zeditor";
};
postBuild = ''
for exe in $out/bin/*; do
wrapProgram "$exe" \
--unset WAYLAND_DISPLAY \
--unset GDK_BACKEND \
--set VK_DRIVER_FILES ${vulkanIcd} \
--set VK_ICD_FILENAMES ${vulkanIcd} \
--set __EGL_VENDOR_LIBRARY_FILENAMES ${eglVendor} \
--set __GLX_VENDOR_LIBRARY_NAME nvidia
done
'';
};
};
flake.modules.homeManager."${packageName}" = { config, pkgs, lib, ... }: {
home.packages = [
inputs.self.packages.${pkgs.stdenv.hostPlatform.system}."${packageName}"
];
flake.modules.homeManager.zed-editor = { pkgs, ... }: {
home.packages = [ pkgs.vulkan-tools ];
programs.zed-editor = {
enable = true;
package = self.packages.${pkgs.stdenv.hostPlatform.system}."${packageName}";
installRemoteServer = true;
};
};
}
+1 -1
View File
@@ -140,9 +140,9 @@ in
extraPackages = with pkgs; [
lazygit
lazydocker
devenv
self'.packages.shell-tools
self'.packages.neovim-min
devenv
];
}).wrapper;
};