diff options
| author | Grigory Shipunov | 2023-01-22 23:07:29 +0100 |
|---|---|---|
| committer | Grigory Shipunov | 2023-01-22 23:27:39 +0100 |
| commit | a2732c6e6ace0faebbc0b78b4010315709fac9c4 (patch) | |
| tree | 0d61a6268f4c82281265809ea94121e8e07ba7df /modules/basic-tools | |
| parent | c16ef44b2dfed55daa2e63a52d8a6fbb4ea0077e (diff) | |
be a bit smarter about fzf module
Diffstat (limited to 'modules/basic-tools')
| -rw-r--r-- | modules/basic-tools/default.nix | 119 | ||||
| -rw-r--r-- | modules/basic-tools/fzf.nix | 10 |
2 files changed, 129 insertions, 0 deletions
diff --git a/modules/basic-tools/default.nix b/modules/basic-tools/default.nix new file mode 100644 index 0000000..94cdcec --- /dev/null +++ b/modules/basic-tools/default.nix @@ -0,0 +1,119 @@ +{ lib, config, pkgs, inputs, ... }: + +{ + imports = [ + ./fzf.nix + ]; + + environment.systemPackages = with pkgs; [ + bat + fd + file + fzf + git + gnupg + htop + irssi + killall + neovim + ripgrep + tealdeer + traceroute + tcpdump + tree + (aspellWithDicts (ps: with ps; [ en en-science en-computers ru de ])) + exfatprogs + nmap + bind + nnn + ranger + man-pages + wlsunset + screen + ]; + + nix = { + extraOptions = '' + experimental-features = nix-command flakes + ''; + }; + + # override default nix shell nixpkgs# behaviour to use current flake lock + nix.registry = + let flakes = lib.filterAttrs (name: value: value ? outputs) inputs.self.inputs; + in builtins.mapAttrs (name: v: { flake = v; }) flakes; + + nix.nixPath = lib.mapAttrsToList (name: value: "${name}=${value.outPath}") inputs.self.inputs; + + + programs.tmux = { + enable = true; + keyMode = "vi"; + escapeTime = 0; + historyLimit = 50000; + aggressiveResize = true; + terminal = "tmux-256color"; + }; + + # set appropriate environ variables + environment.variables = { + EDITOR = "nvim"; + PAGER = "less -F"; + }; + + environment.shellAliases = { + ls = "ls --color=auto"; + l = "ls -l"; + la = "ls -la"; + ll = "ls -lah"; + lt = "ls --tree"; + vim = "nvim"; + vf = "$EDITOR $(fzf)"; + vff = "$EDITOR $(ls|fzf)"; + mutt = "neomutt"; + grep = "grep --color=auto"; + }; + + users.defaultUserShell = pkgs.zsh; + programs.zsh = { + enable = true; + enableCompletion = true; + syntaxHighlighting.enable = true; + interactiveShellInit = '' + bindkey -e + export HISTFILE="$HOME/.zsh_history" + export HISTSIZE=10000000 + export SAVEHIST=10000000 + # allow comments + setopt interactivecomments + ''; + promptInit = '' + source ${pkgs.liquidprompt}/share/zsh/plugins/liquidprompt/liquidprompt + ''; + }; + + environment.etc.liquidpromptrc = { + text = '' + LP_ENABLE_SSH_COLORS=1 + LP_ENABLE_TITLE=1 + LP_ENABLE_SCREEN_TITLE=1 + LP_ENABLE_TEMP=0 + LP_ENABLE_SVN=0 + LP_BATTERY_THRESHOLD=15 + LP_SSH_COLORS=1 + ''; + }; + + programs.iftop.enable = true; + programs.mosh.enable = true; + + programs.screen.screenrc = '' + defscrollback 10000 + + startup_message off + + hardstatus on + hardstatus alwayslastline + hardstatus string "%w" + ''; +} diff --git a/modules/basic-tools/fzf.nix b/modules/basic-tools/fzf.nix new file mode 100644 index 0000000..5e0ce0e --- /dev/null +++ b/modules/basic-tools/fzf.nix @@ -0,0 +1,10 @@ +{ lib, config, ... }: { + # integrate fzf into shell, >23.05 only + programs = + if (lib.toInt (lib.elemAt (lib.splitVersion config.system.nixos.release) 0) >= 23) then { + fzf = { + keybindings = true; + fuzzyCompletion = true; + }; + } else { }; +} |
