80 lines
1.7 KiB
Nix
80 lines
1.7 KiB
Nix
{
|
|
self,
|
|
inputs,
|
|
...
|
|
}:
|
|
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
name = "yukkop";
|
|
#name = builtins.baseNameOf ./.;
|
|
home = "/home/${name}";
|
|
cfg = config.hectic.user.yukkop;
|
|
in {
|
|
imports = [
|
|
inputs.home-manager.nixosModules.home-manager
|
|
];
|
|
|
|
options.hectic.user.yukkop.enable = lib.mkEnableOption "Enable user.yukkop";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
users.users.${name} = {
|
|
isNormalUser = true;
|
|
initialPassword = "kk";
|
|
extraGroups = [ "wheel" "docker" "owner" ];
|
|
};
|
|
|
|
home-manager.users.${name} = {
|
|
home.stateVersion = "24.05";
|
|
|
|
home.packages = with pkgs; [
|
|
pinentry-tty
|
|
];
|
|
|
|
programs.password-store = {
|
|
enable = true;
|
|
package = (pkgs.pass.override {
|
|
x11Support = false;
|
|
waylandSupport = false;
|
|
dmenuSupport = false;
|
|
}).withExtensions (exts: with exts; [
|
|
pass-otp
|
|
]);
|
|
settings.PASSWORD_STORE_DIR = "${home}/.pass";
|
|
};
|
|
|
|
programs.gpg = {
|
|
enable = true;
|
|
homedir = "${home}/.gnupg";
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
pinentry.package = pkgs.pinentry-tty;
|
|
enableZshIntegration = true;
|
|
defaultCacheTtl = 60 * 60;
|
|
maxCacheTtl = 60 * 60 * 24;
|
|
};
|
|
|
|
programs.bash.shellAliases = {
|
|
dev = "nix develop -c zsh";
|
|
# system-specific rebuild aliases can be added per-system
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
lfs.enable = true;
|
|
settings = {
|
|
user.name = "yukkop";
|
|
user.email = "hectic.yukkop@gmail.com";
|
|
push.autoSetupRemote = true;
|
|
init.defaultBranch = "master";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|