1:49 There's a modern replacement for xdragon called ripdrag. It's based on GTK 4 and being actively developed while xdragon is outdated and not beign developed at all
3:56 the more I learn about nix, the more I feel like IPFS seems made for it. Not only to get packages more efficiently but also to version any for you want with a hash and get it from anywhere. You'd have to host your own instance for everything you want to provide that others don't but just having ipfs paths to blobs life the icons file would make everything runable in a single command.
A better solution to display images on wayland is the sixel protocol which is not kitty-proprietary and thus supported by more terminals (xterm, konsole, xfce-terminal, patched st, iterm2, vscode terminal and ofc the wonderful wayland-native foot, as well as has PRs for many others such as alacritty) and now even supported by tmux in the latest master branch. IIRC lf has a way to use chafa as image preview tool which supports both sixel and kitty protocols, as well as a fallback to ascii art when none available
@@TheOwntageCrew Maybe a little late but what worked for me was the following, I only changed the file and chafa with their pkgs/bin/... and this was the result in my configuration of lf: settings = { preview = true; sixel = true; }; extraConfig = '' set previewer ${ pkgs.writeShellScript "lf-previewer.sh" '' case "$(${pkgs.file}/bin/file -Lb --mime-type -- "$1")" in image/*) ${pkgs.chafa}/bin/chafa -f sixel -s "$2x$3" --animate off --polite on "$1" exit 1 ;; *) cat "$1" ;; esac '' } ''; Also, you might need to check if your terminal has Sixel support: www.arewesixelyet.com/
Anyone ever got the same issue as me implementing this? I create a new file `lf.nix` inside my home.nix. But everytime I build always got error the file not found. But if I import it using absolute path of /home/myuser/dotfiles/config/lf.nix instead of relative path ./config/lf.nix I can build without issues. Although somehow it works I don't like to run sudo nixos-rebuild switch --flake . --impure everytime. That --impure looks ugly.
@@vimjoyer Thank you very much. Right on spot. I've spent almost a week for this error. Btw, Your videos helps me a lot in venturing into this unknown territory of nixos.
My previewer of choice is ctpv ``` settings = { previewer = "${pkgs.ctpv}/bin/ctpv"; cleaner = "${pkgs.ctpv}/bin/ctpvclear"; } ``` It handles image previews, video previews, and a bunch of other previews that you can configure. Works with Kitty, but also terminals as well
thank you edit: darn. not on macos. I was happy to find it works well on linux. strange that you can't do it on mac even though it works fine through ssh... 😖
i am new, i just want linux that just works, with high productivity I cannot use windows as it constantly breaks, security issues and I am doing CS degree that wants me to use linux and I am also thinking of making a career out of it
You don't need to "install it manually", you need to copy it from the internet and then link it to .config from nix files. It will stay with your configuration, just not in .nix format. You don't have to download it every time. If you want, you can still just fetch it declaratively with fetchurl or flake's inputs.
Totally forgot about showing actual footage in the video 😅. It's nothing special, just a regular lf experience (which is quite good), but configured in a special way.
@@der.Schtefan The follow up video would only showcase the result itself, and I like to include as much useful information in these videos as possible. I might make a video comparing different terminal file managers in the future, and maybe feature this configuration there.
Dude huge thank you for making all these nix videos please don't stop
you're my go-to youtuber when it comes to nix stuff, keep them coming
Nix syntax for escaping characters is definitely a syntax
One of the syntaxes ever made
Can confirm. I assumed ChatGPT was making up dumb shit again.
Just nice!
Thanks!
While exploring Nix, I found your video to be extremely helpful.
1:49 There's a modern replacement for xdragon called ripdrag. It's based on GTK 4 and being actively developed while xdragon is outdated and not beign developed at all
Nice! I'll check it out
Ripdrag is really cool, it even can act as a place to drop things into
3:56 the more I learn about nix, the more I feel like IPFS seems made for it. Not only to get packages more efficiently but also to version any for you want with a hash and get it from anywhere. You'd have to host your own instance for everything you want to provide that others don't but just having ipfs paths to blobs life the icons file would make everything runable in a single command.
Shame that the image preview stuff does not seem to work in tmux as I used that all the time for terminal window management
🔥
A better solution to display images on wayland is the sixel protocol which is not kitty-proprietary and thus supported by more terminals (xterm, konsole, xfce-terminal, patched st, iterm2, vscode terminal and ofc the wonderful wayland-native foot, as well as has PRs for many others such as alacritty) and now even supported by tmux in the latest master branch.
IIRC lf has a way to use chafa as image preview tool which supports both sixel and kitty protocols, as well as a fallback to ascii art when none available
Do you have an example of using chafa for previews? I tried to use the example from the wiki, but I could not get it to work.
@@TheOwntageCrew Maybe a little late but what worked for me was the following, I only changed the file and chafa with their pkgs/bin/... and this was the result in my configuration of lf:
settings = {
preview = true;
sixel = true;
};
extraConfig = ''
set previewer ${
pkgs.writeShellScript "lf-previewer.sh" ''
case "$(${pkgs.file}/bin/file -Lb --mime-type -- "$1")" in
image/*)
${pkgs.chafa}/bin/chafa -f sixel -s "$2x$3" --animate off --polite on "$1"
exit 1
;;
*)
cat "$1"
;;
esac
''
}
'';
Also, you might need to check if your terminal has Sixel support: www.arewesixelyet.com/
what's the difference of LF and Ranger for example?
LF is more minimal and quick.
Anyone ever got the same issue as me implementing this? I create a new file `lf.nix` inside my home.nix. But everytime I build always got error the file not found. But if I import it using absolute path of /home/myuser/dotfiles/config/lf.nix instead of relative path ./config/lf.nix I can build without issues. Although somehow it works I don't like to run sudo nixos-rebuild switch --flake . --impure everytime. That --impure looks ugly.
If you are using git, make sure to git add the lf.nix file. Flakes do not see unstaged files.
@@vimjoyer Thank you very much. Right on spot. I've spent almost a week for this error. Btw, Your videos helps me a lot in venturing into this unknown territory of nixos.
My previewer of choice is ctpv
```
settings = {
previewer = "${pkgs.ctpv}/bin/ctpv";
cleaner = "${pkgs.ctpv}/bin/ctpvclear";
}
```
It handles image previews, video previews, and a bunch of other previews that you can configure. Works with Kitty, but also terminals as well
This is amazing!
thank you
edit: darn. not on macos. I was happy to find it works well on linux. strange that you can't do it on mac even though it works fine through ssh... 😖
but the ctpv cleaner
do not work on tmux (on nixOS) :(
i am new, i just want linux that just works, with high productivity
I cannot use windows as it constantly breaks, security issues and I am doing CS degree that wants me to use linux and I am also thinking of making a career out of it
I'm probably not going to use LF but pistol is now my fzf previewer
If I need to install a file manually it kinda negates the whole automation process, no?
You don't need to "install it manually", you need to copy it from the internet and then link it to .config from nix files.
It will stay with your configuration, just not in .nix format. You don't have to download it every time.
If you want, you can still just fetch it declaratively with fetchurl or flake's inputs.
Demo? :)
Totally forgot about showing actual footage in the video 😅. It's nothing special, just a regular lf experience (which is quite good), but configured in a special way.
@@vimjoyer I would argue that this would have been kinda the point of the video, to show how nicer it is ;) Maybe make a follow-up video? :)
@@der.Schtefan The follow up video would only showcase the result itself, and I like to include as much useful information in these videos as possible. I might make a video comparing different terminal file managers in the future, and maybe feature this configuration there.
@@vimjoyer YES, please do it.