From b66c81ab3ba2b0cdd4eac8e975b40b75dcaeedd7 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 28 Mar 2022 15:32:00 +0200 Subject: machines/sternenseemann: use emacs as default EDITOR Install vim as TTY fallback editor. --- machines/sternenseemann/base-laptop.nix | 36 ++++++++++++++++++++++----------- machines/sternenseemann/base.nix | 11 +++++----- machines/sternenseemann/vim-basic.nix | 28 +++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 machines/sternenseemann/vim-basic.nix (limited to 'machines') diff --git a/machines/sternenseemann/base-laptop.nix b/machines/sternenseemann/base-laptop.nix index b4fa9aaf..e81b768d 100644 --- a/machines/sternenseemann/base-laptop.nix +++ b/machines/sternenseemann/base-laptop.nix @@ -38,18 +38,30 @@ programs.mosh.enable = true; - environment.systemPackages = with pkgs; [ - lr - lowdown - lynx sacc - zip unzip - stow - silver-searcher - nmap - ffmpeg graphicsmagick - pavucontrol - vuizvui.tvl.users.sterni.emacs - ] ++ pkgs.vuizvui.sternenseemann.scripts.default; + environment = let inherit (pkgs.vuizvui.tvl.users.sterni) emacs; in { + systemPackages = with pkgs; [ + lr + lowdown + lynx sacc + zip unzip + stow + silver-searcher + nmap + ffmpeg graphicsmagick + pavucontrol + emacs + ] ++ pkgs.vuizvui.sternenseemann.scripts.default; + + variables = { + EDITOR = "${emacs}/bin/emacsclient"; + VISUAL = "${emacs}/bin/emacsclient"; + }; + }; + + # To accomodate old habits + programs.fish.shellInit = '' + alias nvim emacsclient + ''; services.earlyoom = { enable = true; diff --git a/machines/sternenseemann/base.nix b/machines/sternenseemann/base.nix index 8d8d7c94..b9f27beb 100644 --- a/machines/sternenseemann/base.nix +++ b/machines/sternenseemann/base.nix @@ -6,11 +6,13 @@ let getBins ; - bins = (getBins pkgs.neovim [ "nvim" ]) - // (getBins pkgs.less [ "less" ]) - ; + bins = getBins pkgs.less [ "less" ]; in { + imports = [ + ./vim-basic.nix + ]; + config = { boot.cleanTmpDir = true; @@ -103,12 +105,9 @@ in { man-pages-posix gitFull file htop psmisc tmux - neovim ]; environment.variables = { - EDITOR = bins.nvim; - VISUAL = bins.nvim; PAGER = "${bins.less} -R"; # git-diff without the extra options passed to less GIT_PAGER = bins.less; diff --git a/machines/sternenseemann/vim-basic.nix b/machines/sternenseemann/vim-basic.nix new file mode 100644 index 00000000..5f994149 --- /dev/null +++ b/machines/sternenseemann/vim-basic.nix @@ -0,0 +1,28 @@ +{ lib, pkgs, ... }: + +let + # Slightly modified version of + # https://leahneukirchen.org/blog/archive/2020/05/a-minimal-vimrc.html + vimrc = pkgs.writeText "vimrc" '' + set nocp bs=2 hid is ru sm t_te= t_ti= vb wim=longest,list + set ignorecase smartcase + ''; + + vim = pkgs.writeShellScriptBin "vim" '' + exec "${lib.getBin pkgs.vim}/bin/vim" -u "${vimrc}" "$@" + ''; + +in + +{ + config = { + environment = { + systemPackages = [ vim ]; + variables = { + # on non-servers this will be set to emacs in base-laptop.nix + EDITOR = lib.mkDefault "${vim}/bin/vim"; + VISUAL = lib.mkDefault "${vim}/bin/vim"; + }; + }; + }; +} -- cgit 1.4.1