1{lib, tlib, inputs, pkgs, ...}@nixosArgs:
2let
3 l = lib;
4 nixosConfig = nixosArgs.config;
5in
6{
7 users.users.dawn = {
8 isNormalUser = true;
9 createHome = true;
10 home = "/home/dawn";
11 extraGroups = ["wheel"];
12 shell = pkgs.bashInteractive;
13 hashedPassword = "$y$j9T$TxLlqj0RWsBtIrEhOTyqh1$mfvSCn5j7VAUymWe2/qUTB7.JdwXbqF5qWqUjqQCMu3";
14 openssh.authorizedKeys.keys = [
15 (builtins.readFile "${inputs.self}/secrets/yusdacra.key.pub")
16 ];
17 };
18
19 environment.shells = with pkgs; [
20 bashInteractive
21 nushell
22 ];
23
24 home-manager.users.dawn = {pkgs, ...}: {
25 imports =
26 let
27 modulesToEnable = l.flatten [
28 [
29 "zoxide"
30 "direnv"
31 "nushell"
32 ]
33 # dev stuff
34 [
35 "zed"
36 "helix"
37 "git"
38 "ssh"
39 ]
40 ];
41 in
42 l.flatten [
43 (tlib.prefixStrings "${inputs.self}/users/modules/" modulesToEnable)
44 ];
45
46 home = {
47 homeDirectory = nixosConfig.users.users.dawn.home;
48 packages = with pkgs; [omnisharp-roslyn rustup gcc gnumake cmake dotnet-sdk_8];
49 };
50 };
51}