So, in order to avoid typing "flatpak run", every time I need to run a flatpak program from the terminal, to have gui programs installed using nix appear in my applications menu(rofi, in this case), and to avoid typing the entire path to my .local/bin, I had added the following lines to my .profile:

set PATH so it includes user's private bin if it exists

if [ -d "$HOME/bin" ] ; then export PATH="$HOME/bin:$PATH" fi

set PATH so it includes user's private bin if it exists

if [ -d "$HOME/.local/bin" ] ; then export PATH="$HOME/.local/bin:$PATH" fi

for desktop entries for packages installed using Nix

export XDG_DATA_DIRS="/home/guest/.nix-profile/share:$XDG_DATA_DIRS"

set PATH so it includes user's private bin if it exists

if [ -d "/var/lib/flatpak/exports/bin" ] ; then export PATH="/var/lib/flatpak/exports/bin:$PATH" fi

if [ -d "~/.local/share/flatpak/exports/bin" ] ; then export PATH="~/.local/share/flatpak/exports/bin:$PATH" fi

However, for some weird reason, I cannot take advantage of the above lines unless I am in a tmux session or I explicitly type the following command:

source .profile

Any ideas on how to fix this?

EDIT: Adding the following line to .xsessionrc fixed the issue (haven't checked for wayland sessions though).

. $HOME/.profile

#Debian #Debian11 #foss #floss #libre_software #applications #desktop #gui #nix #flatpak #flatpaks #gnu #linux #opensource #open_source #tmux #bash #profile #shell #terminal

  • Libre Extremist@lemmy.ml
    hexagon
    ·
    1 year ago

    Hi, Thanks for the response. Sorry for disturbing you. I have tried what you have suggested here. There are two files with matching timestamps but different PATHs. I am using i3wm in Debian 11. Please tell me how to deal with this issue.

    • aebletrae [she/her]
      ·
      1 year ago

      Admittedly, I have much less experience with i3, so I fired up a virtual machine with Debian 11.6 and installed i3 (along with lightdm) and was able to recreate the problem of .profile not being executed when logging in, so this isn't unique to your particular setup. Great!

      Fortunately, this combination does execute commands in ~/.xsessionrc, so I added:—

      . $HOME/.profile
      

      to that file, then logged out and back in again. That did the trick for me, with the commands in .profile then successfully modifying the PATH variable (and writing additional lines to the execution log files), so I suggest you try creating/modifying .xsessionrc in the same way.

      • Libre Extremist@lemmy.ml
        hexagon
        ·
        1 year ago

        Oh, thanks a lot for the efforts! You really are one of a kind to conduct an experiment to help out a stranger on the internet. Yeah, this actually works. I just added those lines to .xsessionrc and all problems were solved.

        If you don't mind my asking. Do you work in IT as a sysadmin or a developer or a cybersecurity expert? Or something else? I am just curious as to how may have gained such knowledge.

        • aebletrae [she/her]
          ·
          1 year ago

          Helping one another out is invisibilized, not rare. A good chunk of what I know comes from other people taking the time to explain why something works the way it does and how you can see that for yourself. The rest is from curiosity, experimentation, and hammering away at something until it fits. It's not professionally specialized knowledge.