aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager/config
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-05-06 22:10:50 +0200
committerSoispha <soispha@vhack.eu>2023-05-09 19:33:23 +0200
commite24fdf517619e84fbba268b0d90627b185665cd6 (patch)
treefee010c3a92fa0ef9ce22b6b1731a638fd6e9484 /home-manager/config
parentFix(hm/conf/git): Remove credential cache (diff)
downloadnixos-config-e24fdf517619e84fbba268b0d90627b185665cd6.zip
Refactor(hm/conf/lf): Separate keybindings and commands
Diffstat (limited to 'home-manager/config')
-rw-r--r--home-manager/config/lf/commands/default.nix207
-rwxr-xr-xhome-manager/config/lf/commands/scripts/archive (renamed from home-manager/config/lf/cmds/archive)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/broot_jump (renamed from home-manager/config/lf/cmds/broot_jump)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/chmod (renamed from home-manager/config/lf/cmds/chmod)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/clear_trash (renamed from home-manager/config/lf/cmds/clear_trash)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/dl_file (renamed from home-manager/config/lf/cmds/dl_file)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/dragon (renamed from home-manager/config/lf/cmds/dragon)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/dragon_individual (renamed from home-manager/config/lf/cmds/dragon_individual)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/dragon_stay (renamed from home-manager/config/lf/cmds/dragon_stay)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/fzf_jump (renamed from home-manager/config/lf/cmds/fzf_jump)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/help (renamed from home-manager/config/lf/cmds/help)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/mk_dir (renamed from home-manager/config/lf/cmds/mk_dir)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/mk_file (renamed from home-manager/config/lf/cmds/mk_file)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/mk_ln (renamed from home-manager/config/lf/cmds/mk_ln)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/mk_scr (renamed from home-manager/config/lf/cmds/mk_scr)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/open (renamed from home-manager/config/lf/cmds/open)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/open_config (renamed from home-manager/config/lf/cmds/open_config)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/restore_trash (renamed from home-manager/config/lf/cmds/restore_trash)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/set_wall_paper (renamed from home-manager/config/lf/cmds/set_wall_paper)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/stripspace (renamed from home-manager/config/lf/cmds/stripspace)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/trash (renamed from home-manager/config/lf/cmds/trash)0
-rwxr-xr-xhome-manager/config/lf/commands/scripts/unarchive (renamed from home-manager/config/lf/cmds/unarchive)0
-rw-r--r--home-manager/config/lf/default.nix325
-rw-r--r--home-manager/config/lf/keybindings/default.nix117
24 files changed, 328 insertions, 321 deletions
diff --git a/home-manager/config/lf/commands/default.nix b/home-manager/config/lf/commands/default.nix
new file mode 100644
index 00000000..446466be
--- /dev/null
+++ b/home-manager/config/lf/commands/default.nix
@@ -0,0 +1,207 @@
+{
+ pkgs,
+ sysLib,
+ ...
+}: 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
+in {
+ archive = shell {
+ file = ./scripts/archive;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ fzf
+ gnutar
+ xz
+ p7zip
+ zip
+ ;
+ };
+ };
+ broot_jump = shell {
+ file = ./scripts/broot_jump;
+ dependencies = builtins.attrValues {
+ inherit (pkgs) broot;
+ };
+ };
+ chmod = pipe {
+ file = ./scripts/chmod;
+ dependencies = [];
+ };
+ clear_trash = shell {
+ file = ./scripts/clear_trash;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ fzf
+ trashy
+ ;
+ };
+ };
+ dl_file = pipe {
+ file = ./scripts/dl_file;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ xdragon
+ curl
+ ;
+ };
+ };
+ dragon = pipe {
+ file = ./scripts/dragon;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ xdragon
+ ;
+ };
+ };
+ dragon_individual = pipe {
+ file = ./scripts/dragon_individual;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ xdragon
+ ;
+ };
+ };
+ dragon_stay = pipe {
+ file = ./scripts/dragon_stay;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ xdragon
+ ;
+ };
+ };
+ fzf_jump = shell {
+ file = ./scripts/fzf_jump;
+ dependencies = builtins.attrValues {
+ inherit (pkgs) fzf lf gnused;
+ };
+ };
+ help = shell {
+ file = ./scripts/help;
+ dependencies = [];
+ };
+ mk_dir = pipe {
+ file = ./scripts/mk_dir;
+ dependencies = [];
+ };
+ mk_file = shell {
+ file = ./scripts/mk_file;
+ dependencies = [];
+ };
+ mk_ln = pipe {
+ file = ./scripts/mk_ln;
+ dependencies = [];
+ };
+ mk_scr = shell {
+ file = ./scripts/mk_scr;
+ dependencies = builtins.attrValues {inherit (pkgs) neovim;};
+ };
+ open = shell {
+ file = ./scripts/open;
+ dependencies = builtins.attrValues {inherit (pkgs) file xdg-utils neovim git;};
+ };
+ open_config = shell {
+ file = ./scripts/open_config;
+ dependencies = builtins.attrValues {
+ #inherit
+ #(pkgs)
+ ## TODO rewrite this: bookmenu, https://github.com/jarun/buku
+ #
+ #buku
+ #;
+ };
+ };
+ restore_trash = shell {
+ file = ./scripts/restore_trash;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ fzf
+ trashy
+ ;
+ };
+ };
+ set_wall_paper = pipe {
+ file = ./scripts/set_wall_paper;
+ dependencies = [];
+ };
+ stripspace = pipe {
+ file = ./scripts/stripspace;
+ dependencies = [];
+ };
+ trash = pipe {
+ file = ./scripts/trash;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ trashy
+ trash-cli
+ findutils
+ ;
+ };
+ };
+ unarchive = pipe {
+ file = ./scripts/unarchive;
+ dependencies = builtins.attrValues {
+ inherit
+ (pkgs)
+ gnutar
+ unzip
+ # TODO this is unfree! unrar
+
+ p7zip
+ ;
+ };
+ };
+}
diff --git a/home-manager/config/lf/cmds/archive b/home-manager/config/lf/commands/scripts/archive
index fd032dd4..fd032dd4 100755
--- a/home-manager/config/lf/cmds/archive
+++ b/home-manager/config/lf/commands/scripts/archive
diff --git a/home-manager/config/lf/cmds/broot_jump b/home-manager/config/lf/commands/scripts/broot_jump
index ff62ec90..ff62ec90 100755
--- a/home-manager/config/lf/cmds/broot_jump
+++ b/home-manager/config/lf/commands/scripts/broot_jump
diff --git a/home-manager/config/lf/cmds/chmod b/home-manager/config/lf/commands/scripts/chmod
index b1682090..b1682090 100755
--- a/home-manager/config/lf/cmds/chmod
+++ b/home-manager/config/lf/commands/scripts/chmod
diff --git a/home-manager/config/lf/cmds/clear_trash b/home-manager/config/lf/commands/scripts/clear_trash
index e1ee3d1e..e1ee3d1e 100755
--- a/home-manager/config/lf/cmds/clear_trash
+++ b/home-manager/config/lf/commands/scripts/clear_trash
diff --git a/home-manager/config/lf/cmds/dl_file b/home-manager/config/lf/commands/scripts/dl_file
index 373386f8..373386f8 100755
--- a/home-manager/config/lf/cmds/dl_file
+++ b/home-manager/config/lf/commands/scripts/dl_file
diff --git a/home-manager/config/lf/cmds/dragon b/home-manager/config/lf/commands/scripts/dragon
index fce161be..fce161be 100755
--- a/home-manager/config/lf/cmds/dragon
+++ b/home-manager/config/lf/commands/scripts/dragon
diff --git a/home-manager/config/lf/cmds/dragon_individual b/home-manager/config/lf/commands/scripts/dragon_individual
index 7adf6924..7adf6924 100755
--- a/home-manager/config/lf/cmds/dragon_individual
+++ b/home-manager/config/lf/commands/scripts/dragon_individual
diff --git a/home-manager/config/lf/cmds/dragon_stay b/home-manager/config/lf/commands/scripts/dragon_stay
index aff9d01d..aff9d01d 100755
--- a/home-manager/config/lf/cmds/dragon_stay
+++ b/home-manager/config/lf/commands/scripts/dragon_stay
diff --git a/home-manager/config/lf/cmds/fzf_jump b/home-manager/config/lf/commands/scripts/fzf_jump
index e0995761..e0995761 100755
--- a/home-manager/config/lf/cmds/fzf_jump
+++ b/home-manager/config/lf/commands/scripts/fzf_jump
diff --git a/home-manager/config/lf/cmds/help b/home-manager/config/lf/commands/scripts/help
index 4ec06648..4ec06648 100755
--- a/home-manager/config/lf/cmds/help
+++ b/home-manager/config/lf/commands/scripts/help
diff --git a/home-manager/config/lf/cmds/mk_dir b/home-manager/config/lf/commands/scripts/mk_dir
index fb69cf92..fb69cf92 100755
--- a/home-manager/config/lf/cmds/mk_dir
+++ b/home-manager/config/lf/commands/scripts/mk_dir
diff --git a/home-manager/config/lf/cmds/mk_file b/home-manager/config/lf/commands/scripts/mk_file
index eef8df4b..eef8df4b 100755
--- a/home-manager/config/lf/cmds/mk_file
+++ b/home-manager/config/lf/commands/scripts/mk_file
diff --git a/home-manager/config/lf/cmds/mk_ln b/home-manager/config/lf/commands/scripts/mk_ln
index 066150bd..066150bd 100755
--- a/home-manager/config/lf/cmds/mk_ln
+++ b/home-manager/config/lf/commands/scripts/mk_ln
diff --git a/home-manager/config/lf/cmds/mk_scr b/home-manager/config/lf/commands/scripts/mk_scr
index 6857e8f6..6857e8f6 100755
--- a/home-manager/config/lf/cmds/mk_scr
+++ b/home-manager/config/lf/commands/scripts/mk_scr
diff --git a/home-manager/config/lf/cmds/open b/home-manager/config/lf/commands/scripts/open
index 2065eee3..2065eee3 100755
--- a/home-manager/config/lf/cmds/open
+++ b/home-manager/config/lf/commands/scripts/open
diff --git a/home-manager/config/lf/cmds/open_config b/home-manager/config/lf/commands/scripts/open_config
index 55ae68cb..55ae68cb 100755
--- a/home-manager/config/lf/cmds/open_config
+++ b/home-manager/config/lf/commands/scripts/open_config
diff --git a/home-manager/config/lf/cmds/restore_trash b/home-manager/config/lf/commands/scripts/restore_trash
index 22c16888..22c16888 100755
--- a/home-manager/config/lf/cmds/restore_trash
+++ b/home-manager/config/lf/commands/scripts/restore_trash
diff --git a/home-manager/config/lf/cmds/set_wall_paper b/home-manager/config/lf/commands/scripts/set_wall_paper
index 50cc9656..50cc9656 100755
--- a/home-manager/config/lf/cmds/set_wall_paper
+++ b/home-manager/config/lf/commands/scripts/set_wall_paper
diff --git a/home-manager/config/lf/cmds/stripspace b/home-manager/config/lf/commands/scripts/stripspace
index 65dabc4c..65dabc4c 100755
--- a/home-manager/config/lf/cmds/stripspace
+++ b/home-manager/config/lf/commands/scripts/stripspace
diff --git a/home-manager/config/lf/cmds/trash b/home-manager/config/lf/commands/scripts/trash
index 9e2e6aa4..9e2e6aa4 100755
--- a/home-manager/config/lf/cmds/trash
+++ b/home-manager/config/lf/commands/scripts/trash
diff --git a/home-manager/config/lf/cmds/unarchive b/home-manager/config/lf/commands/scripts/unarchive
index dfa82c9a..dfa82c9a 100755
--- a/home-manager/config/lf/cmds/unarchive
+++ b/home-manager/config/lf/commands/scripts/unarchive
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";
diff --git a/home-manager/config/lf/keybindings/default.nix b/home-manager/config/lf/keybindings/default.nix
new file mode 100644
index 00000000..bc2178cf
--- /dev/null
+++ b/home-manager/config/lf/keybindings/default.nix
@@ -0,0 +1,117 @@
+{config, ...}: {
+ # 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";
+
+ 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";
+ grpe = "cd ~/repos/perl";
+ grja = "cd ~/repos/java";
+ grjs = "cd ~/repos/java_script";
+ # -------------
+ "gm." = "cd ~/media";
+ gmpi = "cd ~/media/pictures";
+ gmd = "cd ~/media/downloads";
+ gmm = "cd ~/media/music";
+ 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";
+ 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";
+}