Skip Navigation

Posts
236
Comments
357
Joined
3 yr. ago

  • Yeah, since broot is a full featured file navigator and operator, you can get anywhere once it's launched. I have alt+up bound to go up a directory, but there are other ways to get around as well.

    Broot supports fish out of the box, and you can use its default fish launcher function to change your folder (alt+enter quits broot then performs a cd) or insert a path (the broot command pp quits broot then prints the path, like fzf).

    I never learned fish scripting, but if anyone here has they may try to port my Zsh functions, especially to get path completion for partially typed paths. If you're doing that and have questions about the broot config side of the equation, I'm happy to try to help.

  • FWIW broot is a great fuzzy finding file tree tool that can be used similarly (much better for the task IMO), with a little configuration.

  • Zsh is not extended Bash, but an extended Bourne shell. This article isn't relevant to Bash.

  • That's not bash...

  • That looks cool, thanks!

  • Can the drag and drop designer work with QML yet?

  • You might like to use aconfmgr to track and prune your system state.

  • How dare you?

    Thanks!

  •  bash
        
    grep -E '(^[^B]*$|A)'
    
      

    EDIT: Whoops, I meant to make this a top-level comment.

    EDIT 2: On one client it looked like a nested comment and on this other client it looks top level and now I'm a confused old man.

  • Konsole is excellent. Wezterm is even better, and can pretty much do everything, everywhere.

    There's no need to bother with the others if you like either of these.

  • I don't know what the install process is like for them, but FYI Siduction offers one image that is minimal but with X11, and one minimal without it.

  • I solved that problem a little differently:

     factor
        
    : reverse-vowels-2 ( str -- str' )
      [ clone ] [
        >lower [ vowel? ] find-all
        [ values reverse ] [ keys ] bi
      ] bi                       ! str vowels idxs
      [                          ! str | vowel idx
        pick dupd nth            ! str | vowel idx orig
        1string upper?           ! str | vowel idx t/f
        swapd [ ch>upper ] when  ! str | idx vowel
        set-nth-of               ! str'
      ] 2each                    ! str'
    ;
    
      

    Maybe clearer on lemmy without the comments:

     factor
        
    : reverse-vowels-2 ( str -- str' )
      [ clone ] [
        >lower [ vowel? ] find-all
        [ values reverse ] [ keys ] bi
      ] bi                       
      [                          
        pick dupd nth            
        1string upper?           
        swapd [ ch>upper ] when  
        set-nth-of               
      ] 2each                    
    ;
    
      
    • Siduction
    • openSUSE
  • It's unmatched for some of the things it does and sites it supports, but I think it's a nightmare for any distro or package maintainer. It wants to manage its own installation and updates, at the user level, pulling in who knows what code or binaries.

    I think that makes it mechanically hard to handle, verify, or trust.

  • There are many advantages relative to bash, especially much better array handling, and comprehensive globbing and expansion expressions. You can reduce your reliance on external tools, which may have multiple alternative implementations (a source of unpredictability).

    Some defenses are written up at

    https://www.arp242.net/why-zsh.html

    (not my post)

    For me, fish's differences from older shells count against it without offering any compelling benefits.

    Newer shells like nushell and oils/ysh are exciting and have a lot going on, but are not mature or familiar.

  • For Alpine Linux:

    • support a different process supervisor
      • dinit, or
      • s6 with some high level sugar
    • add something like the AUR
  • For Arch, you may like a project called aconfmgr.

  • For Arch Linux:

    • support a different process supervisor
      • dinit, or
      • s6 with some high level sugar
    • don't use Bash anywhere
      • port down to POSIX, and
      • port up to Zsh
      • port minimal launchers to execline
    • replace PKGBUILD format, maybe with
      • nearly identical but Zsh
      • NestedText containing Zsh snippets
        • use this to render Zsh based on templates
          • my favorite template engine: wheezy.template
    • build packages with more optimizations, like the CachyOS repos
    • include or endorse something like aconfmgr
    • port conf files to NestedText
  • Wow, I haven't finished reading this yet but it seems a fantastic guide for getting started with concatenative programming, from zero.