Flake for my NixOS devices
1{...}: {
2 config,
3 lib,
4 pkgs,
5 ...
6}: let
7 pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsVzdJra+x5aEuwTjL1FBOiMh9bftvs8QwsM1xyEbdd";
8in {
9 options.cow.bean = {
10 enable = lib.mkEnableOption "Bean user";
11 sudoer = lib.mkEnableOption "Bean being a sudoer";
12 };
13
14 config = lib.mkIf config.cow.bean.enable {
15 users.users.bean = {
16 isNormalUser = true;
17 description = "Ben C";
18 extraGroups = lib.optional config.cow.bean.sudoer "wheel";
19 shell = pkgs.nushell;
20 openssh.authorizedKeys.keys = [pubkey];
21 };
22
23 home-manager.users.bean = {
24 cow.bean = {
25 inherit (config.cow.bean) enable;
26 inherit pubkey;
27 };
28 cow.games.enable = config.cow.gaming.enable;
29 cow.gdi = {
30 inherit (config.cow.gdi) enable doIdle;
31 useUWSM = true;
32 };
33 };
34 };
35}