144 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| (
 | |
|   final: prev:
 | |
|   with prev;
 | |
|   let
 | |
|     import_script = (_: path: import (path) { inherit pkgs lib; });
 | |
|     create_script = (
 | |
|       name: text: runtimeInputs:
 | |
|       let
 | |
|         script_body = pkgs.writeTextFile {
 | |
|           inherit name;
 | |
|           executable = true;
 | |
|           text = ''
 | |
|             ${builtins.readFile text}
 | |
|           '';
 | |
|         };
 | |
|       in
 | |
|       (pkgs.writeShellApplication {
 | |
|         inherit name runtimeInputs;
 | |
|         text = ''exec ${script_body} "$@"'';
 | |
|         checkPhase = "";
 | |
|       })
 | |
|     );
 | |
|     create_scripts = lib.mapAttrs (name: deps: create_script name ./${name} deps);
 | |
| 
 | |
|     pass = pkgs.pass.withExtensions (ex: with ex; [ pass-otp ]);
 | |
|   in
 | |
|   create_scripts {
 | |
|     br = [ ];
 | |
|     bmenu = [
 | |
|       final.bemenu
 | |
|       final.dhist
 | |
|       fish
 | |
|       j4-dmenu-desktop
 | |
|       jq
 | |
|       sway
 | |
|     ];
 | |
|     down_meme = [
 | |
|       wl-clipboard
 | |
|       yt-dlp
 | |
|       libnotify
 | |
|     ];
 | |
|     wl-copy-file = [
 | |
|       wl-clipboard
 | |
|       fish
 | |
|     ];
 | |
|     _diffr = [ diffr ];
 | |
|     _thunar-terminal = [ final.terminal ];
 | |
|     _sway_idle_toggle = [ final.swayidle ];
 | |
|     kak-pager = [
 | |
|       fish
 | |
|       final._diffr
 | |
|     ];
 | |
|     kak-man-pager = [ final.kak-pager ];
 | |
|     helix-pager = [
 | |
|       fish
 | |
|       final._diffr
 | |
|     ];
 | |
|     helix-man-pager = [ final.helix-pager ];
 | |
|     musmenu = [
 | |
|       mpc-cli
 | |
|       final.wdmenu
 | |
|       trash-cli
 | |
|       xdg-user-dirs
 | |
|       libnotify
 | |
|       sd
 | |
|       wl-clipboard
 | |
|     ];
 | |
|     showkeys = [ ]; # This will not work unless programs.wshowkeys is enabled systemwide
 | |
|     terminal = [ alacritty ];
 | |
|     playerctl-status = [ playerctl ];
 | |
|     pass-export = [
 | |
|       pass2csv
 | |
|       gnupg
 | |
|     ];
 | |
|     wpass = [
 | |
|       final.wdmenu
 | |
|       fd
 | |
|       pass
 | |
|       sd
 | |
|       wl-clipboard
 | |
|       wtype
 | |
|     ];
 | |
|     screenshotsh = [
 | |
|       capitaine-cursors
 | |
|       grim
 | |
|       slurp
 | |
|       jq
 | |
|       sway
 | |
|       wl-clipboard
 | |
|       xdg-user-dirs
 | |
|     ];
 | |
|     volumesh = [
 | |
|       pulseaudio
 | |
|       libnotify
 | |
|     ];
 | |
|     pulse_sink = [
 | |
|       pulseaudio
 | |
|       pamixer
 | |
|       final.wdmenu
 | |
|     ];
 | |
|     color_picker = [
 | |
|       grim
 | |
|       slurp
 | |
|       wl-clipboard
 | |
|       libnotify
 | |
|       imagemagick
 | |
|     ];
 | |
|     dzadd = [
 | |
|       procps
 | |
|       libnotify
 | |
|       final.wdmenu
 | |
|       jq
 | |
|       mpv
 | |
|       pqiv
 | |
|       python3Packages.deemix
 | |
|       mpc-cli
 | |
|       final.mpdDup
 | |
|     ];
 | |
|     mpdDup = [
 | |
|       mpc-cli
 | |
|       perl
 | |
|     ];
 | |
|     readQrCode = [
 | |
|       grim
 | |
|       zbar
 | |
|       wl-clipboard
 | |
|     ];
 | |
|     auto_connect_gamepad = [
 | |
|       bluez
 | |
|       coreutils
 | |
|       final.gnugrep
 | |
|     ];
 | |
|     powerplay-led-idle = [
 | |
|       final.bash
 | |
|       libinput
 | |
|       libratbag
 | |
|     ];
 | |
|   }
 | |
|   // lib.mapAttrs import_script {
 | |
|     wdmenu = ./wdmenu.nix;
 | |
|     wlauncher = ./wlauncher.nix;
 | |
|     _gpg-unlock = ./_gpg-unlock.nix;
 | |
|   }
 | |
| )
 |