mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-11 01:34:08 -05:00
work
This commit is contained in:
parent
8100701e5d
commit
aa0efee791
2 changed files with 57 additions and 2 deletions
|
|
@ -39,8 +39,6 @@
|
|||
- `darwin` - Custom modules specific to dariwn-based hosts
|
||||
- `home-manager` - Custom modules to home-manager
|
||||
- `nixos` - Custom modules specific to nixos-based hosts
|
||||
- `nixos-installer` - A stripped down version of the main nix-config flake used
|
||||
exclusively during installation of NixOS and nix-config on hosts.
|
||||
- `overlays` - Custom modifications to upstream packages.
|
||||
- Currently not using overlays.
|
||||
- `pkgs` - Custom packages meant to be shared or upstreamed.
|
||||
|
|
|
|||
57
hosts/common/users/primary/default.nix
Normal file
57
hosts/common/users/primary/default.nix
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
hostSpec = config.hostSpec;
|
||||
pubKeys = lib.filesystem.listFilesRecursive ./keys;
|
||||
in
|
||||
{
|
||||
users.users.${hostSpec.username} = {
|
||||
name = hostSpec.username;
|
||||
shell = pkgs.zsh;
|
||||
|
||||
openssh.authorizedKeys.keys = lib.lists.forEach pubKeys (key: builtins.readFile key);
|
||||
|
||||
# Create ssh sockets directory for controlpaths when homemanager not loaded (i.e. isMinimal)
|
||||
systemd.tmpfiles.rules = let
|
||||
user = config.users.users.${hostSpec.username}.name;
|
||||
group = config.users.users.${hostSpec.username}.group;
|
||||
in [
|
||||
"d /home/${hostSpec.username}/.ssh 0750 ${user} ${group} -"
|
||||
"d /home/${hostSpec.username}/.ssh/sockets 0750 ${user} ${group} -"
|
||||
];
|
||||
|
||||
programs.zsh.enable = true;
|
||||
environment.systemPackages = [
|
||||
pkgs.git
|
||||
pkgs.vim
|
||||
];
|
||||
};
|
||||
}
|
||||
// lib.optionalAttrs (inputs ? "home-manager") {
|
||||
home-manager = {
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs inputs;
|
||||
hostSpec = config.hostSpec;
|
||||
};
|
||||
users.${hostSpec.username}.imports = lib.flatten (
|
||||
lib.optional (!hostSpec.isMinimal) [
|
||||
(
|
||||
{config, ...}:
|
||||
import (lib.custom.relativeToRoot "home/${hostSpec.username}/${hostSpec.hostName}.nix") {
|
||||
inherit
|
||||
pkgs
|
||||
inputs
|
||||
config
|
||||
lib
|
||||
hostSpec
|
||||
;
|
||||
}
|
||||
)
|
||||
]
|
||||
);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue