]> Git — Sourcephile - julm/julm-nix.git/blob - hosts/aubergine.nix
aubergine: anki-sync-server: enable
[julm/julm-nix.git] / hosts / aubergine.nix
1 {
2 config,
3 pkgs,
4 lib,
5 inputs,
6 ...
7 }:
8 {
9 imports = [
10 ../nixos/profiles/router.nix
11 #../nixos/profiles/debug.nix
12 ../nixos/profiles/lang-fr.nix
13 #../nixos/profiles/tor.nix
14 ../nixos/profiles/networking/remote.nix
15 ../nixos/profiles/home.nix
16 aubergine/anki.nix
17 aubergine/hardware.nix
18 aubergine/nebula.nix
19 aubergine/networking.nix
20 aubergine/printing.nix
21 aubergine/nginx.nix
22 aubergine/backup.nix
23 aubergine/sftp.nix
24 ];
25
26 # Lower kernel's security for better performances
27 security.kernel.mitigations = "off";
28
29 home-manager.users.julm = {
30 imports = [ ../homes/julm.nix ];
31 };
32 users = {
33 users.julm = {
34 isNormalUser = true;
35 uid = 1000;
36 # Put the hashedPassword in /nix/store, but it will also be in /etc/passwd
37 # which is already world readable.
38 # printf %s $(mkpasswd -m yescrypt)
39 hashedPassword = lib.readFile aubergine/users/julm/login/hashedPassword.clear;
40 extraGroups = [
41 "adbusers"
42 "audio"
43 "dialout"
44 "networkmanager"
45 "tor"
46 "video"
47 "wheel"
48 "wireshark"
49 ];
50 createHome = true;
51 openssh.authorizedKeys.keys = map lib.readFile [
52 ../users/root/ssh/losurdo.pub
53 ../users/julm/ssh/losurdo.pub
54 ../users/julm/ssh/oignon.pub
55 ../users/julm/ssh/pumpkin.pub
56 ../users/julm/ssh/redmi.pub
57 ];
58 };
59 users.root = {
60 hashedPassword = "!";
61 openssh.authorizedKeys.keys = config.users.users.julm.openssh.authorizedKeys.keys;
62 };
63 users.sevy = {
64 isNormalUser = true;
65 uid = 1001;
66 hashedPassword = "!";
67 extraGroups = [
68 ];
69 createHome = true;
70 openssh.authorizedKeys.keys = map lib.readFile [
71 ../users/sevy/ssh/patate.pub
72 ];
73 };
74 };
75
76 #systemd.services.nix-daemon.serviceConfig.LoadCredentialEncrypted =
77 # "secret-key-files:" + aubergine/nix/secret-key-files;
78 nix = {
79 extraOptions = ''
80 #secret-key-files = /run/credentials/nix-daemon.service/secret-key-files.pem
81 '';
82 settings = {
83 substituters = [
84 #"http://nix-localcache.losurdo.wg"
85 #"ssh://nix-ssh@losurdo.wg?priority=30"
86 #"ssh://nix-ssh@oignon.wg?priority=30"
87 ];
88 trusted-public-keys = map lib.readFile [
89 #../users/root/nix/oignon.pub
90 #../users/root/nix/pumpkin.pub
91 ];
92 };
93 nixPath = lib.mkForce [ "nixpkgs=${inputs.nixpkgs}" ];
94 };
95 #environment.etc."nixpkgs".source = pkgs.path;
96 #environment.etc."nixpkgs-overlays".source = inputs.self + "/nixpkgs";
97
98 nix.settings.allowed-users = [ config.users.users."nix-ssh".name ];
99 nix.sshServe = {
100 enable = true;
101 keys = map lib.readFile [
102 ../users/julm/ssh/losurdo.pub
103 ../users/sevy/ssh/patate.pub
104 ../users/julm/ssh/oignon.pub
105 ../users/julm/ssh/pumpkin.pub
106 ];
107 };
108
109 environment.systemPackages = [
110 ];
111
112 boot.extraModulePackages = [
113 #config.boot.kernelPackages.v4l2loopback
114 ];
115
116 # This value determines the NixOS release with which your system is to be
117 # compatible, in order to avoid breaking some software such as database
118 # servers. You should change this only after NixOS release notes say you should.
119 system.stateVersion = "22.11"; # Did you read the comment?
120 }