boxxy

Dev tools

filesystem sandboxing

SHOW HN2023

Legend

boxxy

Control where Linux programs put files, without symlinks

github.com

#linux#xdg base directory#home directory clutter#mount namespace#dotfiles

384points
239comments
#88of 3,109 in 2023
Top 3%of 2023 by points

How HN took it

CuriousMostly questions and neutral comments

15 positive, 34 neutral or asking, 0 mixed, 8 critical, out of 57 comments about the project. Thread score +0.20.

Idea: 11 for, 4 againstExecution: 1 for, 3 againstDesign: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Useful, clever idea for tidying home directory.

    From 3 comments
    • This is awesome!! Good stuff
      sureglymop on HN
    • Amazing, I will use this for sure. My home directory is a mess.
      29athrowaway on HN
    • I'd been meaning to make something like this for ages but never had the patience to figure out the namespace API, great work!
      yesco on HN

Objections

  • Mount-based approach may break tools or need recursive path handling.

    From 1 comment
    • > This seems like a great idea, thank you for sharing. Thanks :D > Are you aware of any notable caveats to using Boxxy, given the mount-based implementation? System configuration…
      notamy on HN
  • Unprivileged user namespaces break suid programs like sudo inside the box.

    From 1 comment
    • but... if you use unprivileged user namespaces, tmux isn't a very good use, because then you can't use any suid programs like su, sudo, doas, pkexec, fusermount, mount (user), etc.
      Hello71 on HN

Requests

  • Regex path rules.

    From 1 comment
    • Can boxxy make use of rules with regex? If not, consider this a feature request.
      jpeeler on HN
  • Automatic interception without shell aliases.

    From 1 comment
    • > suggested usage > alias aws="boxxy aws" (repeat for other tools) If you could find a way to somehow intercept without requiring aliasing, this would be amazing. Also, as it is,…
      OJFord on HN
  • Nix integration.

    From 1 comment
    • It would be very nice to integrate it with Nix and make the hijacking automatic (perhaps with LD_LIBRARY_PATH).
      pshirshov on HN

Questions

  • How does it differ from chroot and containers?

    From 2 comments
  • Does it work with syncing home directories?

    From 1 comment
    • This seems like a great idea, thank you for sharing. Are you aware of any notable caveats to using Boxxy, given the mount-based implementation? E.g., will this continue to work…
      iamdamian on HN

Alternatives named

  • xdg-ninja

    From 1 comment
    • If anyone would like to actually force the non-compliant applications to do the thing correctly, then xdg-ninja is your friend [0]. The script looks at all the dotfiles in the…
      doodlesdev on HN
  • Symlink-based fake-home wrapper scripts.

    From 1 comment
    • Plug: I made a small set of shell scripts to achieve something similar to this a couple of years ago, but with symlinks: https://tomwh.uk/blog/posts/2020/03/28/fake-home-prison/…
      superluserdo on HN
  • Environment variables such as AWS_CONFIG_FILE.

    From 1 comment
    • It looks like a useful project. By the way, as for the original motivation: > I recently had to use the AWS CLI. It wants to save data in ~/.aws, but I don't want it to just…
      hdjjhhvvhga on HN
  • GNU stow.

    From 1 comment
    • Whenever I install directly instead of using e.g. apt (typically because I want a more current version than the distro has), I use GNU stow [0], for precisely this reason. It…
      jessaustin on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/34730520)