64 lines
2.1 KiB
Nix
64 lines
2.1 KiB
Nix
{ self, inputs, ... }: {
|
|
|
|
flake.nixosModules.user-nathan = { config, lib, pkgs, ... }: {
|
|
|
|
config = lib.mkIf (
|
|
config.sysconfig.users ? nathan && config.sysconfig.users.nathan.usePresets
|
|
) {
|
|
|
|
sops.secrets."nathan/pass".neededForUsers = true;
|
|
|
|
users.users.nathan = {
|
|
shell = lib.mkDefault pkgs.zsh;
|
|
name = lib.mkDefault "nathan";
|
|
isNormalUser = lib.mkDefault true;
|
|
#hashedPasswordFile = lib.mkIf (cfg.hashedPasswordFile != null) cfg.hashedPasswordFile;
|
|
extraGroups = [ "networkmanager" "docker" "libvirtd" ];
|
|
openssh.authorizedKeys.keys = with config.sysconfig.users.nathan; lib.mkIf config.sysconfig.services.openssh.enable (
|
|
ssh.keys ++ (map (z: config.sysconfig.sshHostKeys.${z}) ssh.hosts)
|
|
);
|
|
packages = lib.mkIf (
|
|
config.sysconfig.users.nathan.home-manager.enable && config.sysconfig.users.nathan.home-manager.standalone
|
|
) [ pkgs.home-manager ];
|
|
|
|
};
|
|
};
|
|
};
|
|
|
|
flake.homeModules.nathan = { lib, ... }:
|
|
|
|
{
|
|
|
|
config = {
|
|
homeconfig = {
|
|
graphical = lib.mkDefault false;
|
|
minimal = lib.mkDefault false;
|
|
|
|
hyprland.enable = lib.mkDefault false;
|
|
};
|
|
|
|
|
|
nix = {
|
|
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
|
settings = {
|
|
experimental-features = [ "nix-command" "flakes" ];
|
|
builders = "ssh://builder x86_64-linux,aarch64-linux /run/secrets/remoteBuildKey 1 1 nixos-test,benchmark,big-parallel,kvm - -";
|
|
builders-use-substitutes = true;
|
|
};
|
|
};
|
|
|
|
programs.home-manager.enable = true;
|
|
};
|
|
};
|
|
|
|
flake.homeConfigurations.nathan = inputs.home-manager.lib.homeManagerConfiguration {
|
|
pkgs = import inputs.nixpkgs {
|
|
system = builtins.currentSystem;
|
|
};
|
|
|
|
modules = [
|
|
self.homeModules.nathan
|
|
];
|
|
};
|
|
}
|