blob: 3a605b101ce450bd0dd1313eb941fc8a5d6948e4 (
plain)
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
|
{
machine,
config,
pkgs,
lib,
...
}: with lib; {
imports = [ (mkAliasOptionModule [ "ivi" ] [ "users" "users" ivi.username ]) ];
services = {
resolved.fallbackDns = [
"1.1.1.1#one.one.one.one"
"1.0.0.1#one.one.one.one"
"2606:4700:4700::1111#one.one.one.one"
"2606:4700:4700::1001#one.one.one.one"
];
};
security = {
sudo = {
wheelNeedsPassword = false;
extraConfig = ''
Defaults env_keep+="EDITOR"
Defaults env_keep+="SSH_CONNECTION SSH_CLIENT SSH_TTY"
Defaults env_keep+="http_proxy https_proxy"
'';
};
};
time.timeZone = "Europe/Amsterdam";
users.users = {
${ivi.username} = {
uid = mkIf (!machine.isDarwin) 1000;
description = ivi.realName;
openssh.authorizedKeys.keys = ivi.sshKeys;
extraGroups = ["wheel" "networkmanager" "docker" "transmission"];
isNormalUser = true;
};
root = {
openssh.authorizedKeys.keys = config.ivi.openssh.authorizedKeys.keys;
};
};
environment.systemPackages = with pkgs; [
man-pages
man-pages-posix
vim
wget
git
subversion
htop
jq
yq-go
curl
fd
lf
fzf
ripgrep
parallel
pinentry-curses
gnused
gnutls
zoxide
binwalk
unzip
gcc
gnumake
file
pstree
bc
mediainfo
bat
] ++ (optionals (!machine.isDarwin) [
pkgsi686Linux.glibc
gdb
pciutils
dnsutils
iputils
inetutils
usbutils
]);
nix.package = pkgs.nixUnstable;
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
}
|