diff options
author | aszlig <aszlig@redmoonstudios.org> | 2017-07-24 06:17:37 +0200 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2017-07-24 06:17:37 +0200 |
commit | 089f66a6e000b15a78e3c0b23575d1203e45be40 (patch) | |
tree | aadedea4d785850582bd0928090db82a17b3b4be | |
parent | edd8728e2be51949009721b7b72292644e1e5a97 (diff) |
modules/aszlig: Make vim module a plain package
I don't use anything that's machine specific within my Vim configuration (and even if, we can pass it via the callPackage arguments) so it's kinda pointless that it's a module instead of a plain package (override). This makes it also easier to nix-build the package without the need to go through the module system. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r-- | machines/aszlig/managed/brawndo.nix | 2 | ||||
-rw-r--r-- | machines/aszlig/managed/tyree.nix | 6 | ||||
-rw-r--r-- | modules/module-list.nix | 1 | ||||
-rw-r--r-- | modules/user/aszlig/profiles/base.nix | 2 | ||||
-rw-r--r-- | pkgs/aszlig/default.nix | 3 | ||||
-rw-r--r-- | pkgs/aszlig/vim/default.nix (renamed from modules/user/aszlig/programs/vim/default.nix) | 90 |
6 files changed, 47 insertions, 57 deletions
diff --git a/machines/aszlig/managed/brawndo.nix b/machines/aszlig/managed/brawndo.nix index ea592bcb..9db99f1c 100644 --- a/machines/aszlig/managed/brawndo.nix +++ b/machines/aszlig/managed/brawndo.nix @@ -75,6 +75,7 @@ in { unfreePkgs.steam unfreeAndNonDistributablePkgs.skype thunderbird + vuizvui.aszlig.vim wine xpdf youtubeDL @@ -111,6 +112,5 @@ in { vuizvui.user.aszlig.profiles.managed.enable = true; vuizvui.user.aszlig.profiles.managed.mainUser = "dwenola"; - vuizvui.user.aszlig.programs.vim.enable = true; vuizvui.enableGlobalNixpkgsConfig = true; } diff --git a/machines/aszlig/managed/tyree.nix b/machines/aszlig/managed/tyree.nix index 5305a1e6..f6651752 100644 --- a/machines/aszlig/managed/tyree.nix +++ b/machines/aszlig/managed/tyree.nix @@ -10,8 +10,9 @@ environment.systemPackages = with pkgs; [ calibre cdparanoia chromium figlet vuizvui.aszlig.gajim gimp htop inkscape thunderbird kdeApplications.kate kdeApplications.gwenview - kdeApplications.okular krita libreoffice mosh mpv pciutils vlc wget wine - youtubeDL unfreeAndNonDistributablePkgs.skype + kdeApplications.okular krita libreoffice mosh mpv pciutils + vuizvui.aszlig.vim vlc wget wine youtubeDL + unfreeAndNonDistributablePkgs.skype ]; fileSystems."/boot".device = "/dev/disk/by-uuid/A0D5-269D"; @@ -81,5 +82,4 @@ vuizvui.user.aszlig.profiles.managed.mainUser = "bla"; vuizvui.hardware.t100ha.enable = true; - vuizvui.user.aszlig.programs.vim.enable = true; } diff --git a/modules/module-list.nix b/modules/module-list.nix index a2efefc4..4330f9cb 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -22,7 +22,6 @@ ./user/aszlig/programs/mpv ./user/aszlig/programs/taalo-build ./user/aszlig/programs/taskwarrior - ./user/aszlig/programs/vim ./user/aszlig/programs/xpdf ./user/aszlig/programs/zsh ./user/aszlig/services/i3 diff --git a/modules/user/aszlig/profiles/base.nix b/modules/user/aszlig/profiles/base.nix index 5115ea25..e1f3e05a 100644 --- a/modules/user/aszlig/profiles/base.nix +++ b/modules/user/aszlig/profiles/base.nix @@ -39,7 +39,6 @@ in { ServerAliveInterval 60 ''; - vuizvui.user.aszlig.programs.vim.enable = true; vuizvui.user.aszlig.programs.zsh.enable = true; vuizvui.enableGlobalNixpkgsConfig = true; @@ -59,6 +58,7 @@ in { unfreePkgs.unrar unzip vlock + vuizvui.aszlig.vim wget xz ]; diff --git a/pkgs/aszlig/default.nix b/pkgs/aszlig/default.nix index 7c042127..6966ccb7 100644 --- a/pkgs/aszlig/default.nix +++ b/pkgs/aszlig/default.nix @@ -1,4 +1,4 @@ -{ callPackage, callPackage_i686, boost155, gajim }: +{ callPackage, callPackage_i686, boost155, gajim, vim_configurable }: { aacolorize = callPackage ./aacolorize { }; @@ -11,4 +11,5 @@ lockdev = callPackage ./lockdev { }; pvolctrl = callPackage ./pvolctrl { }; santander = callPackage_i686 ./santander { }; + vim = callPackage ./vim { vim = vim_configurable; }; } diff --git a/modules/user/aszlig/programs/vim/default.nix b/pkgs/aszlig/vim/default.nix index 27f9e98a..29373b49 100644 --- a/modules/user/aszlig/programs/vim/default.nix +++ b/pkgs/aszlig/vim/default.nix @@ -1,23 +1,23 @@ -{ config, pkgs, lib, ... }: +{ stdenv, fetchurl, fetchFromGitHub, writeText, writeTextFile, buildEnv +, pythonPackages, vim +}: let - cfg = config.vuizvui.user.aszlig.programs.vim; - fetchVimScript = { srcId, sha256, type, name }: let baseUrl = "http://www.vim.org/scripts/download_script.php"; - src = pkgs.fetchurl { + src = fetchurl { name = "script${toString srcId}.vim"; url = "${baseUrl}?src_id=${toString srcId}"; inherit sha256; }; - in pkgs.stdenv.mkDerivation { + in stdenv.mkDerivation { name = "vim-${type}-${toString srcId}"; buildCommand = '' install -vD -m 0644 "${src}" "$out/${type}/${name}.vim" ''; }; - extractSubdir = subdir: src: pkgs.stdenv.mkDerivation { + extractSubdir = subdir: src: stdenv.mkDerivation { name = "${src.name}-subdir"; phases = [ "unpackPhase" "installPhase" ]; inherit src; @@ -26,9 +26,9 @@ let ''; }; - mkVimPlugins = plugins: pkgs.buildEnv { + mkVimPlugins = plugins: buildEnv { name = "vim-plugins"; - paths = with lib; mapAttrsToList (const id) plugins; + paths = with stdenv.lib; mapAttrsToList (const id) plugins; ignoreCollisions = true; postBuild = '' find -L "$out" -mindepth 1 -maxdepth 1 -type f -delete @@ -36,84 +36,84 @@ let }; pluginDeps = { - vimAddonMwUtils = pkgs.fetchFromGitHub { + vimAddonMwUtils = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-mw-utils"; rev = "0c5612fa31ee434ba055e21c76f456244b3b5109"; sha256 = "147s1k4n45d3x281vj35l26sv4waxjlpqdn83z3k9n51556h1d45"; }; - vimAddonCompletion = pkgs.fetchFromGitHub { + vimAddonCompletion = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-completion"; rev = "80f717d68df5b0d7b32228229ddfd29c3e86e435"; sha256 = "08acffzy847w8b5j8pdw6qsidm2859ki5q351n4r7fkr969p80mi"; }; - vimAddonActions = pkgs.fetchFromGitHub { + vimAddonActions = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-actions"; rev = "a5d20500fb8812958540cf17862bd73e7af64936"; sha256 = "1wfkwr89sn2w97i94d0dqylcg9mr6pirjadi0a4l492nfnsh99bc"; }; - vimAddonBackgroundCmd = pkgs.fetchFromGitHub { + vimAddonBackgroundCmd = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-background-cmd"; rev = "14df72660a95804a57c02b9ff0ae3198608e2491"; sha256 = "09lh6hqbx05gm7njhpqvhqdwig3pianq9rddxmjsr6b1vylgdgg4"; }; - vimAddonErrorFormats = pkgs.fetchFromGitHub { + vimAddonErrorFormats = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-errorformats"; rev = "dcbb203ad5f56e47e75fdee35bc92e2ba69e1d28"; sha256 = "159zqm69fxbxcv3b2y99g57bf20qrzsijcvb5rzy2njxah3049m1"; }; - vimAddonToggleBuffer = pkgs.fetchFromGitHub { + vimAddonToggleBuffer = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-toggle-buffer"; rev = "a1b38b9c5709cba666ed2d84ef06548f675c6b0b"; sha256 = "1xq38kfdm36c34ln66znw841q797w5gm8bpq1x64bsf2h6n3ml03"; }; - vimAddonGotoThingAtCursor = pkgs.fetchFromGitHub { + vimAddonGotoThingAtCursor = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-goto-thing-at-cursor"; rev = "f052e094bdb351829bf72ae3435af9042e09a6e4"; sha256 = "1ksm2b0j80zn8sz2y227bpcx4jsv76lwgr2gpgy2drlyqhn2vlv0"; }; - vimAddonViews = pkgs.fetchFromGitHub { + vimAddonViews = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-views"; rev = "d1383ad56d0a07d7350880adbadf9de501729fa8"; sha256 = "09gqh7w5rk4lmra706schqaj8dnisf396lpsipm7xv6gy1qbslnv"; }; - vimAddonSwfMill = pkgs.fetchFromGitHub { + vimAddonSwfMill = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-swfmill"; rev = "726777e02cbe3ad8f82e37421fb37674f446a148"; sha256 = "0ablzl5clgfzhzwvzzbaj0cda0b4cyrj3pbv02f26hx7rfnssaqm"; }; - vimHaxeSyntax = pkgs.fetchFromGitHub { + vimHaxeSyntax = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-haxe-syntax"; rev = "500acc2f2ab92d77ff6cd04fdc7868800c033dfa"; sha256 = "1ipm0igplplfmscm3bk95qpf9rw71h133l9shmw54mxr4h0ymnmj"; }; - tlib = pkgs.fetchFromGitHub { + tlib = fetchFromGitHub { owner = "tomtom"; repo = "tlib_vim"; rev = "bc4097bd38c4bc040fe1e74df68dec6c9adfcb6a"; sha256 = "19v7bgmkk4k2g1z62bd0kky29xxfq96l7wfrl27wb2zijlhbrnpz"; }; - vamStub = pkgs.writeTextFile { + vamStub = writeTextFile { name = "vam-stub"; destination = "/autoload/vam.vim"; text = '' @@ -127,42 +127,42 @@ let }; plugins = mkVimPlugins (pluginDeps // { - vimErl = pkgs.fetchFromGitHub { + vimErl = fetchFromGitHub { owner = "jimenezrick"; repo = "vimerl"; rev = "823bf8cb515bb10396c705cdc017aa9121cc4d12"; sha256 = "0sybkx8iy8qhr6nlwn52j7zd5v99rn0b8wbg43d112z2px4yq5x3"; }; - vimHaxe = pkgs.fetchFromGitHub { + vimHaxe = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-haxe"; rev = "8efc705db41a01713d67d437f29866a1ff831e8a"; sha256 = "15kv13gvpgf23p0566qrlw7gmpir2z7g5dnkfs1knmcwzw45am5d"; }; - factor = extractSubdir "misc/vim" (pkgs.fetchFromGitHub { + factor = extractSubdir "misc/vim" (fetchFromGitHub { owner = "slavapestov"; repo = "factor"; rev = "0d6f70cc7cf35cc627ee78886e2932091a651fe6"; sha256 = "0lmqzvrmwgmxpcpwgn59y033sf4jybmw3lffbjwww5d7ch90333q"; }); - opaLang = extractSubdir "tools/editors/vim" (pkgs.fetchFromGitHub { + opaLang = extractSubdir "tools/editors/vim" (fetchFromGitHub { owner = "MLstate"; repo = "opalang"; rev = "94e4e6d9d8da9a72214f4f28dd1ffa1a987997eb"; sha256 = "0d6b67868cfqakkz63y5ynpz549lbpfzc3c3x7kx3ffsv10xy3bb"; }); - lslvim = pkgs.fetchFromGitHub { + lslvim = fetchFromGitHub { owner = "sukima"; repo = "LSLvim"; rev = "f269de39a1c713a43470e90d0ec78208c0f05e0b"; sha256 = "1plwx5id3jsj4y6yhshlf3rishxhf1b9k47g2cpzaczvqb5bl40w"; }; - vimSyntaxShakespeare = pkgs.fetchFromGitHub { + vimSyntaxShakespeare = fetchFromGitHub { owner = "pbrisbin"; repo = "vim-syntax-shakespeare"; rev = "29085ae94ee3dbd7f39f2a7705d86692ef5bc365"; @@ -190,17 +190,17 @@ let type = "indent"; }; - nixAddon = pkgs.stdenv.mkDerivation { + nixAddon = stdenv.mkDerivation { name = "vim-nix-support"; - lnl7 = pkgs.fetchFromGitHub { + lnl7 = fetchFromGitHub { owner = "LnL7"; repo = "vim-nix"; rev = "9ac8876e5beb824018b9a09d4640f7efc2fbc8ae"; sha256 = "0whdf56c63vp4c3b2jfl1x5c0dxxrzwvxkfm5951qzpfy6xwg27x"; }; - src = pkgs.fetchFromGitHub { + src = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-nix"; rev = "2aed79ba5d8c5e6abd102de77e55e242f61b17f1"; @@ -225,7 +225,7 @@ let ''; }; - urwebAddon = pkgs.fetchFromGitHub { + urwebAddon = fetchFromGitHub { owner = "MarcWeber"; repo = "vim-addon-urweb"; rev = "49ea3960a9924a5dd7ff70956d1a7c0479a55773"; @@ -246,21 +246,21 @@ let type = "syntax"; }; - elmVim = pkgs.fetchFromGitHub { + elmVim = fetchFromGitHub { owner = "lambdatoast"; repo = "elm.vim"; rev = "ad556c97e26072b065825852ceead0fe6a1f7d7c"; sha256 = "19k6b6m5ngm5qn2f3p13hzjyvha53fpdgq691z8n0lwfn8831b21"; }; - flake8 = pkgs.fetchFromGitHub { + flake8 = fetchFromGitHub { owner = "nvie"; repo = "vim-flake8"; rev = "293613dbe731a2875ce93739e7b64ee504d8bbab"; sha256 = "0xmqmbh66g44vhx9769mzs820k6ksbpfnsfvivmbhzlps2hjqpqg"; }; - vader = pkgs.fetchFromGitHub { + vader = fetchFromGitHub { owner = "junegunn"; repo = "vader.vim"; rev = "ad2c752435baba9e7544d0046f0277c3573439bd"; @@ -306,7 +306,7 @@ let let python_highlight_numbers = 1 let python_highlight_builtins = 1 let python_highlight_exceptions = 1 - let g:flake8_cmd = '${pkgs.pythonPackages.flake8}/bin/flake8' + let g:flake8_cmd = '${pythonPackages.flake8}/bin/flake8' " all plugins set runtimepath^=${plugins} @@ -358,7 +358,7 @@ let autocmd BufWritePost * if &ft ==# 'python' | call Flake8() | endif ''; - vimrc = pkgs.writeText "vimrc" '' + vimrc = writeText "vimrc" '' ${generic} ${plugin} @@ -369,18 +369,8 @@ let ${misc} ''; - patchedVim = lib.overrideDerivation pkgs.vim_configurable (o: { - postInstall = (o.postInstall or "") + '' - ln -sf "${vimrc}" "$out/share/vim/vimrc" - ''; - }); - -in { - options.vuizvui.user.aszlig.programs.vim = { - enable = lib.mkEnableOption "aszlig's Vim"; - }; - - config = lib.mkIf cfg.enable { - environment.systemPackages = lib.singleton patchedVim; - }; -} +in stdenv.lib.overrideDerivation vim (o: { + postInstall = (o.postInstall or "") + '' + ln -sf "${vimrc}" "$out/share/vim/vimrc" + ''; +}) |