Файлы рабочего стола Nix

Этот сценарий найдет все файлы в целевом каталоге и сгенерирует новый сценарий, который переименует все файлы, чтобы в них не было пробелов. Затем вы можете просмотреть сценарий на досуге перед выполнением:

#!/bin/bash
TARGET=/path/to/files
NEWSCRIPT=${HOME}/rename-spaced-files.sh

OLDIFS="${IFS}"
IFS="\n"
for file in $(find ${TARGET}/ -type f -name "* *"); do
    if [[ -f \"${file// /}\" ]]; then
        echo "# \"${file// /}\" already exists- come up with a new name for it and uncomment the next line" >> $NEWSCRIPT
        echo -n "# " >> $NEWSCRIPT
    fi
    echo "mv \"${file}\" \"${file// /}\"" >> $NEWSCRIPT

done
4
23.09.2016, 14:36
2 ответа

Предположим, что вы используете дистрибутив, отличный от NixOS, тогда да, вы можете ожидать, что ваше окружение рабочего стола будет искать ваши приложения в /usr/share/applications, в то время как приложения, установленные в Nix, находятся в ~/.nix-profile/share/applications.

Вместо создания симлинка из /usr/share/applications вы должны указать своему рабочему столу, где искать. Это можно сделать, добавив следующее в ~/.profile:

export XDG_DATA_DIRS=$HOME/.nix-profile/share:$HOME/.share:"${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"

Таким образом, ваш рабочий стол будет искать приложения как в /usr/share/applications, так и в ~/.nix-profile/share/applications, с приоритетом приложений, установленных с Nix.

For more info, https://nixos.org/wiki/KDE#Using_KDE_outside_NixOS

17
27.01.2020, 20:47

После изменения $ XDG_DATA_DIRS в .profile мне не удалось войти в систему с Ubuntu Gnome 16.10.

Вместо этого я решил это с помощью символических ссылок. Приведенная ниже команда находит все ссылки в .nix-profile / share / applications и связывает их с .local / share / applications . Замените teodorlu своим именем пользователя.

find ~/nix-profile/share/applications -type l -exec ln -s /home/teodorlu/{} ~/.local/share/applications \;
0
27.01.2020, 20:47

Теги

Похожие вопросы