From 0e63547d8f3a264a417cf51f5fbc628285762e29 Mon Sep 17 00:00:00 2001 From: tdro Date: Thu, 25 Mar 2021 03:47:15 -0400 Subject: .config/nixpkgs: Add lit and shfmt --- .config/nixpkgs/config.nix | 3 ++- .config/nixpkgs/packages/literate/default.nix | 23 +++++++++++++++++++++++ .vimrc | 9 +++++++-- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 .config/nixpkgs/packages/literate/default.nix diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix index b4dbc2a..689411f 100644 --- a/.config/nixpkgs/config.nix +++ b/.config/nixpkgs/config.nix @@ -54,6 +54,7 @@ in (callPackage ./packages/amfora/default.nix {}) (callPackage ./packages/chromexup/default.nix {}) (callPackage ./packages/gmni/default.nix {}) + (callPackage ./packages/literate/default.nix {}) (callPackage ./packages/systemd2nix/default.nix {}) (callPackage ./packages/vale-styles/default.nix {}) (callPackage ./packages/youtube-dl/default.nix {}) @@ -374,7 +375,7 @@ in Shell = pkgs.buildEnv { name = "shell"; - paths = [ bats shellcheck dash ]; + paths = [ bats dash shellcheck shfmt ]; }; Haskell = pkgs.buildEnv { diff --git a/.config/nixpkgs/packages/literate/default.nix b/.config/nixpkgs/packages/literate/default.nix new file mode 100644 index 0000000..f5be32e --- /dev/null +++ b/.config/nixpkgs/packages/literate/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchgit, dmd, dub }: + +stdenv.mkDerivation rec { + name = "Literate"; + version = "7004dffec0cff3068828514eca72172274fd3f7d"; + + src = fetchgit { + rev = version; + url = "https://github.com/zyedidia/Literate.git"; + sha256 = "0x4xgrdskybaa7ssv81grmwyc1k167v3nwj320jvp5l59xxlbcvs"; + }; + + buildInputs = [ dmd dub ]; + + installPhase = "install -D bin/lit $out/bin/lit"; + + meta = with stdenv.lib; { + description = "A literate programming tool for any language"; + homepage = "http://literate.zbyedidia.webfactional.com/"; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/.vimrc b/.vimrc index 5c3543b..f33bfbe 100644 --- a/.vimrc +++ b/.vimrc @@ -285,9 +285,10 @@ augroup AutoCommands autocmd BufWritePost plugins.vim source % | silent exe '!' . expand(g:notify) . ' ' . '''Sourcing plugins...''' " Linting extension post write commands. - autocmd BufWritePost *.php :call PHPFix() - autocmd BufWritePost *.js :call ESLintFix() + autocmd BufWritePost *.php :call PHPFix() + autocmd BufWritePost *.js :call ESLintFix() autocmd BufWritePost *.txt,*.md :only | :term ++rows=10 vale-wrapper % + autocmd BufWritePost *.lit silent exe '!' . expand(g:notify) . ' ' . '"$(lit % 2>&1 && printf ''Literate OK: %'')"' " Linting file type post write commands. autocmd FileType css autocmd! BufWritePost silent exe '!' . expand(g:notify) . ' ' . '"$(prettier --write --parser css % 2>&1)"' @@ -322,6 +323,10 @@ augroup AutoCommands autocmd FileType javascript noremap cc :REPL node autocmd FileType awk noremap cc :term ++rows=10 ++close awk -f % + " Formatting programs. + autocmd FileType nix set formatprg=nixfmt + autocmd FileType sh set formatprg=shfmt\ - + " General auto commands. autocmd BufWritePost *.tex :term ++close ++rows=10 latex-compile % autocmd BufWritePost quotes,*.fortune silent exe '!' . expand(g:notify) . ' ' . '"$(strfile %)"' -- cgit v1.2.3