-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstaller.nix
84 lines (77 loc) · 2.27 KB
/
installer.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
{
pkgs,
lib,
inputs,
config,
...
}: let
keys = pkgs.callPackage ../packages/authorized-keys {};
inputValues = builtins.attrValues inputs; # .out
drvs = builtins.map (v: v.outPath) inputValues;
wifi-connect = pkgs.writeShellScriptBin "wifi-connect" ''
SSID="$(${lib.getExe pkgs.gum} input --placeholder SSID)"
PASS="$(${lib.getExe pkgs.gum} input --password --placeholder PASS)"
sudo systemctl enable --now wpa_supplicant
sudo ${pkgs.wpa_supplicant}/bin/wpa_cli add_network 0
sudo ${pkgs.wpa_supplicant}/bin/wpa_cli set_network 0 key_mgmt WPA-PSK
sudo ${pkgs.wpa_supplicant}/bin/wpa_cli set_network 0 ssid "$SSID"
sudo ${pkgs.wpa_supplicant}/bin/wpa_cli set_network 0 psk "$PASS"
sudo ${pkgs.wpa_supplicant}/bin/wpa_cli enable_network 0
sudo ${pkgs.wpa_supplicant}/bin/wpa_cli save_config
'';
in {
config = {
nix =
# {
# package = pkgs.nixVersions.nix_2_23; # .latest;
# }
# //
import ./config.nix;
# boot.supportedFilesystems = ["bcachefs"];
users = {
users = {
nixos = {uid = 2000;};
tomas = {
shell = pkgs.zsh;
isNormalUser = true;
description = "tomas";
group = "tomas";
extraGroups = [
"networkmanager"
"wheel"
"rslsync"
"users"
"fuse"
"disk"
"plugdev"
"dailout"
];
initialHashedPassword = "$6$7mn5ofgC1ji.lkeT$MxTnWp/t0OOblkutiT0xbkTwxDRU8KneANYsvgvvIVi1V3CC3kRuaF6QPJv1qxDqvAnJmOvS.jfkhtT1pBlHF.";
uid = 1000;
openssh.authorizedKeys.keyFiles = ["${keys}"];
};
root.openssh.authorizedKeys.keyFiles = ["${keys}"];
};
groups.tomas = {};
};
programs.zsh.enable = true;
services = {tailscale.enable = true;};
environment.systemPackages = with pkgs; [
nixos-install-tools
git
curl
wget2
btop
htop
inputs.self.packages."${pkgs.system}".nix-helpers
# (inputs.self.packages."${pkgs.system}".installer-script.override {
# configurations =
# #builtins.trace "installer-configurations"
# inputs.self.nixosConfigurations;
# })
disko
tailscale
wifi-connect
];
};
}