91 lines
2.8 KiB
Nix
91 lines
2.8 KiB
Nix
{
|
|
description = "Example Darwin system flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
# home-manager.url = "github:nix-community/home-manager/master";
|
|
# home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
nix-darwin.url = "github:LnL7/nix-darwin";
|
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs = inputs@{ self, nix-darwin, nixpkgs }:
|
|
let
|
|
configuration = { pkgs, ... }: {
|
|
# List packages installed in system profile. To search by name, run:
|
|
# $ nix-env -qaP | grep wget
|
|
environment.systemPackages =
|
|
with pkgs; [
|
|
neovim
|
|
bat
|
|
ripgrep
|
|
fd
|
|
|
|
fish
|
|
nushellFull
|
|
|
|
tmux
|
|
wezterm
|
|
# yabai
|
|
nerdfonts
|
|
];
|
|
|
|
|
|
|
|
# Auto upgrade nix package and the daemon service.
|
|
services.nix-daemon.enable = true;
|
|
# nix.package = pkgs.nix;
|
|
|
|
# Necessary for using flakes on this system.
|
|
nix = {
|
|
settings = {
|
|
experimental-features = "nix-command flakes repl-flake";
|
|
max-jobs = 8;
|
|
};
|
|
extraOptions = ''
|
|
build-users-group = nixbld
|
|
extra-nix-path = nixpkgs=flake:nixpkgs
|
|
'';
|
|
# keep-outputs = true
|
|
# keep-derivations = true
|
|
};
|
|
|
|
|
|
# Create /etc/zshrc that loads the nix-darwin environment.
|
|
# programs.zsh.enable = true; # default shell on catalina
|
|
# programs.fish.enable = true;
|
|
|
|
# Set Git commit hash for darwin-version.
|
|
system.configurationRevision = self.rev or self.dirtyRev or null;
|
|
system.keyboard.enableKeyMapping = true;
|
|
system.keyboard.remapCapsLockToControl = true;
|
|
system.keyboard.swapLeftCommandAndLeftAlt = true;
|
|
fonts.fonts = [ (pkgs.nerdfonts.override { fonts = [ "Hasklig" "Hack" ]; }) ];
|
|
system.defaults.finder.AppleShowAllExtensions = true;
|
|
system.defaults.dock.autohide = true;
|
|
|
|
# Used for backwards compatibility, please read the changelog before changing.
|
|
# $ darwin-rebuild changelog
|
|
system.stateVersion = 4;
|
|
|
|
# The platform the configuration will be used on.
|
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
|
|
|
nix.package = pkgs.nix;
|
|
|
|
};
|
|
in
|
|
{
|
|
# Build darwin flake using:
|
|
# $ darwin-rebuild build --flake .#simple
|
|
darwinConfigurations.Uttarayans-MacBook-Pro = nix-darwin.lib.darwinSystem {
|
|
# system = "aarch64-darwin";
|
|
pkgs = import nixpkgs { system = "aarch64-darwin"; };
|
|
modules = [ configuration ];
|
|
};
|
|
|
|
# Expose the package set, including overlays, for convenience.
|
|
darwinPackages = self.darwinConfigurations.Uttarayans-MacBook-Pro.pkgs;
|
|
};
|
|
}
|