-
Notifications
You must be signed in to change notification settings - Fork 43
/
common.nix
80 lines (71 loc) · 1.46 KB
/
common.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
{
self,
inputs,
config,
pkgs,
...
}: {
imports = [
./primaryUser.nix
./nixpkgs.nix
];
nixpkgs.overlays = builtins.attrValues self.overlays;
programs.zsh = {
enable = true;
enableCompletion = true;
enableBashCompletion = true;
};
user = {
description = "Kennan LeJeune";
home = "${
if pkgs.stdenvNoCC.isDarwin
then "/Users"
else "/home"
}/${config.user.name}";
shell = pkgs.zsh;
};
# bootstrap home manager using system config
hm = {
imports = [
./home-manager
./home-manager/1password.nix
inputs.nix-index-database.hmModules.nix-index
];
};
# let nix manage home-manager profiles and use global nixpkgs
home-manager = {
extraSpecialArgs = {inherit self inputs;};
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "backup";
};
# environment setup
environment = {
systemPackages = with pkgs; [
# editors
neovim
# standard toolset
coreutils-full
findutils
diffutils
curl
wget
git
jq
# helpful shell stuff
bat
fzf
ripgrep
];
etc = {
home-manager.source = "${inputs.home-manager}";
nixpkgs.source = "${inputs.nixpkgs}";
stable.source = "${inputs.stable}";
};
# list of acceptable shells in /etc/shells
shells = with pkgs; [bash zsh fish];
};
fonts = {
packages = with pkgs; [jetbrains-mono];
};
}