1
0
Fork 0
mirror of https://github.com/LnL7/nix-darwin.git synced 2025-03-06 08:47:00 +00:00
nix-darwin/modules/examples/lnl.nix

516 lines
16 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
{
# imports = [ ~/.config/nixpkgs/darwin/local-configuration.nix ];
2020-05-29 22:54:25 +02:00
# system.patches = [ ./pam.patch ];
2016-12-14 15:07:27 +01:00
system.defaults.NSGlobalDomain.AppleKeyboardUIMode = 3;
system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = false;
2016-12-14 13:10:52 +01:00
system.defaults.NSGlobalDomain.InitialKeyRepeat = 10;
system.defaults.NSGlobalDomain.KeyRepeat = 1;
system.defaults.NSGlobalDomain.NSAutomaticCapitalizationEnabled = false;
2016-12-14 15:07:27 +01:00
system.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = false;
system.defaults.NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled = false;
2016-12-14 15:07:27 +01:00
system.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = false;
system.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = false;
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode = true;
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode2 = true;
2020-02-24 23:05:48 +01:00
system.defaults.NSGlobalDomain._HIHideMenuBar = true;
2016-12-14 16:22:39 +01:00
system.defaults.dock.autohide = true;
2020-02-24 23:05:48 +01:00
system.defaults.dock.mru-spaces = false;
2016-12-14 16:22:39 +01:00
system.defaults.dock.orientation = "left";
system.defaults.dock.showhidden = true;
2016-12-14 16:30:55 +01:00
system.defaults.finder.AppleShowAllExtensions = true;
system.defaults.finder.QuitMenuItem = true;
system.defaults.finder.FXEnableExtensionChangeWarning = false;
system.defaults.trackpad.Clicking = true;
2017-10-20 23:04:42 +02:00
system.defaults.trackpad.TrackpadThreeFingerDrag = true;
2018-01-10 19:46:51 +01:00
system.keyboard.enableKeyMapping = true;
system.keyboard.remapCapsLockToControl = true;
2016-12-16 15:51:36 +01:00
environment.systemPackages =
[ config.programs.vim.package
config.services.chunkwm.package
2018-12-18 23:16:04 +01:00
pkgs.awscli
2018-09-05 22:49:54 +02:00
pkgs.bear
pkgs.brotli
2018-01-18 20:22:12 +01:00
pkgs.ctags
2018-01-01 23:55:56 +01:00
pkgs.curl
2018-07-08 11:25:23 +02:00
pkgs.direnv
2020-02-24 23:05:48 +01:00
pkgs.entr
2016-12-16 15:51:36 +01:00
pkgs.fzf
pkgs.gettext
pkgs.git
2020-02-24 23:05:48 +01:00
pkgs.gitAndTools.gh
2018-01-18 20:22:12 +01:00
pkgs.gnupg
2017-03-17 08:26:45 +01:00
pkgs.htop
2016-12-16 15:51:36 +01:00
pkgs.jq
2020-02-24 23:05:48 +01:00
pkgs.kitty
2016-12-26 23:34:09 +01:00
pkgs.mosh
2018-01-18 20:22:12 +01:00
pkgs.ripgrep
2017-07-26 08:42:39 +02:00
pkgs.shellcheck
2016-12-16 15:51:36 +01:00
pkgs.silver-searcher
2018-09-05 22:49:54 +02:00
pkgs.vault
2020-02-24 23:05:48 +01:00
pkgs.youtube-dl
2016-12-16 15:51:36 +01:00
2018-03-04 18:34:06 +01:00
pkgs.qes
2018-08-21 22:35:03 +02:00
pkgs.darwin-zsh-completions
2016-12-16 15:51:36 +01:00
];
services.yabai.enable = true;
services.yabai.package = pkgs.yabai;
2018-07-08 11:39:03 +02:00
services.skhd.enable = true;
2016-12-16 15:51:36 +01:00
# security.sandbox.profiles.fetch-nixpkgs-updates.closure = [ pkgs.cacert pkgs.git ];
# security.sandbox.profiles.fetch-nixpkgs-updates.allowNetworking = true;
# security.sandbox.profiles.fetch-nixpkgs-updates.writablePaths = [ (toString ~/Code/nixos/nixpkgs) ];
# launchd.user.agents.fetch-nixpkgs-updates = {
# command = "/usr/bin/sandbox-exec -f ${config.security.sandbox.profiles.fetch-nixpkgs-updates.profile} ${pkgs.git}/bin/git -C ${toString ~/Code/nixos/nixpkgs} fetch origin master";
# environment.HOME = "";
# environment.NIX_SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
# serviceConfig.KeepAlive = false;
# serviceConfig.ProcessType = "Background";
# serviceConfig.StartInterval = 360;
# };
2017-01-29 20:17:53 +01:00
# Dotfiles.
# launchd.user.agents.letty = {
# serviceConfig.Program = "${pkgs.lnl.letty}/bin/letty-blink";
# serviceConfig.WatchPaths = ["/var/mail/lnl"];
# serviceConfig.KeepAlive = false;
# serviceConfig.ProcessType = "Background";
# };
2020-05-30 12:12:40 +02:00
2017-11-28 22:03:51 +01:00
services.nix-daemon.enable = true;
2020-05-30 12:12:40 +02:00
# services.nix-daemon.enableSocketListener = true;
2016-12-16 15:51:36 +01:00
2017-05-15 19:21:40 +02:00
nix.extraOptions = ''
gc-keep-derivations = true
gc-keep-outputs = true
2020-05-30 12:12:40 +02:00
min-free = 17179870000
max-free = 17179870000
log-lines = 128
2017-05-15 19:21:40 +02:00
'';
2017-01-22 13:38:30 +01:00
2017-01-12 21:59:13 +01:00
nix.binaryCachePublicKeys = [ "cache.daiderd.com-1:R8KOWZ8lDaLojqD+v9dzXAqGn29gEzPTTbr/GIpCTrI=" ];
2017-03-17 23:26:12 +01:00
nix.trustedBinaryCaches = [ https://d3i7ezr9vxxsfy.cloudfront.net ];
nix.trustedUsers = [ "@admin" ];
2017-01-12 21:59:13 +01:00
nix.useSandbox = true;
nix.sandboxPaths = [ "/System/Library/Frameworks" "/System/Library/PrivateFrameworks" "/usr/lib" "/private/tmp" "/private/var/tmp" "/usr/bin/env" ];
2017-08-14 21:47:18 +02:00
programs.nix-index.enable = true;
2016-12-27 20:41:27 +01:00
2020-05-30 13:40:11 +02:00
# programs.gnupg.agent.enable = true;
# programs.gnupg.agent.enableSSHSupport = true;
2018-12-18 23:16:58 +01:00
2016-12-12 23:38:53 +01:00
programs.tmux.enable = true;
programs.tmux.enableSensible = true;
programs.tmux.enableMouse = true;
programs.tmux.enableFzf = true;
programs.tmux.enableVim = true;
programs.tmux.extraConfig = ''
bind 0 set status
2017-10-27 12:31:59 +02:00
bind S choose-session
2017-06-22 00:10:47 +02:00
bind-key -r "<" swap-window -t -1
bind-key -r ">" swap-window -t +1
2020-02-24 23:05:48 +01:00
bind-key -n M-c run "tmux send-keys -t .+ C-\\\\ && tmux send-keys -t .+ C-a C-k C-l Up && tmux send-keys -t .+ Enter"
bind-key -n M-r run "tmux send-keys -t .+ C-a C-k C-l Up && tmux send-keys -t .+ Enter"
2018-08-01 22:14:25 +02:00
set -g pane-active-border-style fg=black
set -g pane-border-style fg=black
set -g status-bg black
set -g status-fg white
2018-08-01 22:14:25 +02:00
set -g status-right '#[fg=white]#(id -un)@#(hostname) #(cat /run/current-system/darwin-version)'
'';
2019-03-20 20:51:35 +01:00
environment.etc."nix/user-sandbox.sb".text = ''
(version 1)
(allow default)
2019-05-04 18:37:21 +02:00
(deny file-write*
(subpath "/nix"))
(allow file-write*
(subpath "/nix/var/nix/gcroots/per-user")
(subpath "/nix/var/nix/profiles/per-user"))
2020-05-30 13:35:44 +02:00
(allow process-exec
(literal "/bin/ps")
(with no-sandbox))
'';
2018-08-21 22:35:03 +02:00
# programs.vim.enable = true;
2018-08-01 21:32:42 +02:00
# programs.vim.enableSensible = true;
programs.vim.package = pkgs.neovim.override {
configure = {
packages.darwin.start = with pkgs.vimPlugins; [
vim-sensible vim-surround ReplaceWithRegister
polyglot fzfWrapper ale deoplete-nvim
];
customRC = ''
set completeopt=menuone
set encoding=utf-8
set hlsearch
set list
set number
set showcmd
set splitright
cnoremap %% <C-r>=expand('%:h') . '/'<CR>
nnoremap // :nohlsearch<CR>
let mapleader = ' '
" fzf
nnoremap <Leader>p :FZF<CR>
" vim-surround
vmap s S
" ale
nnoremap <Leader>d :ALEGoToDefinition<CR>
nnoremap <Leader>D :ALEGoToDefinitionInVSplit<CR>
nnoremap <Leader>k :ALESignature<CR>
nnoremap <Leader>K :ALEHover<CR>
nnoremap [a :ALEPreviousWrap<CR>
nnoremap ]a :ALENextWrap<CR>
" deoplete
inoremap <expr><C-g> deoplete#undo_completion()
inoremap <expr><C-l> deoplete#refresh()
inoremap <silent><expr><C-Tab> deoplete#mappings#manual_complete()
inoremap <silent><expr><Tab> pumvisible() ? "\<C-n>" : "\<TAB>"
let g:deoplete#enable_at_startup = 1
'';
};
2018-08-21 22:35:03 +02:00
};
2016-12-18 14:09:31 +01:00
2018-08-25 18:54:08 +02:00
# Dotfiles.
# programs.vim.package = mkForce pkgs.lnl.vim;
programs.bash.enableCompletion = true;
2016-12-12 22:00:48 +01:00
programs.zsh.enable = true;
2016-12-16 15:51:36 +01:00
programs.zsh.enableBashCompletion = true;
programs.zsh.enableFzfCompletion = true;
programs.zsh.enableFzfGit = true;
2017-01-30 23:04:29 +01:00
programs.zsh.enableFzfHistory = true;
2016-12-16 15:51:36 +01:00
2017-11-28 22:03:51 +01:00
programs.zsh.variables.cfg = "$HOME/.config/nixpkgs/darwin/configuration.nix";
programs.zsh.variables.darwin = "$HOME/.nix-defexpr/darwin";
2018-03-03 14:18:57 +01:00
programs.zsh.variables.nixpkgs = "$HOME/.nix-defexpr/nixpkgs";
2016-12-16 15:51:36 +01:00
programs.zsh.promptInit = ''
autoload -U promptinit && promptinit
2018-07-08 11:28:08 +02:00
setopt PROMPTSUBST
_prompt_nix() {
[ -z "$IN_NIX_SHELL" ] || echo "%F{yellow}%B[''${name:+$name}]%b%f "
}
PS1='%F{red}%B%(?..%? )%b%f%# '
RPS1='$(_prompt_nix)%F{green}%~%f'
2019-07-29 21:27:38 +02:00
if [ -n "$IN_NIX_SANDBOX" ]; then
PS1+='%F{red}[sandbox]%f '
fi
2016-12-16 15:51:36 +01:00
'';
2016-12-12 22:00:48 +01:00
2016-12-12 23:01:07 +01:00
programs.zsh.loginShellInit = ''
2018-08-21 23:42:15 +02:00
:a() {
nix repl ''${@:-<dotpkgs>}
2018-07-08 11:25:23 +02:00
}
2018-08-21 23:42:15 +02:00
:d() {
eval "$(direnv hook zsh)"
}
:r() {
direnv reload
2018-08-01 21:13:38 +02:00
}
:u() {
local exports
2020-05-30 13:39:28 +02:00
exports=$(direnv apply_dump <(nix-shell -E "with import <nixpkgs> {}; mkShell { buildInputs = [ $* ]; }" --run 'direnv dump'))
eval "$exports"
name+="''${name:+ }$*"
typeset -U PATH
}
2020-02-24 23:05:48 +01:00
z() {
local dir
2020-05-30 13:39:28 +02:00
dir=$(find ~/Code -mindepth 2 -maxdepth 2 | fzf --preview-window right:50% --preview 'git -C {} log --pretty=color --color=always -16')
2020-02-24 23:05:48 +01:00
cd "$dir"
}
2020-05-30 13:39:28 +02:00
fzf-store() {
find /nix/store -type d -mindepth 1 -maxdepth 1 | fzf -m --preview-window right:50% --preview 'nix-store -q --tree {}'
2018-06-06 23:18:06 +02:00
}
2020-05-30 13:39:28 +02:00
xi() {
curl -F 'f:1=<-' ix.io
2018-12-18 23:18:40 +01:00
}
2019-07-29 21:27:38 +02:00
ls() {
${pkgs.coreutils}/bin/ls --color=auto "$@"
}
2018-07-08 11:30:46 +02:00
install_name_tool() {
${pkgs.darwin.cctools}/bin/install_name_tool "$@"
2018-06-06 23:18:06 +02:00
}
2018-08-21 23:42:15 +02:00
nm() {
${pkgs.darwin.cctools}/bin/nm "$@"
}
2018-07-08 11:30:46 +02:00
otool() {
${pkgs.darwin.cctools}/bin/otool "$@"
2018-06-06 23:18:06 +02:00
}
2020-05-30 13:39:28 +02:00
vat() {
TERM=vt100 nvim -R "$@" "+setl updatetime=0" "+autocmd CursorHold * :q"
2018-06-06 23:18:06 +02:00
}
2020-05-30 13:39:28 +02:00
nixq() {
nix eval --json "(
with builtins;
with import <nixpkgs/lib>;
let
_ = fromJSON (readFile /dev/stdin);
_0 = head _;
_1 = head _0;
_2 = head _1;
in
$*
)"
2017-06-04 19:22:06 +02:00
}
nix-unpack() {
nix-shell --run 'phases=unpackPhase genericBuild' "$@"
}
2018-06-07 01:18:48 +02:00
hydra-bad-machines() {
local url=https://hydra.nixos.org
curl -fsSL -H 'Accept: application/json' $url/queue-runner-status | jq -r '.machines | to_entries | .[] | select(.value.consecutiveFailures>0) | .key'
2018-06-07 01:18:48 +02:00
}
2017-10-03 00:24:01 +02:00
hydra-job-revision() {
2018-01-18 22:07:40 +01:00
local jobseteval job=$1
shift 1
case "$job" in
*'/'*) ;;
*) job="nixpkgs/trunk/$job" ;;
esac
case "$job" in
'http://'*|'https://'*) ;;
*) job="https://hydra.nixos.org/job/$job" ;;
esac
jobseteval=$(curl -fsSL -H 'Content-Type: application/json' "$job/latest" | jq '.jobsetevals[0]')
curl -fsSL -H 'Accept: application/json' "''${job%/job*}/eval/$jobseteval" | jq -r '.jobsetevalinputs.nixpkgs.revision'
}
hydra-job-bisect() {
local job=$1
shift 1
nix-build ./pkgs/top-level/release.nix -A "''${job##*/}" --dry-run "$@" || return
git bisect start HEAD "$(hydra-job-revision "$job")"
git bisect run nix-build ./pkgs/top-level/release.nix -A "''${job##*/}" "$@"
2017-10-03 00:24:01 +02:00
}
hydra-job-outputs() {
2018-01-18 22:07:40 +01:00
local job=$1
shift 1
curl -fsSL -H 'Accept: application/json' "$job/latest" | jq -r '.buildoutputs | to_entries | .[].value.path'
2017-10-03 00:24:01 +02:00
}
hydra-build-log() {
2018-01-18 22:07:40 +01:00
local build=$1
shift 1
nix log "$(curl -fsSL -H 'Accept: application/json' "$build/api/get-info" | jq -r .drvPath)"
2017-10-03 00:24:01 +02:00
}
2018-01-15 22:36:22 +01:00
rev-darwin() {
2018-01-18 22:07:40 +01:00
echo "https://github.com/LnL7/nix-darwin/archive/''${@:-master}.tar.gz"
2018-01-15 22:36:22 +01:00
}
rev-nixpkgs() {
2018-01-18 22:07:40 +01:00
echo "https://github.com/NixOS/nixpkgs/archive/''${@:-master}.tar.gz"
2018-01-15 22:36:22 +01:00
}
2017-10-14 17:10:38 +02:00
pr-nixpkgs() {
2018-01-18 22:07:40 +01:00
local pr=$1
shift 1
rev-nixpkgs "$(curl "https://api.github.com/repos/NixOS/nixpkgs/pulls/$pr/commits" | jq -r '.[-1].sha')"
2017-10-14 17:10:38 +02:00
}
2016-12-26 23:34:09 +01:00
reexec() {
2018-12-18 23:18:40 +01:00
unset __NIX_DARWIN_SET_ENVIRONMENT_DONE
2019-03-20 20:51:35 +01:00
unset __ETC_ZPROFILE_SOURCED __ETC_ZSHENV_SOURCED __ETC_ZSHRC_SOURCED
2018-01-18 22:07:40 +01:00
exec $SHELL -c 'echo >&2 "reexecuting shell: $SHELL" && exec $SHELL -l'
}
2017-07-02 18:08:10 +02:00
reexec-tmux() {
2018-12-18 23:18:40 +01:00
unset __NIX_DARWIN_SET_ENVIRONMENT_DONE
2019-03-20 20:51:35 +01:00
unset __ETC_ZPROFILE_SOURCED __ETC_ZSHENV_SOURCED __ETC_ZSHRC_SOURCED
exec tmux new-session -A -s _ "$@"
}
reexec-sandbox() {
unset __NIX_DARWIN_SET_ENVIRONMENT_DONE
unset __ETC_ZPROFILE_SOURCED __ETC_ZSHENV_SOURCED __ETC_ZSHRC_SOURCED
2019-07-29 21:27:38 +02:00
export IN_NIX_SANDBOX=1
exec /usr/bin/sandbox-exec -f /etc/nix/user-sandbox.sb $SHELL -l
2017-07-02 18:08:10 +02:00
}
2020-02-24 23:05:48 +01:00
tmux-run() {
2019-07-29 21:27:38 +02:00
tmux split-window -c '#{pane_current_path}' -p 25
2019-03-20 20:51:35 +01:00
if [ $# -gt 0 ]; then
tmux send-keys -t . "$*" Enter
fi
}
2020-05-30 13:39:28 +02:00
gh-darwin-debug() {
curl -X POST -fsSL \
-H "Accept: application/vnd.github.everest-preview+json" \
-H "Authorization: token $GITHUB_TOKEN" \
--data '{"event_type": "debug"}' \
https://api.github.com/repos/LnL7/nix-darwin/dispatches
}
pushover() {
local i
"$@"
i=$?
curl -fsSL -XPOST \
--form-string "token=$PUSHOVER_TOKEN" \
--form-string "user=$PUSHOVER_USER" \
--form-string "expire=60" \
--form-string "sound=intermission" \
--form-string "message=$*: completed with status $i" \
https://api.pushover.net/1/messages.json > /dev/null
return "$i"
}
'';
2016-12-12 23:01:07 +01:00
programs.zsh.interactiveShellInit = ''
setopt AUTOCD AUTOPUSHD
2017-01-29 21:26:23 +01:00
autoload -U down-line-or-beginning-search
autoload -U up-line-or-beginning-search
bindkey '^[[A' down-line-or-beginning-search
bindkey '^[[A' up-line-or-beginning-search
zle -N down-line-or-beginning-search
zle -N up-line-or-beginning-search
'';
2016-12-11 16:24:37 +01:00
2018-06-06 23:18:06 +02:00
environment.variables.LANG = "en_US.UTF-8";
2016-12-12 23:01:07 +01:00
2017-01-04 20:41:52 +01:00
environment.shellAliases.g = "git log --pretty=color -32";
2017-10-20 23:04:42 +02:00
environment.shellAliases.gb = "git branch";
2017-04-13 07:32:07 +02:00
environment.shellAliases.gc = "git checkout";
environment.shellAliases.gcb = "git checkout -B";
environment.shellAliases.gd = "git diff --minimal --patch";
environment.shellAliases.gf = "git fetch";
2020-02-24 23:05:48 +01:00
environment.shellAliases.ga = "git log --pretty=color --all";
2018-08-01 21:13:38 +02:00
environment.shellAliases.gg = "git log --pretty=color --graph";
environment.shellAliases.gl = "git log --pretty=nocolor";
2017-04-13 07:32:07 +02:00
environment.shellAliases.grh = "git reset --hard";
environment.shellAliases.l = "ls -lh";
2016-12-12 23:01:07 +01:00
2018-08-23 00:13:03 +02:00
environment.extraInit = ''
# Load and export variables from environment.d.
if [ -d /etc/environment.d ]; then
set -a
. /etc/environment.d/*
set +a
fi
'';
# environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix";
2016-12-11 16:24:37 +01:00
nixpkgs.config.allowUnfree = true;
2017-08-14 21:47:18 +02:00
nixpkgs.overlays = [
(self: super: {
2018-08-22 22:57:36 +02:00
darwin-zsh-completions = super.runCommandNoCC "darwin-zsh-completions-0.0.0"
{ preferLocalBuild = true; }
''
mkdir -p $out/share/zsh/site-functions
cat <<-'EOF' > $out/share/zsh/site-functions/_darwin-rebuild
#compdef darwin-rebuild
#autoload
_nix-common-options
local -a _1st_arguments
_1st_arguments=(
'switch:Build, activate, and update the current generation'\
'build:Build without activating or updating the current generation'\
'check:Build and run the activation sanity checks'\
'changelog:Show most recent entries in the changelog'\
)
_arguments \
'--list-generations[Print a list of all generations in the active profile]'\
'--rollback[Roll back to the previous configuration]'\
{--switch-generation,-G}'[Activate specified generation]'\
'(--profile-name -p)'{--profile-name,-p}'[Profile to use to track current and previous system configurations]:Profile:_nix_profiles'\
'1:: :->subcmds' && return 0
case $state in
subcmds)
_describe -t commands 'darwin-rebuild subcommands' _1st_arguments
;;
esac
EOF
'';
2017-01-04 20:41:52 +01:00
2018-08-01 21:13:38 +02:00
vim_configurable = super.vim_configurable.override {
2018-08-21 22:35:03 +02:00
guiSupport = "no";
2018-08-01 21:13:38 +02:00
};
})
];
2017-01-04 20:41:52 +01:00
# Dotfiles.
# nixpkgs.overlays = mkAfter [
# (import <dotfiles/nixpkgs/overlays/20-trivial-overrides.nix>)
# (import <dotfiles/nixpkgs/overlays/50-trivial-packages.nix>)
# ];
2017-01-04 20:41:52 +01:00
services.chunkwm.package = pkgs.chunkwm;
services.chunkwm.hotload = false;
services.chunkwm.plugins.dir = "${lib.getOutput "out" pkgs.chunkwm}/lib/chunkwm/plugins";
services.chunkwm.plugins.list = [ "ffm" "tiling" ];
services.chunkwm.plugins."tiling".config = ''
chunkc set global_desktop_mode bsp
2017-01-04 20:41:52 +01:00
'';
2017-10-20 23:04:42 +02:00
# Dotfiles.
# services.chunkwm.extraConfig = builtins.readFile <dotfiles/chunkwm/chunkwmrc>;
# services.skhd.skhdConfig = builtins.readFile <dotfiles/skhd/skhdrc>;
2018-07-08 11:39:03 +02:00
2018-08-01 21:13:38 +02:00
# TODO: add module for per-user config, etc, ...
2018-09-21 20:14:02 +02:00
# environment.etc."per-user/lnl/gitconfig".text = builtins.readFile <dotfiles/git/gitconfig>;
2018-08-01 21:13:38 +02:00
system.activationScripts.extraUserActivation.text = "ln -sfn /etc/per-user/lnl/gitconfig ~/.gitconfig";
users.nix.configureBuildUsers = true;
users.nix.nrBuildUsers = 32;
2016-10-18 23:14:18 +02:00
}