2017-10-18 00:12:57 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
pkgsSrc ? ./pkgs.nix
|
|
|
|
|
|
|
|
}: rec {
|
|
|
|
|
|
|
|
pkgs = (import pkgsSrc) {};
|
|
|
|
|
|
|
|
gitConfig = pkgs.writeTextDir "git/config"
|
|
|
|
(builtins.readFile ./base/gitconfig);
|
|
|
|
|
|
|
|
git = pkgs.writeScriptBin "git" ''
|
|
|
|
#!${pkgs.bash}/bin/bash
|
|
|
|
export XDG_CONFIG_HOME=${gitConfig}
|
|
|
|
exec ${pkgs.git}/bin/git "$@"
|
|
|
|
'';
|
|
|
|
|
|
|
|
zsh = ((import ./zsh) { inherit pkgs; }).zsh;
|
|
|
|
|
|
|
|
loadout = pkgs.buildEnv {
|
|
|
|
name = "loadout";
|
|
|
|
paths = [
|
|
|
|
|
|
|
|
pkgs.gnugrep
|
|
|
|
pkgs.ag
|
|
|
|
pkgs.gawk
|
|
|
|
|
|
|
|
git
|
|
|
|
pkgs.mercurial
|
|
|
|
pkgs.breezy # bzr
|
|
|
|
|
|
|
|
pkgs.gcc
|
|
|
|
pkgs.gnumake
|
|
|
|
pkgs.cmake
|
|
|
|
pkgs.strace
|
|
|
|
|
|
|
|
pkgs.curl
|
|
|
|
pkgs.wget
|
|
|
|
pkgs.rsync
|
|
|
|
|
|
|
|
pkgs.hostname
|
|
|
|
pkgs.netcat
|
|
|
|
pkgs.nmap
|
|
|
|
pkgs.dnsutils
|
|
|
|
pkgs.openssh
|
|
|
|
|
|
|
|
pkgs.tmux
|
|
|
|
|
|
|
|
pkgs.ncdu
|
|
|
|
pkgs.htop
|
|
|
|
|
|
|
|
pkgs.unzip
|
|
|
|
pkgs.unrar
|
|
|
|
pkgs.gzip
|
|
|
|
|
|
|
|
pkgs.jq
|
|
|
|
pkgs.yq
|
|
|
|
pkgs.go
|
|
|
|
|
|
|
|
pkgs.xsel
|
|
|
|
pkgs.pavucontrol
|
|
|
|
|
|
|
|
(pkgs.nerdfonts.override { fonts = [ "SourceCodePro" ]; })
|
|
|
|
|
|
|
|
((import ./nvim) { inherit pkgs; }).nvim
|
|
|
|
zsh
|
|
|
|
((import ./alacritty) { inherit pkgs zsh; }).alacritty
|
|
|
|
((import ./awesome) { inherit pkgs; }).awesome
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2021-10-06 03:57:22 +00:00
|
|
|
appimageEntrypoint = pkgs.writeScript "mediocre-loadout" ''
|
2017-10-18 00:12:57 +00:00
|
|
|
#!${pkgs.bash}/bin/bash
|
|
|
|
|
|
|
|
cmd="$1"; shift;
|
|
|
|
|
2021-10-06 03:57:22 +00:00
|
|
|
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
|
2017-10-18 00:12:57 +00:00
|
|
|
|
2021-10-06 03:57:22 +00:00
|
|
|
echo "USAGE: $0 [nvim|zsh|alacritty|awesome] [passthrough args...]"
|
2017-10-18 00:12:57 +00:00
|
|
|
exit 1
|
|
|
|
'';
|
|
|
|
|
2021-10-06 03:57:22 +00:00
|
|
|
appimageDesktopFile = builtins.toFile "mediocre-loadout.desktop" ''
|
2017-10-18 00:12:57 +00:00
|
|
|
[Desktop Entry]
|
|
|
|
Name=Mediocre Loadout
|
2021-10-06 03:57:22 +00:00
|
|
|
Exec=mediocre-loadout alacritty
|
2017-10-18 00:12:57 +00:00
|
|
|
Icon=mediocre-loadout
|
|
|
|
Type=Application
|
|
|
|
Categories=Utility;
|
|
|
|
'';
|
|
|
|
|
2021-10-06 03:57:22 +00:00
|
|
|
appdir = pkgs.stdenv.mkDerivation {
|
2017-10-18 00:12:57 +00:00
|
|
|
name = "mediocre-loadout-target-flat";
|
2021-10-06 03:57:22 +00:00
|
|
|
|
|
|
|
inherit appimageEntrypoint appimageDesktopFile;
|
|
|
|
appimageIcon = ./bonzi.png;
|
|
|
|
src = loadout;
|
|
|
|
|
2017-10-18 00:12:57 +00:00
|
|
|
builder = builtins.toFile "builder.sh" ''
|
|
|
|
source $stdenv/setup
|
2021-10-06 03:57:22 +00:00
|
|
|
|
2017-10-18 00:12:57 +00:00
|
|
|
cp -rL "$src" "$out"
|
2021-10-06 03:57:22 +00:00
|
|
|
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
|
2017-10-18 00:12:57 +00:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
appimage = ((import ./appimage.nix) { pkgsSrc = pkgsSrc; }) {
|
|
|
|
name = "mediocre-loadout";
|
2021-10-06 03:57:22 +00:00
|
|
|
target = appdir;
|
2017-10-18 00:12:57 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|