diff options
Diffstat (limited to 'home-manager/config/lf/default.nix')
-rw-r--r-- | home-manager/config/lf/default.nix | 325 |
1 files changed, 4 insertions, 321 deletions
diff --git a/home-manager/config/lf/default.nix b/home-manager/config/lf/default.nix index 6591cd56..ac092cc8 100644 --- a/home-manager/config/lf/default.nix +++ b/home-manager/config/lf/default.nix @@ -1,56 +1,11 @@ { - config, pkgs, sysLib, + config, ... }: let - functionCall = { - file, - dependencies, - ... - }: - sysLib.makeShellScriptWithLibraryAndKeepPath { - name = "${builtins.baseNameOf file}"; - script = file; - dependencies = dependencies ++ (builtins.attrValues {inherit (pkgs) dash coreutils;}); - } - + "/bin/${builtins.baseNameOf file}"; - shell = { - file, - dependencies, - ... - }: '' - ''${{ - ${functionCall {inherit file dependencies;}} - }} - ''; # closes the lf tui - pipe = { - file, - dependencies, - ... - }: '' - %{{ - ${functionCall {inherit file dependencies;}} - }} - ''; # runs the command in the ui/term bar - async = { - file, - dependencies, - ... - }: '' - &{{ - ${functionCall {inherit file dependencies;}} - }} - ''; # runs the command in the background - wait = { - file, - dependencies, - ... - }: '' - !{{ - ${functionCall {inherit file dependencies;}} - }} - ''; # adds a prompt after the command has run + commands = import ./commands {inherit pkgs sysLib;}; + keybindings = import ./keybindings {inherit config;}; in { xdg.configFile."lf/icons".source = ./icons; xdg.configFile."lf/colors".source = ./colors; @@ -60,280 +15,8 @@ in { programs.lf = { enable = true; - commands = { - archive = shell { - file = ./cmds/archive; - dependencies = builtins.attrValues { - inherit - (pkgs) - fzf - gnutar - xz - p7zip - zip - ; - }; - }; - broot_jump = shell { - file = ./cmds/broot_jump; - dependencies = builtins.attrValues { - inherit (pkgs) broot; - }; - }; - chmod = pipe { - file = ./cmds/chmod; - dependencies = []; - }; - clear_trash = shell { - file = ./cmds/clear_trash; - dependencies = builtins.attrValues { - inherit - (pkgs) - fzf - trashy - ; - }; - }; - dl_file = pipe { - file = ./cmds/dl_file; - dependencies = builtins.attrValues { - inherit - (pkgs) - xdragon - curl - ; - }; - }; - dragon = pipe { - file = ./cmds/dragon; - dependencies = builtins.attrValues { - inherit - (pkgs) - xdragon - ; - }; - }; - dragon_individual = pipe { - file = ./cmds/dragon_individual; - dependencies = builtins.attrValues { - inherit - (pkgs) - xdragon - ; - }; - }; - dragon_stay = pipe { - file = ./cmds/dragon_stay; - dependencies = builtins.attrValues { - inherit - (pkgs) - xdragon - ; - }; - }; - fzf_jump = shell { - file = ./cmds/fzf_jump; - dependencies = builtins.attrValues { - inherit (pkgs) fzf lf gnused; - }; - }; - help = shell { - file = ./cmds/help; - dependencies = []; - }; - mk_dir = pipe { - file = ./cmds/mk_dir; - dependencies = []; - }; - mk_file = shell { - file = ./cmds/mk_file; - dependencies = []; - }; - mk_ln = pipe { - file = ./cmds/mk_ln; - dependencies = []; - }; - mk_scr = shell { - file = ./cmds/mk_scr; - dependencies = builtins.attrValues {inherit (pkgs) neovim;}; - }; - open = shell { - file = ./cmds/open; - dependencies = builtins.attrValues {inherit (pkgs) file xdg-utils neovim git;}; - }; - open_config = shell { - file = ./cmds/open_config; - dependencies = builtins.attrValues { - #inherit - #(pkgs) - ## TODO rewrite this: bookmenu, https://github.com/jarun/buku - # - #buku - #; - }; - }; - restore_trash = shell { - file = ./cmds/restore_trash; - dependencies = builtins.attrValues { - inherit - (pkgs) - fzf - trashy - ; - }; - }; - set_wall_paper = pipe { - file = ./cmds/set_wall_paper; - dependencies = []; - }; - stripspace = pipe { - file = ./cmds/stripspace; - dependencies = []; - }; - trash = pipe { - file = ./cmds/trash; - dependencies = builtins.attrValues { - inherit - (pkgs) - trashy - trash-cli - findutils - ; - }; - }; - unarchive = pipe { - file = ./cmds/unarchive; - dependencies = builtins.attrValues { - inherit - (pkgs) - gnutar - unzip - # TODO this is unfree! unrar - - p7zip - ; - }; - }; - }; - keybindings = { - # Remove some defaults - m = null; - "\"'\"" = null; - "'\"'" = null; - d = null; - c = null; - e = null; - j = null; - k = null; - l = null; - ";" = null; - - # File Openers - ee = "\$\$EDITOR \"$f\""; - u = "%\$IVIEWER \"$f\""; - cc = "\$sudo -e \"$f\""; - - # Archive Mappings - au = "unarchive"; - aa = "archive"; - - # Trash Mappings - dd = "trash"; - jc = "clear_trash"; - jr = "restore_trash"; - - # Broot Mapping - f = "fzf_jump"; - - # Dragon Mapping - dr = "dragon"; - ds = "dragon-stay"; - di = "dragon-individual"; - #dm = "mvdragon"; - #dc = "cpdragon"; - dl = "dlfile"; + inherit commands keybindings; - cs = "stripspace"; - - # Vim keys - h = "updir"; - t = "down"; - n = "up"; - s = "open"; - - # Basic Functions - bn = "help"; - kk = "mk_ln"; - "." = "set hidden!"; - DD = "delete"; - p = "paste"; - x = "cut"; - y = "copy"; - "<enter>" = "open"; - mf = "mk_file"; - md = "mk_dir"; - ms = "mk_scr"; - ch = "chmod"; - bg = "set_wall_paper"; - o = "open_config"; - br = "\$vimv \$fx"; # TODO what is this command? - r = "rename"; - H = "top"; - L = "bottom"; - R = "reload"; - C = "clear"; - U = "unselect"; - - # Movement - gjr = "cd ~/.local/share/Trash/files"; - gus = "cd /run/${config.home.username}"; - - "gr." = "cd ~/repos"; - grr = "cd ~/repos/rust"; - grp = "cd ~/repos/python"; - grc = "cd ~/repos/c"; - gra = "cd ~/repos/auto_hot_key"; - grn = "cd ~/repos/nix"; - grt = "cd ~/repos/tex"; - grs = "cd ~/repos/shell"; - grch = "cd ~/repos/chroot"; - grpe = "cd ~/repos/perl"; - grja = "cd ~/repos/java"; - grjs = "cd ~/repos/java_script"; - # ------------- - "gm." = "cd ~/media"; - gmpi = "cd ~/media/pictures"; - gmd = "cd ~/media/downloads"; - gmpl = "cd ~/media/playlist"; - gmi = "cd ~/media/isos"; - # ------------- - "gs." = "cd ~/school"; - gsgs = "cd ~/school/geschichte"; - gsch = "cd ~/school/chemie"; - gsen = "cd ~/school/english"; - gsgo = "cd ~/school/geographie"; - gsin = "cd ~/school/infomatik"; - gsso = "cd ~/school/sozialkunde"; - gskr = "cd ~/school/katholische_religion"; - gsmu = "cd ~/school/musik"; - gsla = "cd ~/school/latein"; - gsde = "cd ~/school/deutsch"; - gsma = "cd ~/school/mathematik"; - gspr = "cd ~/school/praktikum"; - gsbi = "cd ~/school/biologie"; - gssp = "cd ~/school/sport"; - gsphy = "cd ~/school/physik"; - gsphi = "cd ~/school/philosophie"; - - gc = "cd ~/.config"; - gl = "cd ~/.local"; - gE = "cd /etc"; - - "gU." = "cd /usr"; - gUs = " cd /usr/share"; - - gt = "cd /tmp"; - }; previewer = { keybinding = "i"; source = "${pkgs.ctpv}/bin/ctpv"; |