From 5b70c2f44819be5ede40c7975f47971ba29bcd1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Geoffrey=20=E2=80=9CFrogeye=E2=80=9D=20Preud=27homme?= Date: Thu, 4 Jan 2024 23:18:06 +0100 Subject: [PATCH] Smol improvements --- hm/common.nix | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/hm/common.nix b/hm/common.nix index d52647e..8af8e72 100644 --- a/hm/common.nix +++ b/hm/common.nix @@ -58,8 +58,6 @@ in commonShellAliases = { # Completion for existing commands ls = "lsd"; - ll = "lsd -l"; - la = "lsd -la"; mkdir = "mkdir -v"; # cp = "cp -i"; # Disabled because conflicts with the ZSH/Bash one. This separation is confusing I swear. mv = "mv -iv"; @@ -68,7 +66,9 @@ in ffmpeg = "ffmpeg -hide_banner"; ffprobe = "ffprobe -hide_banner"; ffplay = "ffplay -hide_banner"; - # TODO Add ipython --no-confirm-exit --pdb + numbat = "numbat --intro-banner off"; + insect = "numbat"; + ipython = "ipython --no-confirm-exit --pdb"; # Frequent mistakes sl = "ls"; @@ -78,8 +78,8 @@ in please = "sudo"; # Shortcuts for commonly used commands - # ll = "ls -l"; # Disabled because would overwrite the colored one - # la = "ls -la"; # Eh maybe it's not that bad, but for now let's keep compatibility + ll = "lsd -l"; + la = "lsd -la"; s = "sudo -s -E"; @@ -156,6 +156,13 @@ in sessionVariables = commonSessionVariables; shellAliases = commonShellAliases // config.frogeye.shellAliases; }; + bat = { + enable = true; + config = { + theme = "base16"; + style = "full"; + }; + }; lsd.enable = true; dircolors = { enable = true; @@ -175,8 +182,8 @@ in # UPST Implement this properly in home-manager, would allow for bash support }; extraUpdatePS1 = '' - unset __TIMER - echo -en "\033]0; $USER@$HOST $PWD\007" + unset __TIMER + echo -en "\033]0; $USER@$HOST $PWD\007" ''; }; gpg = { @@ -215,10 +222,11 @@ in enableZshIntegration = true; defaultOptions = [ "--height 40%" "--layout=default" ]; fileWidgetOptions = [ "--preview '[[ -d {} ]] && ${pkgs.coreutils}/bin/ls -l --color=always {} || [[ \$(${pkgs.file}/bin/file --mime {}) =~ binary ]] && ${pkgs.file}/bin/file --brief {} || (${pkgs.highlight}/bin/highlight -O ansi -l {} || coderay {} || rougify {} || ${pkgs.coreutils}/bin/cat {}) 2> /dev/null | head -500'" ]; + # TODO Above not working... not really used either? # file and friends are not in PATH by default... so here we want aboslute paths, which means those won't get reloaded. Meh. }; - # TODO highlight or bat nix-index = { + # For non-NixOS systems enable = false; # TODO Index is impossible to generate, should use https://github.com/nix-community/nix-index-database # but got no luck without flakes enableZshIntegration = true; @@ -237,6 +245,13 @@ in "tags" ".mypy_cache" ]; + delta = { + enable = true; + options = { + line-numbers = true; + syntax-theme = "base16"; + }; + }; lfs.enable = true; userEmail = lib.mkDefault "geoffrey@frogeye.fr"; userName = lib.mkDefault "Geoffrey Frogeye"; @@ -256,7 +271,6 @@ in "difftool \"meld\"".cmd = "${pkgs.meld}/bin/meld \"$LOCAL\" \"$REMOTE\""; # This escapes quotes, which isn't the case in the original, hoping this isn't an issue. }; - # TODO Delta syntax highlighter... and other cool-looking options? }; readline = { enable = true; @@ -316,14 +330,12 @@ in }; services = { gpg-agent = { - enable = true; # TODO Consider not enabling it when not having any private key enableBashIntegration = true; enableZshIntegration = true; - pinentryFlavor = "gtk2"; # Falls back to curses when needed }; - # TODO Syncs a bit too often, also constantly asks for passphrase, which is annoying. git-sync = { - enable = false; + enable = false; # The real thing syncs too quickly and asks for passphrase, which is annoying + # So for now it's just a way to park config which will be reused by git-sync-* commands repositories = { dotfiles = { path = "${config.xdg.configHome}/dotfiles"; @@ -432,9 +444,10 @@ in progress speedtest-cli - # multimedia toolbox + # toolbox sox imagemagick + numbat # password pwgen @@ -467,12 +480,6 @@ in khard khal todoman - - # TODO Lots of redundancy with other way things are defined here - - ] ++ lib.optionals pkgs.stdenv.isx86_64 [ - nodePackages.insect - # TODO Use whatever replaces insect, hopefully that works on aarch64 ]; sessionVariables = { # Favourite commands