Skip to content

Instantly share code, notes, and snippets.

@jhenahan
Created February 17, 2018 21:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhenahan/0efee69130dc907cd027ebfe5f2c4f68 to your computer and use it in GitHub Desktop.
Save jhenahan/0efee69130dc907cd027ebfe5f2c4f68 to your computer and use it in GitHub Desktop.
{ config, lib, pkgs, ... }:
{
system.defaults.NSGlobalDomain.AppleKeyboardUIMode = 3;
system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = false;
system.defaults.NSGlobalDomain.InitialKeyRepeat = 10;
system.defaults.NSGlobalDomain.KeyRepeat = 1;
system.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = false;
system.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = false;
system.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = false;
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode = true;
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode2 = true;
system.defaults.finder.AppleShowAllExtensions = true;
system.defaults.finder.QuitMenuItem = true;
system.defaults.finder.FXEnableExtensionChangeWarning = false;
services.nix-daemon.enable = true;
services.nix-daemon.tempDir = "/nix/var/tmp";
nixpkgs.config.launchd.user.envVariables.PATH = config.environment.systemPath;
nixpkgs.overlays = [ (import <rust-overlay>) ];
nix.package = pkgs.nixUnstable;
nix.nixPath =
[
"darwin-config=$HOME/.nixpkgs/darwin-configuration.nix"
"darwin=$HOME/.nix-defexpr/darwin"
"nixpkgs=$HOME/.nix-defexpr/nixpkgs"
"rust-overlay=$HOME/.config/nixpkgs/overlays/rust-overlay.nix"
];
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages =
[ pkgs.nixUnstable
pkgs.nix-repl
pkgs.curl
pkgs.coreutils
pkgs.fzf
pkgs.gettext
pkgs.git
pkgs.htop
pkgs.jq
pkgs.shellcheck
pkgs.silver-searcher
pkgs.taskwarrior
pkgs.isyncUnstable
pkgs.terminal-notifier
pkgs.youtube-dl
pkgs.zlib
pkgs.shellcheck
pkgs.myHaskellEnv
pkgs.cabal2nix
pkgs.msmtp
pkgs.wget
pkgs.p7zip
pkgs.poppler
pkgs.mpd
pkgs.ncmpcpp
pkgs.tig
pkgs.httpie
pkgs.jq
pkgs.ripgrep
pkgs.fd
pkgs.pijul
#pkgs.exa
#pkgs.clog-cli
pkgs.rustracer
#pkgs.heatseeker
#pkgs.cargo-edit
#pkgs.ion
#pkgs.tokei
pkgs.parallel-rust
pkgs.nix-index
#pkgs.tectonic
pkgs.xsv
pkgs.myrust
];
nixpkgs.config.packageOverrides = super: let self = super.pkgs; in
{
myrust =
(self.latest.rustChannels.nightly.rust.override
{
extensions = [ "rust-src" "rust-std" "rust-analysis" ];
targets = [ "x86_64-unknown-linux-gnu" ];
targetExtensions = [ "rust-std" "rust-analysis" ];
});
myHaskellEnv =
self.haskell.packages.ghc822.ghcWithPackages
(haskellPackages: with haskellPackages;
[
# libraries
lens pipes base-prelude turtle foldl
# tools
cabal-install c2hs cpphs alex happy
hlint stylish-haskell hasktags pandoc
apply-refact structured-haskell-mode
]);
};
environment.extraOutputsToInstall = [ "man" ];
# Create /etc/bashrc that loads the nix-darwin environment.
programs.fish.enable = true;
programs.fish.vendor.config.enable = true;
programs.fish.vendor.completions.enable = true;
programs.fish.vendor.functions.enable = true;
programs.bash.enable = true;
# Recreate /run/current-system symlink after boot.
services.activate-system.enable = true;
# You should generally set this to the total number of logical cores in your system.
# $ sysctl -n hw.ncpu
nix.maxJobs = 8;
nix.buildCores = 8;
nix.gc.automatic = true;
nix.gc.options = "--max-freed $((25 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | awk '{ print $4 }')))";
launchd.user.agents.fetch-nixpkgs = {
command = "${pkgs.git}/bin/git -C ~/.nix-defexpr/nixpkgs fetch origin master";
environment.GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
serviceConfig.KeepAlive = false;
serviceConfig.ProcessType = "Background";
serviceConfig.StartInterval = 360;
};
#nix.binaryCachePublicKeys = [ "cache.daiderd.com-1:R8KOWZ8lDaLojqD+v9dzXAqGn29gEzPTTbr/GIpCTrI=" ];
#nix.trustedBinaryCaches = [ https://d3i7ezr9vxxsfy.cloudfront.net ];
nix.binaryCaches = [ http://cache.nixos.org ];
nix.trustedBinaryCaches = [ http://cache.nixos.org ];
nix.trustedUsers = [ "@admin" ];
nix.useSandbox = true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment