makito: nix setup for mac

This commit is contained in:
Viktor Varland 2025-05-15 13:48:10 +02:00
commit 02f131c903
No known key found for this signature in database
GPG key ID: 940DFD5EADD1E94A
6 changed files with 128 additions and 0 deletions

51
README.md Normal file
View file

@ -0,0 +1,51 @@
# nix
## macos
add your user as a trusted-user:
/etc/nix/nix.conf
```
build-users-group = nixbld
trusted-users = varl root
```
reload the daemon
```
sudo launchctl stop org.nixos.nix-daemon
sudo launchctl start org.nixos.nix-daemon
```
```
mkdir -p ~/.config/nixpkgs
cp macos.config.nix ~/.config/nixpkgs/config.nix
```
~/.zlogin
```sh
cp zlogin ~/.zlogin
```
~/.zprofile
```sh
cp zprofile ~/.zprofile
```
~/.zshenv
```sh
cp zshenv ~/.zshenv
```
Logout/login.
Install mac packages
```
nix-env -ir user-macos
```

57
macos.config.nix Normal file
View file

@ -0,0 +1,57 @@
pkgs : {
allowUnfree = true;
packageOverrides = pkgs: with pkgs; rec {
nixUserProfile = writeText "nix-user-profile" ''
export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin
export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man
export FPATH=$HOME/.nix-profile/share/zsh/site-functions:$HOME/.nix-profile/share/zsh/$ZSH_VERSION/functions:$FPATH
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
'';
userBasePkgs = pkgs.buildEnv {
name = "user-base";
paths = [
(runCommand "profile" {} ''
mkdir -p $out/etc/profile.d
cp ${nixUserProfile} $out/etc/profile.d/nix-user-profile.sh
'')
];
pathsToLink = [
"/share"
"/bin"
"/etc"
];
extraOutputsToInstall = [ "man" "doc" ];
};
userMacOSPkgs = pkgs.buildEnv {
name = "user-macos";
paths = [
userBasePkgs
bash
zsh
zsh-completions
podman
podman-compose
rsync
gnupg
curl
wget
alacritty
karabiner-elements
coreutils
direnv
ripgrep
fd
chezmoi
fzf
vim
];
pathsToLink = [
"/Applications"
] ++ (userBasePkgs.pathsToLink or []);
extraOutputsToInstall = []
++ (userBasePkgs.extraOutputsToInstall or []);
};
};
}

2
macos.nix.conf Normal file
View file

@ -0,0 +1,2 @@
keep-derivations = true
keep-outputs = true

5
zlogin Normal file
View file

@ -0,0 +1,5 @@
# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix

12
zprofile Normal file
View file

@ -0,0 +1,12 @@
# let nix setup the path
if [ -d $HOME/.nix-profile/etc/profile.d ]; then
for i in $HOME/.nix-profile/etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
fi
if [[ -f '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]]; then
source '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi

1
zshenv Normal file
View file

@ -0,0 +1 @@
[[ -o login ]] && export PATH='/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'