-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
123 lines (102 loc) · 3.11 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{
description = "Light-it's nix-darwin system flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
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 =
[ pkgs.vim
pkgs.neovim
pkgs.git
pkgs.curl
];
nixpkgs.config = {
allowUnfree = true;
};
# 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";
# Enable alternative shell support in nix-darwin.
# programs.fish.enable = true;
# Set Git commit hash for darwin-version.
system.configurationRevision = self.rev or self.dirtyRev or null;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 5;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
# Fingerprint sudo with Touch ID.
security.pam.enableSudoTouchIdAuth = true;
# ZSH
programs.zsh.enableSyntaxHighlighting = true;
# programs.zsh.enableFastSyntaxHighlighting = true;
programs.zsh.enableFzfCompletion = true;
programs.zsh.enableFzfHistory = true;
programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
environment.shellAliases = {
ll = "ls -l";
};
# Fonts
fonts.packages = with pkgs; [
liberation_ttf
fira-code
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
];
# Homebrew
homebrew.enable = true;
homebrew.casks = [
"visual-studio-code"
"iterm2"
"alacritty"
"slack"
"docker"
"postman"
"1password"
"slite"
"jetbrains-toolbox"
"phpstorm"
"google-chrome"
"alfred"
"maccy"
];
homebrew.brews = [
"awscli"
"fzf"
"mas"
"terraform"
"nvm"
"gh"
];
system.defaults.dock.persistent-apps = [
"/Applications/Slack.app/"
"/Applications/Alacritty.app/"
"/Applications/Visual Studio Code.app/"
"/Applications/PhpStorm.app/"
"/Applications/Google Chrome.app/"
"/Applications/1Password.app/"
];
};
in
{
# Build darwin flake using:
# $ darwin-rebuild build --flake .#Juans-MacBook-Air
darwinConfigurations.Juans-MacBook-Air = nix-darwin.lib.darwinSystem {
modules = [
configuration
];
};
# Expose the package set, including overlays, for convenience.
darwinPackages = self.darwinConfigurations.simple.pkgs;
};
}