nixos-config/users/simon/default.nix

54 lines
1.3 KiB
Nix
Raw Permalink Normal View History

{ config, options, pkgs, ... }:
let
# hacky way of inheriting a nixos option into home manager
inheritOption = name:
let
path = pkgs.lib.splitString "." name;
option = pkgs.lib.getAttrFromPath path options;
value = pkgs.lib.getAttrFromPath path config;
in
# setting `value` doesnt work (always is default value in other modules)
option // { default = value; };
in
2020-08-22 17:44:39 +02:00
{
imports = [
2020-12-12 17:08:52 +01:00
(import "${(import ../../nix/sources.nix).home-manager}/nixos")
2020-08-22 17:44:39 +02:00
];
users.users.simon = {
isNormalUser = true;
extraGroups = [
"adbusers"
"dialout"
2020-09-12 20:54:10 +02:00
"libvirtd"
2020-08-22 17:44:39 +02:00
"lp"
"networkmanager"
2020-10-17 20:12:13 +02:00
"video"
2020-08-22 17:44:39 +02:00
"wheel"
];
2020-12-05 16:42:49 +01:00
openssh.authorizedKeys.keys = config.sbruder.pubkeys.trustedKeys;
2020-12-06 14:05:47 +01:00
initialPassword = "foobar"; # for vm
2020-08-22 17:44:39 +02:00
};
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
2020-12-05 15:01:40 +01:00
home-manager.users.simon = { lib, pkgs, ... }: {
options.sbruder = {
full = inheritOption "sbruder.full";
gui.enable = inheritOption "sbruder.gui.enable";
2021-01-07 18:29:18 +01:00
games.enable = inheritOption "sbruder.games.enable";
unfree = {
allowAssets = inheritOption "sbruder.unfree.allowAssets";
allowSoftware = inheritOption "sbruder.unfree.allowSoftware";
};
2020-12-05 15:01:40 +01:00
};
2020-12-05 19:19:45 +01:00
imports = [ ./modules ];
config = {
home.stateVersion = "20.09";
};
2020-08-22 17:44:39 +02:00
};
}