List of missing programs
amtoine opened this issue ยท 28 comments
I really love that application
I was able to quickly clean a lot of my $HOME
directory and my dotfiles repo, really cool stuff we have here
I wanted to further clean my $HOME
and noticed, and that's normal considering the number of existing applications, a lot of hidden files and directories still hanging around without explicit permissions
Below are lists of all the directories and files I still have in my $HOME
, I only removed those already supported by xdg-ninja
but without definitive solution and my personal files. There might be items not relevant to xdg-ninja
, please tell me and i'll remove them
If you prefer to split this issue into more little ones, this one can be closed and the job can be done.
I just thought a somewhat ""complete"" list of missing programs would be usefull
And I would be more than happy to help if you accept external contributions ๐
Missing directories:
.arduino-create/
.arduino15/
.dwarffortress/
.eendroroy-coloschemes/
.emacs.d/
.gsutil/
.ipython/
.keras/
.kube/
.links/
.lyrics/
.moc/
.mujoco/
.oh-my-bash/
.oh-my-xonsh/
.pytest_cache/
.quickemu/
.screenlayout/
.slime/
.SpaceVim/
.SpaceVim.d/
.surf/
.telegram-cli/
.themes/
.thumbnails/
.trash/
.vim/ -> ~/.SpaceVim/
.vim_back/
.virtualbox/
.when/
.xmonad/
.zotero/
Missing files:
.bash_aliases
.bash_logout
.bash_profile
.bashrc
.bashrc.backup
.boto
.ctags
.dmrc
.gcalcli_cache
.gcalcli_oauth
.gnuplot_history
.grip-oggenc
.luahistory
.matho_history
.net.log
.notion-enhancer
.nwinkler_random_colors
.osh-update
.pdbhistory
.profile
.pulse-cookie
.python_history-83827.tmp
.rtorrent.rc
.sc_history
.sdirs
.viminfo
.vimrc_back
.xonshrc
.xscreensaver
.yarnrc
.zcompdump*
.zsh_history
Special cases:
gnupg
: this program is supported but the~/.gnupg
file gets regenerated each time on my machine. This would be great to have a mention to that problem in the output ofxdg-ninja
I removed ~/.steampid
as it is mentionned in arduino/Arduino#78.
thunderbird is added in 05cec29
also thank you for pointing a lot of these out.
yes you're right I did not git fetch
the new version, removing that
so would you be open to PRs @wael444?
just to know if it is worth working on some of the programs above
just to know if it is worth working on some of the programs above wink
certainly maybe,
all you need is a description on how to fix it, if it is movable and if it is fixable whatever.
I'm pretty sure you can use the XDG Base Directory wiki page on arch wiki for the resources as that's all i know of.
there are simply too many programs to be honest.
please add my issue arduino/Arduino#78 aka ~/.steampid to your issue.
Hi @a2n-s, thank you so much, this is the most comprehensive list of missing applications I've got so far.
I originally intended to add unsupported apps from the xdg-base-dir page from the arch wiki, but it was not a high priority, so I haven't got around to it yet.
If you would be willing to make a PR for this, that would be awesome. It obviously doesn't have to be all of them, and if you want to do some now and some later, multiple PRs are more than welcome as well.
If you have cabal installed, you can compile the haskell program in this repository, that will make it easier to add new configurations. cabal run xdgnj add
will guide you through the process of adding new configurations, you can preview the config for a program with cabal run xdgnj prev programs/PROGRAM.json
(where PROGRAM is the name of the program you want to preview), and you can edit existing configurations with cabal run xdgnj edit programs/PROGRAM.json
.
If you don't want to go through the trouble, it would still be very helpful if you were to compile the information necessary (I suspect in this case most of the files sadly won't be movable, so this necessary information would be the name of the program responsible for the creation of the file/dir, and optionally a link to a relevant issue discussing xdg compliance) and send that over to me, as a comment to this issue would be fine, then I would go through it myself and create the configs.
Either way, thank you so much for this report and the kind words!
please add my issue arduino/Arduino#78 aka ~/.steampid to your issue.
I purposely removed ~/.steamip
from the list above as you mention it already in arduino/Arduino#78.
The goal of my issue is to shed light on missing programs in xdg-ninja
, i.e. programs not in the code base, nor in any issue or PR, not to swallow the other issues into mine
Hi @a2n-s, thank you so much, this is the most comprehensive list of missing applications I've got so far.
Hi @b3nj5m1n! ๐
I think that is normal and the very minimum to make the life of maintainers of open-source projects easier with clear discussions ๐
I'm far from perfect at that, but I simply try my best
I originally intended to add unsupported apps from the xdg-base-dir page from the arch wiki, but it was not a high priority, so I haven't got around to it yet.
Oh I see, this is a great piece of information for the endeavour of xdg-ninja
!
If you would be willing to make a PR for this, that would be awesome. It obviously doesn't have to be all of them, and if you want to do some now and some later, multiple PRs are more than welcome as well.
I sure can do that, as stated in the opening message of the issue.
If you have cabal installed, you can compile the haskell program in this repository, that will make it easier to add new configurations.
cabal run xdgnj add
will guide you through the process of adding new configurations, you can preview the config for a program withcabal run xdgnj prev programs/PROGRAM.json
(where PROGRAM is the name of the program you want to preview), and you can edit existing configurations withcabal run xdgnj edit programs/PROGRAM.json
.If you don't want to go through the trouble, it would still be very helpful if you were to compile the information necessary (I suspect in this case most of the files sadly won't be movable, so this necessary information would be the name of the program responsible for the creation of the file/dir, and optionally a link to a relevant issue discussing xdg compliance) and send that over to me, as a comment to this issue would be fine, then I would go through it myself and create the configs.
Do not worry, I'll try to find my way through cabal
and the tools you propose to generate proper .json
files ๐
Either way, thank you so much for this report and the kind words!
Well, I was not that much aware of the mess my $HOME
directory was... I knew it was filled with some hidden files, but time did pass and now it is quite out of control. I discovered your project with this video from "The Linux Cast" and, yeah, I do not want uncontrolled files in my $HOME
anymore!! At least know that they are there and cannot be moved ๐
I would like to work on a refactor of my GitHub account this week-end, it's been on my mind for way too long...
But, once I'm done, count on me to open PRs and try to solve as best as I can the files listed above!
I thought about the following plan yesterday before going to bed:
- adding a minimal support for all of the files at once, just to have them checked when running
xdg-ninja
- try to solve the hidden files that still hang around in my dotfiles repo (that's just to have an arbitrary starting point
๐ ) - then address the others when possible
What do you think about that?
Also, before beginning anything... What is the difference between "Currently unsupported" and "No help available" in the .json
files? ๐ค
here's my effortless info that i managed to find
file/directory | status | info |
---|---|---|
.arduino-create |
no information found | |
.eendroroy-coloschemes |
no information found | |
.links |
no information found | |
.lyrics |
no information found | |
.mujoco |
no information found | |
.oh-my-bash |
no information found | |
.oh-my-xonsh |
no information found | |
.quickemu |
no information found | |
.SpaceVim |
no information found | |
.SpaceVim.d |
no information found | |
.telegram-cli |
no information found | |
.trash |
no information found | |
.vim_back |
no information found | |
.info |
no information found | |
.boto |
no information found | |
.dmrc |
no information found | |
.luahistory |
no information found | |
.net.log |
no information found | |
.notion-enhancer |
no information found | |
.nwinkler_random_colors |
no information found | |
.osh-update |
no information found | |
.pdbhistory |
no information found | |
.sc_history |
no information found | |
.sdirs |
no information found | |
.xonshrc |
no information found | |
.xscreensaver |
no information found | |
.arduino15 |
won't fix | arduino/arduino-ide#1514 |
.kube |
won't fix | kubernetes/kubernetes#56402 |
.pytest_cache |
won't fix | pytest-dev/pytest#1089 |
.zotero |
won't fix | zotero/zotero#1203 |
.bashrc |
wont fix | https://savannah.gnu.org/support/?108134 |
.bash_aliases |
won't fix | https://savannah.gnu.org/support/?108134 |
.bash_profile |
won't fix | https://savannah.gnu.org/support/?108134 |
.bash_login |
won't fix | https://savannah.gnu.org/support/?108134 |
.bash_logout |
won't fix | https://savannah.gnu.org/support/?108134 |
.ctags |
wont fix | universal-ctags/ctags#89 |
.matho_history |
won't fix | History can be moved by using rlwrap mathomatic -r with the RLWRAP_HOME environment set appropriately. |
.profile |
won't fix | |
.pulse-cookie |
won't fix | |
.dwarffortess |
unnoticed | https://www.bay12games.com/dwarves/mantisbt/view.php?id=11800 |
.keras |
unnoticed | tensorflow/tensorflow#38831 |
.gsutil |
unnoticed | GoogleCloudPlatform/gsutil#991 |
.screenlayout |
unnoticed | https://gitlab.com/arandr/arandr/-/issues/45 |
.slime |
unnoticed | slime/slime#610 |
.themes |
supported | $XDG_DATA_HOME/themes |
.trash |
supported | $XDG_DATA_HOME/trash |
.virtualbox |
supported | |
.gnuplot_history |
supported | |
.pulse-cookie |
supported | |
.rtorrent |
supported | |
.thumbnails |
needs more information | https://bugzilla.gnome.org/show_bug.cgi?id=166643 |
.vim |
needs more information | XDG_CONFIG_HOME/vim/vimrc https://wiki.archlinux.org/title/XDG_Base_Directory#Supported |
.vimrc |
needs more information | https://wiki.archlinux.org/title/XDG_Base_Directory#Supported |
.viminfo |
needs more information | https://wiki.archlinux.org/title/XDG_Base_Directory#Supported |
.emacs.d |
optional | XDG_CONFIG_HOME/emacs/init.el |
.oh-my-zsh |
optional | ZSH="~/.config/zsh/oh-my-zsh" sh installer.sh |
.xmonad |
optional | `All of these must exist, otherwise it gives up and falls back to ~/.xmonad/ for each: XDG_CACHE_HOME/xmonad, XDG_CONFIG_HOME/xmonad, XDG_DATA_HOME/xmonad |
.yarnrc |
optional | alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"' |
.zshrc |
optional | $ZDOTDIR via ~/.zshenv |
.zcompdump |
optional | $ZDOTDIR via ~/.zshenv |
.zsh_history |
optional | $ZDOTDIR via ~/.zshenv |
.ipython |
optional | The default dotfile path is still $HOME but xdg directories (or ~/.config/ipython if XDG_* vars are unset) are supported and work correctly. |
.moc |
optional | mocp -M "$XDG_CONFIG_HOME"/moc mocp -O MOCDir="$XDG_CONFIG_HOME"/moc |
.surf |
optional | see config.def.h |
should i open a PR for the information i managed to gather?
Thanks a lot @wael444, this is a great start.
should i open a PR for the information i managed to gather?
Yes, let's start with the ones that are "won't fix" and have relevant issues attached.
@a2n-s
I thought about the following plan yesterday before going to bed:
adding a minimal support for all of the files at once, just to have them checked when running xdg-ninja
try to solve the hidden files that still hang around in my dotfiles repo (that's just to have an arbitrary starting point wink)
then address the others when possible
What do you think about that?
I'm not sure what you mean by minimal support, but this sounds like a good plan to me. If we manage to add support for some of these before you get to it, I'll try to create and maintain a checklist in a comment here somewhere, so it's clear which ones have been addressed and which ones haven't.
Also, before beginning anything... What is the difference between "Currently unsupported" and "No help available" in the .json files?
No help available is automatically inserted into the output when the "help" section is left completely blank. This is mostly for stuff that probably won't get xdg support, and where the either isn't a relevant issue to link to, or I was too lazy to dig it up. The goal is to reduce the number of files producing this.
Currently unsupported means it's not supported (you can also use this if there are no official plans to add support, i.e. it's been marked as won't fix), but these generally link to a relevant issue.
You shouldn't worry about this too much, as the helper program will generate a template for you based on whether the file can be moved or not.
No help available is automatically inserted into the output when the "help" section is left completely blank. This is mostly for stuff that probably won't get xdg support, and where the either isn't a relevant issue to link to, or I was too lazy to dig it up. The goal is to reduce the number of files producing this.
Currently unsupported means it's not supported (you can also use this if there are no official plans to add support, i.e. it's been marked as won't fix), but these generally link to a relevant issue.
You shouldn't worry about this too much, as the helper program will generate a template for you based on whether the file can be moved or not.
ok I understand ๐
I'm not sure what you mean by minimal support, but this sounds like a good plan to me. If we manage to add support for some of these before you get to it, I'll try to create and maintain a checklist in a comment here somewhere, so it's clear which ones have been addressed and which ones haven't.
I mean simply adding a blank file, or with "Currently unsupported" at least, to have the program in the database of xdg-ninja
I was willing to start working on that but do not want to produce duplicate work. Let's wait for @wael444 to respond to you and see if a PR is opened, no need to open twice the same PR ๐
I was willing to start working on that but do not want to produce duplicate work. Let's wait for @wael444 to respond to you and see if a PR is opened, no need to open twice the same PR wink
what do you exactly want me to do? just add the programs into programs/
and open a PR?
Add then using cabal run xdgnj add
, that will add them to programs/, then open a PR.
Just to clarify @wael444, since you said in #79 (comment) that you "have no idea how to use cabal
", are you still planning to work on this?
Just to clarify @wael444, since you said in #79 (comment) that you "have no idea how to use
cabal
", are you still planning to work on this?
Sorry, I am unable to work on it.
Sadly, I've not been able to compile the haskell
code using cabal run xdgnj add
...
i've tried cabal update
, cabal install --dependencies-only --ghc-option=-dynamic
, but none of them worked
I will fall back onto my editor of choice, that's not a big deal for the work to be done, just a bit sad not being successfull with a new tool ๐
Are you on arch linux? There's some additional configuration you need to do, namely adding the following to your cabal config:
library-vanilla: False
shared: True
executable-dynamic: True
program-default-options
ghc-options: -dynamic
See also the arch wiki page.
If it still doesn't work, you can also just write out the information and give it to me in a text file or something like that, then I'll add the properly formatted configs. Sorry about the inconvenience.
I'll try to write a Dockerfile to make this easier.
Are you on arch linux? There's some additional configuration you need to do, namely adding the following to your cabal config:
yes I am
library-vanilla: False shared: True executable-dynamic: True program-default-options ghc-options: -dynamic
See also the arch wiki page.
that is super strange, it did not work...
i ran cabal run xdgnj prev programs/git.json
... which worked
and now cabal run xdgnj add
appears to be working
If it still doesn't work, you can also just write out the information and give it to me in a text file or something like that, then I'll add the properly formatted configs. Sorry about the inconvenience.
that is not your fault at all
I'll try to write a Dockerfile to make this easier.
that would be amazing
Below is a todo list of all the programs from the beginning of that issue:
- .arduino-create/
- .arduino15/
- .dwarffortress/
- .eendroroy-coloschemes/
- .emacs.d/
- .gsutil/
- .ipython/
- .keras/
- .kube/
- .links/
- .lyrics/
- .moc/
- .mujoco/
- .oh-my-bash/
- .oh-my-xonsh/
- .pytest_cache/
- .quickemu/
- .screenlayout/
- .slime/
- .SpaceVim/
- .SpaceVim.d/
- .surf/
- .telegram-cli/
- .themes/
- .thumbnails/
- .trash/
- .vim/ -> ~/.SpaceVim/
- .vim_back/
- .virtualbox/
- .when/
- .xmonad/
- .zotero/
- .bash_aliases
- .bash_logout
- .bash_profile
- .bashrc
- .bashrc.backup
- .boto
- .ctags
- .dmrc
- .gcalcli_cache
- .gcalcli_oauth
- .gnuplot_history
- .grip-oggenc
- .luahistory
- .matho_history
- .net.log
- .notion-enhancer
- .nwinkler_random_colors
- .osh-update
- .pdbhistory
- .profile
- .pulse-cookie
- .python_history-83827.tmp
- .rtorrent.rc
- .sc_history
- .sdirs
- .viminfo
- .vimrc_back
- .xonshrc
- .xscreensaver
- .yarnrc
- .zcompdump*
- .zsh_history
I push the first ones so that you can tell me if that's ok with you @b3nj5m1n
I'll try to write a Dockerfile to make this easier.
I added a dockerfile on a new branch, it builds a statically linked executable from the project, so it should run anywhere without any dependencies needed (?)
You can find the dockerfile here and a prebuilt binary here.
I'll give it a try later in a vm to see if it really works properly as a standalone binary, if it does, it should make using the helper program a lot easier.
And there we have it! The full list implemented in ./programs
.
Some of them are really unclear about what program that is and how to fix it, but this is the best so far, and people can still open issues to fix any problem
I'll try to write a Dockerfile to make this easier.
I added a dockerfile on a new branch, it builds a statically linked executable from the project, so it should run anywhere without any dependencies needed (?)
You can find the dockerfile here and a prebuilt binary here.
I'll give it a try later in a vm to see if it really works properly as a standalone binary, if it does, it should make using the helper program a lot easier.
really great news for future contributions
I propose to move to the new issue below, as this issue will probably be closed soon, after the merge of arduino/Arduino#82, if you accept it
As this is fully merged, I close the issue