-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdefault.nix
More file actions
138 lines (123 loc) · 2.46 KB
/
Copy pathdefault.nix
File metadata and controls
138 lines (123 loc) · 2.46 KB
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{ inputs, config, lib, pkgs, ... }:
let
inherit (lib) mkDefault;
in
{
imports =
[ inputs.home-manager.nixosModules.home-manager ]
++ lib.my.modules.importAllRec' ./modules;
modules = {
nix.enable = true;
boot.systemd-boot.enable = mkDefault true;
};
time = {
hardwareClockInLocalTime = mkDefault true;
timeZone = "US/Eastern";
};
security = {
sudo.enable = mkDefault true;
# has some permission denied issues when installing fonts
doas = {
enable = mkDefault false;
extraRules = [
{
groups = [ "wheel" ];
# allow environment variables to be kept
# must be kept on or stuff like NIX_PATH will fail
keepEnv = true;
# allow password to be skipped for a while
persist = true;
}
];
};
};
networking = {
# screws up containers like docker
firewall.enable = false;
# the installation environment enables this
# gnome enables this
# but other ones don't
networkmanager.enable = mkDefault true;
};
# essentials
environment.systemPackages = with pkgs; [
cached-nix-shell
git
vim
curl
wget
gcc
# full man pages
# man-pages
# man-pages-posix
];
programs = {
fish.enable = true;
zsh.enable = true;
# very buggy perl script
# sometimes needs the channel to be there
command-not-found.enable = false;
};
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
stdenv.cc.cc
fuse3
alsa-lib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
fontconfig
freetype
gdk-pixbuf
glib
gtk3
libGL
libappindicator-gtk3
libdrm
libnotify
libpulseaudio
libuuid
libusb1
xorg.libxcb
libxkbcommon
mesa
nspr
nss
pango
pipewire
systemd
icu
openssl
xorg.libX11
xorg.libXScrnSaver
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libxkbfile
xorg.libxshmfence
zlib
gmp
ncurses
icu66
];
users.defaultUserShell = pkgs.fish;
# man pages for other utilities
documentation.dev.enable = false;
# use with nix profile install --impure
environment.sessionVariables = {
NIXPKGS_ALLOW_UNFREE = "1";
};
hardware.enableAllFirmware = true;
system.stateVersion = "22.05";
}