got AppImage build working on my desktop
On my desktop the AppImage build kept picking up the `Htop.desktop` file, whereas on my laptop it would pick up the `medicore-loadout.desktop` file as expected. I'm not sure of why the discrepancy, maybe some difference in the directory listing order. In any case, I fixed it by deleting all desktop files, except the loadout's, from the AppDir.
This commit is contained in:
parent
07ab3a77b4
commit
0cd135b57d
30
README.md
30
README.md
@ -73,31 +73,33 @@ binary:
|
||||
./Mediocre_Loadout-x86_64.AppImage nvim
|
||||
```
|
||||
|
||||
NOTE that the AppImage doesn't like working with files within `/tmp`. I don't
|
||||
know of a workaround for this at the moment.
|
||||
|
||||
# Available Components
|
||||
|
||||
Components of the loadout can be run separate from the others, depending on what
|
||||
you're trying to do. The following components are available to be run:
|
||||
|
||||
* `zsh` (`shell` in the AppImage): My terminal shell. There's some customization
|
||||
* `zsh`: My terminal shell. There's some customization
|
||||
to it but it should be pretty self-explanatory to "just use".
|
||||
|
||||
* `nvim` (`editor` in the AppImage): My neovim development environment, plus all
|
||||
plugins I use. I mostly work in golang, so it's most tuned for that, but it
|
||||
does fine for general dev work. `Ctrl-N` will open NerdTree, `<backslash>tn`
|
||||
will open a terminal tab, and `<backslash>th`/`<backslash>tl` can be used to
|
||||
navigate tabs. There's a lot more customization that's been done, see the
|
||||
`nvim/init.vim` file.
|
||||
* `nvim`: My neovim development environment, plus all plugins I use. I mostly
|
||||
work in golang, so it's most tuned for that, but it does fine for general dev
|
||||
work. `Ctrl-N` will open NerdTree, `<backslash>tn` will open a terminal tab,
|
||||
and `<backslash>th`/`<backslash>tl` can be used to navigate tabs. There's a
|
||||
lot more customization that's been done, see the `nvim/init.vim` file.
|
||||
|
||||
* `alacritty` (`gui` in the AppImage, might be broken): Terminal which I use.
|
||||
Yes, I always use a light-mode theme, because I work in well lit spaces
|
||||
generally. There's not much else to this.
|
||||
* `alacritty`: Terminal GUI which I use. Yes, I always use a light-mode theme,
|
||||
because I work in well lit spaces generally. There's not much else to this.
|
||||
|
||||
* `awesome` (`wm` in the AppImage, almost definitely broken): My window manager.
|
||||
There's so much customization I couldn't begin to start. `Meta+Enter` should
|
||||
open a terminal, where `Meta` is probably the windows key on your keyboard.
|
||||
* `awesome`: My window manager. There's so much customization I couldn't begin
|
||||
to start. `Meta+Enter` should open a terminal, where `Meta` is probably the
|
||||
windows key on your keyboard.
|
||||
|
||||
# Status
|
||||
|
||||
This configuration is still fairly new, and so expect it to be fairly broken.
|
||||
I'll be updating it as I go though, so it should stabalize into something
|
||||
functional.
|
||||
functional. I don't test the AppImage build very much, it's more of a gimick,
|
||||
but the shell and dev environment should work well from it at least.
|
||||
|
57
default.nix
57
default.nix
@ -69,62 +69,55 @@
|
||||
];
|
||||
};
|
||||
|
||||
appimageEntrypoint = pkgs.writeScriptBin "mediocre-loadout" ''
|
||||
appimageEntrypoint = pkgs.writeScript "mediocre-loadout" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
|
||||
cmd="$1"; shift;
|
||||
|
||||
if [ "$cmd" = "editor" ]; then exec nvim "$@"; fi
|
||||
if [ "$cmd" = "shell" ]; then exec zsh "$@"; fi
|
||||
if [ "$cmd" = "gui" ]; then exec alacritty "$@"; fi
|
||||
if [ "$cmd" = "wm" ]; then exec awesome "$@"; fi
|
||||
if [ "$cmd" = "nvim" ]; then exec nvim "$@"; fi
|
||||
if [ "$cmd" = "zsh" ]; then exec zsh "$@"; fi
|
||||
if [ "$cmd" = "alacritty" ]; then exec alacritty "$@"; fi
|
||||
if [ "$cmd" = "awesome" ]; then exec awesome "$@"; fi
|
||||
|
||||
echo "USAGE: $0 [editor|shell|gui|wm] [passthrough args...]"
|
||||
echo "USAGE: $0 [nvim|zsh|alacritty|awesome] [passthrough args...]"
|
||||
exit 1
|
||||
'';
|
||||
|
||||
appimageIcon = pkgs.stdenv.mkDerivation {
|
||||
name = "mediocre-loadout-icon";
|
||||
src = ./bonzi.png;
|
||||
builder = builtins.toFile "builder.sh" ''
|
||||
source $stdenv/setup
|
||||
dir=share/icons/hicolor/256x256/apps
|
||||
mkdir -p "$out"/$dir
|
||||
cp $src "$out"/$dir/mediocre-loadout.png
|
||||
'';
|
||||
};
|
||||
|
||||
appimageDesktopFile = pkgs.writeTextDir "share/applications/mediocre-loadout.desktop" ''
|
||||
appimageDesktopFile = builtins.toFile "mediocre-loadout.desktop" ''
|
||||
[Desktop Entry]
|
||||
Name=Mediocre Loadout
|
||||
Exec=mediocre-loadout gui
|
||||
Exec=mediocre-loadout alacritty
|
||||
Icon=mediocre-loadout
|
||||
Type=Application
|
||||
Categories=Utility;
|
||||
'';
|
||||
|
||||
appimageTarget = pkgs.buildEnv {
|
||||
name = "mediocre-loadout-target";
|
||||
paths = [
|
||||
loadout
|
||||
appimageEntrypoint
|
||||
appimageIcon
|
||||
appimageDesktopFile
|
||||
];
|
||||
};
|
||||
|
||||
appimageTargetFlat = pkgs.stdenv.mkDerivation {
|
||||
appdir = pkgs.stdenv.mkDerivation {
|
||||
name = "mediocre-loadout-target-flat";
|
||||
src = appimageTarget;
|
||||
|
||||
inherit appimageEntrypoint appimageDesktopFile;
|
||||
appimageIcon = ./bonzi.png;
|
||||
src = loadout;
|
||||
|
||||
builder = builtins.toFile "builder.sh" ''
|
||||
source $stdenv/setup
|
||||
|
||||
cp -rL "$src" "$out"
|
||||
chmod -R +w "$out"
|
||||
|
||||
rm -rf "$out"/share/applications/*
|
||||
cp "$appimageDesktopFile" "$out"/share/applications/mediocre-loadout.desktop
|
||||
cp "$appimageEntrypoint" "$out"/bin/mediocre-loadout
|
||||
|
||||
icondir=share/icons/hicolor/256x256/apps
|
||||
mkdir -p "$out"/$icondir
|
||||
cp "$appimageIcon" "$out"/$icondir/mediocre-loadout.png
|
||||
'';
|
||||
};
|
||||
|
||||
appimage = ((import ./appimage.nix) { pkgsSrc = pkgsSrc; }) {
|
||||
name = "mediocre-loadout";
|
||||
target = appimageTargetFlat;
|
||||
target = appdir;
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user