Hi There - I’m starting to make use of distrobox, but I have a question about creating custom home directories.

In my ~/.config/distrobox/distrobox.conf file, I’ve added a line ->

container_user_custom_home=“$HOME/dbx”

This ensures that all new containers, by default, have their homes set to ~/dbx .

This is good, however, I’m looking for a way to default new container homes to ~/dbx/<<containername>>. Is there a way to do this? I’ve tried setting the line in distrobox.conf to

container_user_custom_home=“$HOME/dbx/$DBX_CONTAINER_NAME” but it doesn’t work. Any help would be appreciated.

(Basically, I want to err on the side of a bit of isolation between containers by default so that I can more easily track what each is doing separately.

Thanks!

  • somethingsomethingidk@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    10 months ago

    I would make a bash function to do this. I’m on my phone so idk how this will look lol

    dbxcreate () {
    ALL_CONTAINER_HOME=${HOME}/dbx
    
    CONTAINER_NAME="$1"
    
    export DBX_CONTAINER_CUSTOM_HOME="${ALL_CONTAINER_HOME}/${CONTAINER_NAME}"
    
    distrobox create --name "${CONTAINER_NAME}"
    }
    

    I would add some checks/more arguments and error messages but thats the idea

    You may also have to make that home dir but then its as easy adding a mkdir line

    • indigomirage@lemmy.caOP
      link
      fedilink
      arrow-up
      2
      ·
      10 months ago

      Thank you - it seems that this will only be possible with a wrapper script (which was going to be my next course of action). I can definitely use what you’ve written here as an accelerator, though!

    • indigomirage@lemmy.caOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      10 months ago

      I’ve got that, but I want the container home prefix to be named, dynamically, after the container upon creation as a subdirectory of a container home prefix ‘parent’ directory I’ve already created.

      Desired outcome -> All dbxs get homes in a subfolder of ~/dbx in turn, named after the container name I provide upon creation.

      So… a container called ‘utility’ would automatically home itself in ~/dbx/utility, and one called ‘archtest’ would go in ~/dbxarchtest, etc.

      As it stands, the config gives each container the same home directory (albeit separate from the host, so at least I’ve got that…)