65 Replies
In Bazzite, I created this bash alias (kde-prompt is just a symlink to prompt):
alias hterm='kde-prompt --tab-with-profile=Host'
So I can easily create a host terminal from my container terminal if I need to.Or the profiles show up in the list of choices as well:
show bketelsen's thing to kyle, he can smoke that one pretty easily
you might need to go fetch him out of motd land
tell him that side quest is over lol
he can go farm it after we get to the endgame
I think this would be great to include bluefin-cli as an option for default when you are setting up.
or have a ujust command to set it as default.
maybe that might not be neccessary, I dunno.
yeah this is exactly why I want it
on a fresh install you open the terminal, BLAM, it's there, all ready to go, profiles and stuff all magical.
ctrl-alt-enter will always take you there
ctrl-alt-t will always take you to host
that's my plan.
@Noel have enough containers?
Question for the profile stuff. When we on your Isengard-CLI, when selecting another container does it attempt to do a distrobox enter?
I believe it does a
distrobox enter
on every run of the profile.
I believe that is the case.Okay.
Will put a guard on it then.
So it should be something like
[ ! -f /run/.containerenv ] && [ ! -f /run/.dockerenv ] && distrobox enter container-name
we're thinking just doing it the dconf way
see bketelsen's link in dev
this one
just set them dynamically as part of the creation step?
I should be able to do ExecStartPost=
So it should be able to create a profile as part of creation.
Cleanup can then just be done via ExecStop. And we have a timer for triggering reconciles
Yeah that makes sense. Those three bash functions turned into little bash scripts.
@Kyle Gospo from voice ^
I'm thinking like this, pinned host all the way on the left, and then bluefin-cli as the tab
awkward tho
should totally be doable with dbus
if this is ready/testable on bluefin rn I can look into it tonight
we don't have the dynamic container naming thing
but the pinned host and just pick a tab for now should do the trick
oh nice. ctrl-pageup/down is moving between tabs. so you can quickly toggle between the container and the host terminal
maybe a first run banner when in a container?
then when I click on it it takes me to the host which has the real banner
the way we built it -- that has to be in your container
and since we already make our own -distrobox images that'll be easy enough
and each can have their own tips
yep
this one will be svelte though
since the motd is still there on the host too, it's working out pretty awesome as I use it
hah man if we could put the fedora logo on the host terminal pin, so it "matches" the layout of the logomenu
"click on the fedora logo to always go to the terminal"
I want custom logos & color schemes for boxes so bad
like I know it's rice but it's gonna look so damn nice
and it avoids confusion
WSL does it so nicely
there's no question that we need it imo, people expect it
So right now the profile custom command completely takes over that startup command. Trying to use a oneliner to avoid that seems to not work. But I got the quadlet to create and remove profiles. Trying to figure out how to only do distrobox enter from the host and not when selecting a container right now
and have a hack for that
And I have lift off.
Quadlets make a profile and only enter when selected profile and selecting the my computer
Additionally the profiles appear when quadlets are created meaning even if they don't show under containers you can still enter them!
Next up, need someone to tell me how to open up prompt with default profile pinned and another profile selected
And let's see if palette works
Only thing I don't like is the missing lego hand
oh neat!
Disembodied lego hand for the win
i still haven't found in the prompt code base how those get set
since they definitely can be dynamically done because of the sudo / ssh ones
I love this
Can you set that profile as default if it gets recreated each time?
probably. The default key is at a different level
Need to do something closer to the reconcile that @bketelsen was doing. Right now the created profiles linger from reboots. Basically want to nuke everything not in the active profiles
but it also seems like the default behaviour when you remove a profile in the menu is to not actually delete but to remove it only from the profile uuid array
Can just have a user oneshot to reconcile prompt profiles based on what's in dconf list and the uuid array
yes the default profile is set at the root of the dconf directory for prompt
Another dumb question: This dconf method would not work on KDE due to KDE not having dconf correct?
that's a good question. if prompt runs, it's storing stuff somewhere
I'm so confused.
where is the brew stuff actually stored? I deleted all of my podman volumes and my brew stuff is still retained.
I don't see a /home/linuxbrew on the host when I do an
ls
which confuses me even more.
is it bind-mounted and just not able to be shown on the host?
OK. so it is being bind-mounted
stored in ~/.local/share/bluefin-cli
my question is how is that directory getting mounted?
I still don't see anything obvious in the quadlet that is acheiving that.It's inside the container
/etc/profile.d/00-bluefin-cli.sh
Pretty sure it's still thereI understand now!
OK cool
dconf?
I don't believe so
https://www.reddit.com/r/kde/comments/w3oc9x/dconf_config_support/
Check if ~/.config/dconf exists
And dconf exists inside of gtk flatpaks.
Gnome text editor has a vim emulation that you can only set set with gsettings
OH, I get it. You can use it to configure gnome based apps.
Yeah, I see dconf command available by default.
so the dconf stuff could still work for configuring prompt since it supports it
awesome.
Yep, Bazzite does that
For the kde color scheme
Check the user setup service
I was wondering about that.
I gotta get a better understanding of how that service works.
and the bash file used by it.
I definitely want to port the prompt stuff being done in here to add my quadlets as profiles by default.
I'll get the branch on GitHub.
Will be under bluefin
I still want to see if this can be done prompts uuids for containers
Since it detects toolboxes and distroboxes automatically but not the quadlets.
@M2 separate thing I noticed is that the name "Bluefin" is hard coded in
/etc/profile.d/00-bluefin-cli.sh
if you do a FROM bluefin-cli
to do a custom container and you decide to use bluefin as well, there may be some weirdness with the homebrew directory?
wondering if maybe we should generalize that to the container name to avoid that problem?
something like replacing all the instances of Bluefin with ${HOSTNAME}?
that way it should pick up the hostname of the container properly. I suppose that only works if you create the quadlet properly.Right now it is a hard coded directory
Container name might be best because podman requires unique names
https://github.com/noelmiller/isengard-cli/blob/main/Containerfile
Here is my workaround I was able to do:
that fixes the name conflict for me.
Can you check if you can get the containers name from /run/.containerenv
Sure!
thanks!
okay source if exist, make a directory named after container name
better spot to pull the name from instead of $HOSTNAME?
just curious why this might be better?
hostname doesn't have to be unique
container name has to be unique per container manager
hostname should be unique. Container name must be
GitHub
feat: prompt integration with quadlets by m2Giles Ā· Pull Request #8...
chore: simplify ujust bluefin-cli
it's in draft as I work on things
Awesome!
Thank you!
I think i figured out where prompt is getting the container IDs. so might be able to do this without doing a distrobox enter custom command
podman inspect bluefin-cli --format {{.Id}}
it seems to work
but no lego hand
i want the lego hand
apparently no lego hand when using a profile?Doesn't appear so!
So Profiles are associated with Colorscheme and the follow through if you select a different container.
Additionally, there is that weird cannot find container occurring when using container ID instead of distrobox enter
and we don't get the lego hand when entering via Profile so I think the distrobox enter method is preferable right now
Okay last bit of weirdness.
Apparently during a reboot the old profiles might persist but be removed from active profiles.
So need a little bit better cleanup.
Additionally prompt doesn't actually cleanup in active profiles. They just kinda keep existing in the dconf database
hmmm
so there is some goofiness, but it does work for the most part?
Yeah. Some of this goofiness I think is prompt being incomplete
Like go create a profile and then remove it.
It's still in dconf
mmmmm
alright going with the distrobox enter method for now. The repeats should get cleaned up. Lack of lego hand disappoints me