agrajag
Aktives Mitglied
Thread Starter
- Dabei seit
- 25.08.2004
- Beiträge
- 5.461
- Reaktionspunkte
- 2.475
Moin Moin,
ich bin gerade dabei von Homebrew auf Nix umzusteigen. Bis auf DavMail hab ich jetzt alles mit Nix installiert. Zusätzlich hab ich nix-darwin installiert. Ich hab jetzt alles, was die Unix-Tools angeht, in einer dawin-configuration.nix formuliert. Das sieht dann z.B. so aus:
Jede Änderung, die ich an diesen Tools vornehmen möchte, schreibe ich in diese Datei und führe dann in der Shell
aus – that's it.
Warum nun Nix anstelle von Homebrew?
tl;dr: Hat sich hier noch jemand mit Nix auf dem Mac beschäftigt? Vielleicht könnte man sich ja hier in diesem Thread austauschen. Ich hätte auch schon ein Problem: DavMail will nicht richtig laufen, wenn es via Nix installiert wurde. DavMail ist mittlerweile das einzige Paket, was ich via brew installiert habe.
ich bin gerade dabei von Homebrew auf Nix umzusteigen. Bis auf DavMail hab ich jetzt alles mit Nix installiert. Zusätzlich hab ich nix-darwin installiert. Ich hab jetzt alles, was die Unix-Tools angeht, in einer dawin-configuration.nix formuliert. Das sieht dann z.B. so aus:
Code:
{ config, pkgs, ... }:
{
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs;
[
nix-top
nix-zsh-completions
nix-bash-completions
nix-repl
nixops
nixpkgs-lint
nix-deploy
vulnix
zsh
zsh-autoenv
zsh-autosuggestions
zsh-command-time
zsh-completions
zsh-git-prompt
zsh-history-substring-search
zsh-navigation-tools
zsh-prezto
zsh-syntax-highlighting
#davmail
git
fzf
tree
htop
ffmpeg
tesseract
thefuck
tldr
youtube-dl
ansible
ansible-lint
vagrant
#( lua.withPackages (ps: with ps; [ luarocks mpack ]) )
#( python36.withPackages (ps: with ps; [ pip flake8 yapf black pynvim python-language-server.override { pylint = null; } ]) )
];
# Use a custom configuration.nix location.
# $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix
# environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix";
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;
#nix.package = nix;
# Create /etc/bashrc that loads the nix-darwin environment.
programs.zsh.enable = true;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 4;
# You should generally set this to the total number of logical cores in your system.
# $ sysctl -n hw.ncpu
nix.maxJobs = 16 ;
nix.buildCores = 4;
# Use sandbox
#nix.useSandbox = true;
}
Jede Änderung, die ich an diesen Tools vornehmen möchte, schreibe ich in diese Datei und führe dann in der Shell
Code:
darwin-rebuild switch
Warum nun Nix anstelle von Homebrew?
- Nix ist pure funktional, atomar transaktional, bietet Rollbacks und überhaupt… es ist irgendwie elegant.
- nixpkgs (die Paketsammlung) ist eines der umfangreichsten aller Paketmanager (ca. 40k Pakete)
- Nix kommt vor allem mit Multi-User-Umgebungen klar. Homebrew darf man nur mit einem User benutzen, sonst hat man sehr schnell ein Rechte-Fuckup. Nix erlaubt auch die gleichzeitige Installation und Nutzung gleicher Libs in verschiedenen Versionen. User können sich eigene SW installieren, die den Rest der Nix-Installation nicht tangiert.
tl;dr: Hat sich hier noch jemand mit Nix auf dem Mac beschäftigt? Vielleicht könnte man sich ja hier in diesem Thread austauschen. Ich hätte auch schon ein Problem: DavMail will nicht richtig laufen, wenn es via Nix installiert wurde. DavMail ist mittlerweile das einzige Paket, was ich via brew installiert habe.