update homemanager settings

This commit is contained in:
christoph.hollizeck 2024-03-26 22:36:22 +01:00
parent 2697a0ef48
commit 082492da6a
3 changed files with 96 additions and 0 deletions

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
...
}:
# User information gathered by Snowfall Lib is available.
let
name = config.snowfallorg.user.name;
home = config.snowfallorg.user.home.directory;
in {
home = {
packages = with pkgs; [neovim];
sessionVariables = {EDITOR = "nvim";};
shellAliases = {
vim = "nvim";
vimdiff = "nvim -d";
};
stateVersion = "23.11";
};
}

View file

@ -0,0 +1,20 @@
{
lib,
config,
pkgs,
...
}:
with lib;
with lib.wyrdgard; let
cfg = config.wyrdgard.apps.cli-apps.kitty;
in {
options.wyrdgard.cli-apps.kitty = {
enable = mkEnableOption "Kity";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
kitty
];
};
}

View file

@ -0,0 +1,52 @@
{
lib,
config,
pkgs,
osConfig ? {},
...
}: let
inherit (lib) types mkIf mkDefault mkMerge;
inherit (lib.wyrdgard) mkOpt;
cfg = config.wyrdgard.user;
is-linux = pkgs.stdenv.isLinux;
is-darwin = pkgs.stdenv.isDarwin;
home-directory =
if cfg.name == null
then null
else if is-darwin
then "/Users/${cfg.name}"
else "/home/${cfg.name}";
in {
options.wyrdgard.user = {
enable = mkOpt types.bool true "Whether to configure the user account.";
name = mkOpt (types.nullOr types.str) (config.wyrdgard.user.name or "cholli") "The user account.";
fullName = mkOpt types.str "Christoph Hollizeck" "The full name of the user.";
email = mkOpt types.str "christoph.hollizeck@hey.com" "The email of the user.";
home = mkOpt (types.nullOr types.str) home-directory "The user's home directory.";
};
config = mkIf cfg.enable (mkMerge [
{
assertions = [
{
assertion = cfg.name != null;
message = "wyrdgard.user.name must be set";
}
{
assertion = cfg.home != null;
message = "wyrdgard.user.home must be set";
}
];
home = {
username = mkDefault cfg.name;
homeDirectory = mkDefault cfg.home;
};
}
]);
}