blob: 63a38a34361d2910aaa9277286e9960052924c92 (
plain) (
tree)
|
|
{
pkgs,
lib,
sysLib,
config,
...
}: let
write_script = {
name,
path,
dependencies,
}:
sysLib.writeShellScriptWithLibrary {
inherit name;
src = ./scripts/${path}/${name};
dependencies = dependencies ++ [pkgs.dash];
};
aumo-scr = write_script {
name = "aumo";
path = "apps";
dependencies = builtins.attrValues {inherit (pkgs) udisks gawk gnused gnugrep sudo;};
};
con2pdf-scr = sysLib.writeShellScriptWithLibrary {
name = "con2pdf";
src = ./scripts/apps/con2pdf;
dependencies = builtins.attrValues {inherit (pkgs) sane-backends imagemagick coreutils fd;};
generateCompletions = true;
replacementStrings = {
DEVICE_FUNCTION =
# This is here, because escaping the whole function, to use it in the shell script
# directly just isn't possible
pkgs.writeText "DEVICE_FUNCTION"
/*
bash
*/
''
scanimage -L | awk 'BEGIN { FS = "`" } { gsub(/'.*/, "", $2); print $2 }'
'';
};
};
dldragon-scr = write_script {
name = "dldragon";
path = "small_functions";
dependencies = builtins.attrValues {inherit (pkgs) curl xdragon;};
};
gtk-themes-scr = write_script {
name = "gtk-themes";
path = "small_functions";
dependencies = builtins.attrValues {inherit (pkgs) glib;};
};
screen_shot-scr = write_script {
name = "screen_shot";
path = "small_functions";
dependencies = builtins.attrValues {inherit (pkgs) grim slurp alacritty;}; # TODO: add llp
};
mocs-scr = write_script {
name = "mocs";
path = "small_functions";
dependencies = builtins.attrValues {inherit (pkgs) ncmpc procps;}; # TODO: add mymocp
};
neorg-scr = sysLib.writeShellScriptWithLibraryAndKeepPath {
name = "neorg";
src = ./scripts/wrappers/neorg;
dependencies = with pkgs; [
cocogitto
git-crypt
rofi
libnotify
];
generateCompletions = true;
replacementStrings = {
DEFAULT_NEORG_PROJECT_DIR =
config.programs.nixvim.plugins.neorg.modules."core.dirman".config.workspaces.projects;
HOME_TASKRC = "${config.xdg.configHome}/task/home-manager-taskrc";
ALL_PROJECTS_NEWLINE = "${config.soispha.taskwarrior.projects.projects_newline}";
ALL_PROJECTS_COMMA = "${config.soispha.taskwarrior.projects.projects_comma}";
ALL_PROJECTS_PIPE = "${config.soispha.taskwarrior.projects.projects_pipe}";
ALL_WORKSPACES = "${lib.strings.concatStringsSep "|" (builtins.attrNames config.programs.nixvim.plugins.neorg.modules."core.dirman".config.workspaces)}";
ID_GENERATION_FUNCTION =
# This is here, because escaping the whole function, to use it in the shell script
# directly just isn't possible
pkgs.writeText "ID_GENERATION_FUNCTION"
/*
bash
*/
''
`(wc="$(task project:"$(task _get rc.context)" _ids)"; if [ "$wc" ]; then echo "$wc"; else echo "0"; fi ) | xargs task _zshids | awk -F: -v s="'" '{print $1 ":" s $2 s}'`
'';
# TODO: Replace the hard-coded path here with some reference <2023-10-20>
TASK_PROJECT_FILE = "/home/soispha/repos/nix/nixos-config/hm/soispha/conf/taskwarrior/projects/default.nix";
};
};
update-sys-scr = write_script {
name = "update-sys";
path = "small_functions";
dependencies = builtins.attrValues {inherit (pkgs) git git-crypt nixos-rebuild sudo openssh coreutils mktemp gnugrep gnused;};
};
ll-scr = sysLib.writeShellScriptWithLibraryUnwrapped {
name = "ll";
src = ./scripts/wrappers/ll;
};
# TODO: this need to be replaced with a wayland alternative
# llp-scr = write_script {
# name = "llp";
# path = "wrappers";
# dependencies = builtins.attrValues {inherit (pkgs) lf ueberzug;};
# };
spodi-scr = write_script {
name = "spodi";
path = "wrappers";
dependencies = builtins.attrValues {inherit (pkgs) gawk expect spotdl fd coreutils;};
};
virsh-del-scr = write_script {
name = "virsh-del";
path = "wrappers";
dependencies = builtins.attrValues {inherit (pkgs) libvirt;};
};
yti-scr = write_script {
name = "yti";
path = "wrappers";
dependencies = builtins.attrValues {inherit (pkgs) gawk expect yt-dlp;};
};
in [
aumo-scr
con2pdf-scr
dldragon-scr
gtk-themes-scr
ll-scr
# llp-scr # TODO: see above
mocs-scr
neorg-scr
screen_shot-scr
# spodi-scr # # TODO: Reactivate when spotdl builds again <2023-10-31>
update-sys-scr
virsh-del-scr
yti-scr
]
|