-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdarwin-configuration.nix
116 lines (95 loc) · 2.37 KB
/
darwin-configuration.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
{ config, pkgs, ... }:
{
imports = [ <home-manager/nix-darwin> ];
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = [];
fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "JetBrainsMono" ]; }) ];
environment.shells = [
pkgs.bashInteractive
pkgs.zsh
];
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
trusted-users = [ "jakub.janczak"];
};
};
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 4;
users.users."jakub.janczak" = {
name = "jakub.janczak";
home = "/Users/jakub.janczak";
};
environment.launchDaemons = {
"limit.maxfiles.plist" = {
enable = true;
source = ./nix/launchd/limit.maxfiles.plist;
};
};
home-manager.verbose = true;
home-manager.users."jakub.janczak" = { pkgs, ... }: {
home.packages = [
pkgs.atool
pkgs.httpie
pkgs.jq
pkgs.fd
pkgs.fzf
pkgs.ripgrep
pkgs.bat
pkgs.tmux
pkgs.pwgen
pkgs.git
pkgs.difftastic
pkgs.gh
pkgs.eza
# iterm2
# TODO - add darwin condition here
pkgs.iterm2
];
programs.bash = import ./nix/bash.nix;
programs.powerline-go = {
enable = true;
modules = [
"time"
"ssh"
"direnv"
"docker"
"exit"
"cwd"
"git"
"kube"
"nix-shell"
];
settings = {
theme = "gruvbox";
colorize-hostname = true;
};
};
programs.git = import ./nix/git.nix;
programs.autojump = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
programs.direnv = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
programs.neovim = (import ./nix/neovim.nix) pkgs;
programs.tmux = import ./nix/tmux.nix;
# alternative bitwarden client
programs.rbw = {
enable = true;
settings = {
email = "[email protected]";
pinentry = pkgs.pinentry-tty;
};
};
home.stateVersion = "23.11";
};
}