Configuration utilisateur avec Nix (paquets, vim...)
Voir aussi : vidéo peertube - vidéo youtube - dépôt git
Comment faire une configuration utilisateur avec Nix (installer/configurer des paquets, configurer vim…).
Gérer les paquets “à la main”
- installer un paquet :
nix-env -iA nixos.geany
- lister les paquets installés :
nix-env -q
- enlever un paquet :
nix-env -e geany
Gérer les paquets avec un config.nix
- écrire paquet dédié dans un fichier
~/.config/nixpkgs/config.nix
:
{
packageOverrides = pkgs: with pkgs; rec {
myPackages = pkgs.buildEnv {
name = "myPackages";
paths = [
firefox
vlc# ...
];
};
};
}
- installer le paquet dédié :
nix-env -iA nixos.myPackages
Paramétrer un paquet (par exemple nano)
On peut modifier des options de compilation de certains paquets.
voir les définitions des paquets pour les options : https://nixos.org/nixos/packages.html
spécifier les options voulues dans le
~/.config/nixpkgs/config.nix
{
packageOverrides = pkgs: with pkgs; rec {
_nano = pkgs.nano.override { enableNls = false; };
myPackages = pkgs.buildEnv {
name = "myPackages";
paths = [
_nano# ...
];
};
};
}
- (ré)installer le paquet correspondant
nix-env -iA nixos.myPackages
Configurer vim
Certains logiciels, comme vim, peuvent être configurés avec Nix (configuration, plugins…).
- écrire la configuration dans un fichier
~/.nixpkgs/vim.nix
:
{pkgs}:
{
pkgs.vim_configurable.customize
name = "vim";
vimrcConfig.customRC = ''
set number
# ...
'';
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
start = [
youcompleteme # ...
];
};
}
- importer le fichier dans le
~/.nixpkgs/config.nix
:
{
packageOverrides = pkgs: with pkgs; rec {
_vim = import ./vim.nix { inherit pkgs; };
myPackages = pkgs.buildEnv {
name = "myPackages";
paths = [
_vim# ...
];
};
};
}
- (ré)installer le paquet correspondant