2016-03-31 12 views
0
ile derleyin.

OS X'de Nix paket yöneticisini kullanıyorum. Argüman uğruna diyelim ki bir model kullanan bir config.nix dosyam var, bu da vimEnv no'lu sorunu yüklememe izin veriyor.Nix: Ruby'yi

# ~/.nixpkgs/config.nix 

{ pkgs }: { 

    # Looking around I have seen overrides something along these lines... 

    # nixpkgs.config.packageOverrides = pkgs: rec { 
    # vim = pkgs.vim_configurable.override { 
    #  ruby = true; 
    # }; 
    # }; 

    packageOverrides = super: let pkgs = super.pkgs; in with pkgs; rec { 

    myEnv = pkgs.buildEnv { 
     name = "myEnv"; 
     paths = [ 
     # ...snip 
     vim 
     # ...snip 
     ]; 
    }; 

    }; 
} 

Ben Nix kullanarak .vimrc ve vim eklentileri korumak için ve benzeri (for example) vim_configurable seçenekler ve geçersiz kılarak mevcut ayrıntılı seçenekler olduğunu biliyoruz ve bunun bazı yapmak için zaman bulmak güzel olurdu puan. Ancak, şu anda yapmak istediğim tek şey Nix aracılığıyla Ruby desteğiyle derlenen Vim'in bir sürümünü yüklemektir.

config.nix numaralı telefonumda bunu başarmamın en kolay veya en özlü yolu ne olurdu?

cevap

1

çalıştırdığınızda --rubyinterp bayrağı eklemek Ve edilir nix-env -i myEnv ile.

0

Kendinizi derlemeyi deneyebilirsiniz.

# ~/.nixpkgs/config.nix 

{ pkgs }: { 

    packageOverrides = super: let pkgs = super.pkgs; in with pkgs; rec { 

    myVim = pkgs.vim_configurable.override { 
     config.vim = { 
     ruby = true; 
     }; 
     ruby = ruby; 
    }; 

    myEnv = pkgs.buildEnv { 
     name = "myEnv"; 
     paths = [ 
     myVim 
     ]; 
    }; 

    }; 
} 

Ve yükleyin: yakut bu şekilde desteklemek almak için yapmanız gereken tek şey bazı hack sonra, işte bulduk basit çözüm, sen ./configure

+0

Evet, bu doğru, ama gerçekten sadece Nix ile yapmanın bir yolunu istiyorum, bu yüzden deklaratif ve asla el ile yapmak zorunda değilim! – jhrr

İlgili konular