Configuration for my NixOS based systems and Home Manager
1{ pkgs, ... }:
2{
3
4 imports =
5 [
6 <home-manager/nixos>
7 ];
8
9 # Declarative only optoins.
10 # I don't want to allow ad-hoc modifying users on the system.
11 # Users must be declared either as part of a package or in this file.
12 users.mutableUsers = false;
13
14
15 # Define a user account. Don't forget to set a password with ‘passwd’.
16 users.users.noah = {
17 isNormalUser = true;
18 shell = pkgs.fish;
19 extraGroups = [ "wheel" "video" "nas" ]; # Enable ‘sudo’ for the user.
20 hashedPasswordFile = "/etc/nixos/noah-password";
21 openssh.authorizedKeys.keys = [
22 "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/cXL1cV6QUW5z2bJp1mCu0CXrcc0Dntdxaeo3fg60N noah@odin"
23 "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJeSPXmzD0rXKNjR1q+qSJqXjO0gxLitTRD+m02v94p6 noah@aleister"
24 "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQFlX3hhXxsqAUYLvF+IX1YWQ+k22OHlqMOjgyNBe9e noah@misaki"
25 ];
26 };
27
28 users.groups.nas.gid = 1001;
29
30 # I manage my home with home-manager
31 # Don't store packages in ~/.nix-profile, use /etc/profiles so we can build-vm
32 home-manager.useUserPackages = true;
33 # No more NIX_PATH, use system pkgs
34 home-manager.useGlobalPkgs = true;
35
36 home-manager.users.noah = import ./noah-home.nix ;
37}