Add custom impermanence module

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-08-08 22:03:15 +03:00
parent 5e57d63a54
commit 22e0150a65
69 changed files with 777 additions and 494 deletions

View File

@@ -1,23 +1,21 @@
{
username ? throw "username argument is required",
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{ config, ... }:
let
hmConfig = config.home-manager.users.${username};
in
{
environment = {
sessionVariables.ZDOTDIR = "$HOME/.config/zsh";
persistence."/persist".users.${username}.directories = [ "${hmConfig.xdg.relativeDataHome}/zsh" ];
persistence."/persist"."${home}/.local/share/zsh" = { };
};
home-manager.users.${username} = {
home-manager.users.${user} = {
programs.zsh = {
enable = true;
dotDir = "${hmConfig.xdg.relativeConfigHome}/zsh";
dotDir = ".config/zsh";
autocd = true;
history = {
path = "${hmConfig.xdg.dataHome}/zsh/history";
path = "${home}/.local/share/zsh/history";
expireDuplicatesFirst = true;
};
historySubstringSearch.enable = true;