treewide: drop impermanence in favor of preservation
This commit is contained in:
parent
6c422a41c6
commit
f28c4d7d7c
32
flake.lock
32
flake.lock
|
@ -251,21 +251,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"impermanence": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734772301,
|
|
||||||
"narHash": "sha256-mQEQQzCTUlDiEw/EbblB510P/GQOmIPtKoJrqDqeGVc=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "impermanence",
|
|
||||||
"rev": "0ab2f858dfefe73402eb53fbe6a3bad4f6702d5f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "impermanence",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
|
@ -397,6 +382,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"preservation": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1734453061,
|
||||||
|
"narHash": "sha256-FfHXIRuyTmv9/U3ioOu3jnij1NPA6ywk7GdC3A+FMAA=",
|
||||||
|
"owner": "WilliButz",
|
||||||
|
"repo": "preservation",
|
||||||
|
"rev": "9ee89d71475c0f4a6e97ed4a9169e377222ea8d6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "WilliButz",
|
||||||
|
"repo": "preservation",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rebmit": {
|
"rebmit": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
|
@ -449,7 +449,6 @@
|
||||||
"git-hooks-nix"
|
"git-hooks-nix"
|
||||||
],
|
],
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"impermanence": "impermanence",
|
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"niri-flake": "niri-flake",
|
"niri-flake": "niri-flake",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -461,6 +460,7 @@
|
||||||
"rebmit",
|
"rebmit",
|
||||||
"nixpkgs-unstable"
|
"nixpkgs-unstable"
|
||||||
],
|
],
|
||||||
|
"preservation": "preservation",
|
||||||
"rebmit": "rebmit",
|
"rebmit": "rebmit",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"treefmt-nix": [
|
"treefmt-nix": [
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
# nixos modules
|
# nixos modules
|
||||||
|
|
||||||
impermanence.url = "github:nix-community/impermanence";
|
preservation.url = "github:WilliButz/preservation";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -18,6 +18,7 @@ let
|
||||||
applications.base
|
applications.base
|
||||||
fish
|
fish
|
||||||
helix
|
helix
|
||||||
|
preservation
|
||||||
tmux
|
tmux
|
||||||
yazi
|
yazi
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
|
|
|
@ -49,7 +49,7 @@ let
|
||||||
name:
|
name:
|
||||||
nixosModules
|
nixosModules
|
||||||
++ [
|
++ [
|
||||||
inputs.impermanence.nixosModules.impermanence
|
inputs.preservation.nixosModules.preservation
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
|
|
|
@ -28,11 +28,11 @@ let
|
||||||
system.boot.kernel.latest
|
system.boot.kernel.latest
|
||||||
system.boot.systemd-initrd
|
system.boot.systemd-initrd
|
||||||
system.common
|
system.common
|
||||||
system.global-persistence
|
|
||||||
system.nix.gc
|
system.nix.gc
|
||||||
system.nix.registry
|
system.nix.registry
|
||||||
system.nix.settings
|
system.nix.settings
|
||||||
system.nix.version
|
system.nix.version
|
||||||
|
system.preservation
|
||||||
users.root
|
users.root
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
# Portions of this file are sourced from
|
|
||||||
# https://github.com/linyinfeng/dotfiles/blob/b618b0fd16fb9c79ab7199ed51c4c0f98a392cea/home-manager/modules/home/global-persistence.nix
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.home.globalPersistence;
|
|
||||||
sysCfg = osConfig.environment.globalPersistence;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.home.globalPersistence = {
|
|
||||||
enable = mkEnableOption "global presistence storage";
|
|
||||||
home = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = ''
|
|
||||||
Home directory.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
directories = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
|
||||||
description = ''
|
|
||||||
A list of directories in your home directory that you want to link to persistent storage.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
files = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
|
||||||
description = ''
|
|
||||||
A list of files in your home directory you want to link to persistent storage.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
enabled = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Is global home persistence storage enabled.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf (osConfig != null && sysCfg.enable) {
|
|
||||||
home.globalPersistence = {
|
|
||||||
inherit (sysCfg.user) directories;
|
|
||||||
inherit (sysCfg.user) files;
|
|
||||||
enabled = cfg.enable;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
57
home-manager/modules/preservation.nix
Normal file
57
home-manager/modules/preservation.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.preservation;
|
||||||
|
sysCfg = osConfig.preservation;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.preservation = {
|
||||||
|
enable = mkEnableOption "the preservation module";
|
||||||
|
preserveAt = mkOption {
|
||||||
|
type = types.attrsOf (
|
||||||
|
types.submodule (
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
directories = mkOption {
|
||||||
|
type = with types; listOf (coercedTo str (d: { directory = d; }) anything);
|
||||||
|
default = [ ];
|
||||||
|
description = ''
|
||||||
|
Specify a list of directories that should be preserved for this user.
|
||||||
|
The paths are interpreted relative to the user's home directory.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
files = mkOption {
|
||||||
|
type = with types; listOf (coercedTo str (f: { file = f; }) anything);
|
||||||
|
default = [ ];
|
||||||
|
description = ''
|
||||||
|
Specify a list of files that should be preserved for this user.
|
||||||
|
The paths are interpreted relative to the user's home directory.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Specify a set of locations and the corresponding state that
|
||||||
|
should be preserved for this user.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
warnings = mkIf (cfg.enable && !sysCfg.enable) [
|
||||||
|
''
|
||||||
|
The preservation module is enabled in Home Manager but disabled system-wide.
|
||||||
|
As a result, the settings will not take effect.
|
||||||
|
''
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -17,7 +17,7 @@
|
||||||
# keep-sorted end
|
# keep-sorted end
|
||||||
];
|
];
|
||||||
|
|
||||||
home.globalPersistence.directories = [
|
preservation.preserveAt."/persist".directories = [
|
||||||
".thunderbird"
|
".thunderbird"
|
||||||
".zotero"
|
".zotero"
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ in
|
||||||
{
|
{
|
||||||
services.darkman.enable = true;
|
services.darkman.enable = true;
|
||||||
|
|
||||||
home.globalPersistence.directories = [ ".cache/darkman" ];
|
preservation.preserveAt."/persist".directories = [ ".cache/darkman" ];
|
||||||
|
|
||||||
systemd.user.tmpfiles.rules = [
|
systemd.user.tmpfiles.rules = [
|
||||||
"C %h/.cache/darkman/mode.txt - - - - ${defaultMode}"
|
"C %h/.cache/darkman/mode.txt - - - - ${defaultMode}"
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
home.globalPersistence.directories = [
|
preservation.preserveAt."/persist".directories = [ "Projects" ];
|
||||||
"Projects"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.globalPersistence.directories = [ ".local/share/direnv" ];
|
preservation.preserveAt."/persist".directories = [ ".local/share/direnv" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,7 +178,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.globalPersistence.directories = [ ".mozilla" ];
|
preservation.preserveAt."/persist".directories = [ ".mozilla" ];
|
||||||
|
|
||||||
programs.niri.browser = lib.mkDefault [ "firefox" ];
|
programs.niri.browser = lib.mkDefault [ "firefox" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,5 +39,5 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
home.globalPersistence.directories = [ ".local/share/fish" ];
|
preservation.preserveAt."/persist".directories = [ ".local/share/fish" ];
|
||||||
}
|
}
|
||||||
|
|
17
home-manager/profiles/preservation/default.nix
Normal file
17
home-manager/profiles/preservation/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{ lib, osConfig, ... }:
|
||||||
|
{
|
||||||
|
preservation = {
|
||||||
|
enable = true;
|
||||||
|
preserveAt."/persist" = {
|
||||||
|
directories =
|
||||||
|
[
|
||||||
|
".cache/nix"
|
||||||
|
".local/share/nix"
|
||||||
|
".ssh"
|
||||||
|
]
|
||||||
|
++ lib.optionals osConfig.services.gnome.gnome-keyring.enable [
|
||||||
|
".local/share/keyrings"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,5 +2,5 @@
|
||||||
{
|
{
|
||||||
services.syncthing.enable = true;
|
services.syncthing.enable = true;
|
||||||
|
|
||||||
home.globalPersistence.directories = [ ".local/state/syncthing" ];
|
preservation.preserveAt."/persist".directories = [ ".local/state/syncthing" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,5 @@
|
||||||
Install.WantedBy = [ "graphical-session.target" ];
|
Install.WantedBy = [ "graphical-session.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
home.globalPersistence.directories = [
|
preservation.preserveAt."/persist".directories = [ ".config/valent" ];
|
||||||
".config/valent"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
videos = "$HOME/Videos";
|
videos = "$HOME/Videos";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.globalPersistence.directories = [
|
preservation.preserveAt."/persist".directories = [
|
||||||
"Documents"
|
"Documents"
|
||||||
"Downloads"
|
"Downloads"
|
||||||
"Music"
|
"Music"
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
# Portions of this file are sourced from
|
|
||||||
# https://github.com/linyinfeng/dotfiles/blob/b618b0fd16fb9c79ab7199ed51c4c0f98a392cea/nixos/modules/environment/global-persistence/default.nix
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.environment.globalPersistence;
|
|
||||||
userCfg =
|
|
||||||
name:
|
|
||||||
assert config.home-manager.users.${name}.home.globalPersistence.enabled;
|
|
||||||
{
|
|
||||||
inherit name;
|
|
||||||
value = {
|
|
||||||
inherit (config.home-manager.users.${name}.home.globalPersistence) home directories files;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
usersCfg = lib.listToAttrs (map userCfg cfg.user.users);
|
|
||||||
in
|
|
||||||
with lib;
|
|
||||||
{
|
|
||||||
options.environment.globalPersistence = {
|
|
||||||
enable = mkEnableOption "global persistence storage";
|
|
||||||
root = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = ''
|
|
||||||
The root of persistence storage.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
directories = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
|
||||||
description = ''
|
|
||||||
Directories to bind mount to persistent storage.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
files = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
|
||||||
description = ''
|
|
||||||
Files that should be stored in persistent storage.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
user = {
|
|
||||||
users = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
|
||||||
description = ''
|
|
||||||
Persistence for users.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
directories = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
|
||||||
description = ''
|
|
||||||
Directories to bind mount to persistent storage for users.
|
|
||||||
Paths should be relative to home of user.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
files = mkOption {
|
|
||||||
type = with types; listOf str;
|
|
||||||
default = [ ];
|
|
||||||
description = ''
|
|
||||||
Files to link to persistent storage for users.
|
|
||||||
Paths should be relative to home of user.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.persistence."${cfg.root}" = {
|
|
||||||
hideMounts = true;
|
|
||||||
inherit (cfg) directories files;
|
|
||||||
users = usersCfg;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
environment.globalPersistence.user.directories = [ ".local/share/keyrings" ];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,6 +90,4 @@ in
|
||||||
};
|
};
|
||||||
restartUnits = [ "sshd.service" ];
|
restartUnits = [ "sshd.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.globalPersistence.user.directories = [ ".ssh" ];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,5 +9,5 @@
|
||||||
pkiBundle = "/etc/secureboot";
|
pkiBundle = "/etc/secureboot";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.globalPersistence.directories = [ "/etc/secureboot" ];
|
preservation.preserveAt."/persist".directories = [ "/etc/secureboot" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
{
|
|
||||||
assertions = [
|
|
||||||
{
|
|
||||||
assertion = config.fileSystems ? "/persist";
|
|
||||||
message = ''
|
|
||||||
`config.fileSystems."/persist"` must be set.
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.globalPersistence = {
|
|
||||||
enable = true;
|
|
||||||
root = "/persist";
|
|
||||||
directories = [
|
|
||||||
"/var/cache"
|
|
||||||
"/var/lib"
|
|
||||||
"/var/log"
|
|
||||||
"/var/tmp"
|
|
||||||
];
|
|
||||||
files = [
|
|
||||||
"/etc/machine-id"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.suppressedSystemUnits = [ "systemd-machine-id-commit.service" ];
|
|
||||||
}
|
|
|
@ -20,9 +20,4 @@
|
||||||
builders-use-substitutes = true;
|
builders-use-substitutes = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.globalPersistence.user.directories = [
|
|
||||||
".cache/nix"
|
|
||||||
".local/share/nix"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
94
nixos/profiles/system/preservation.nix
Normal file
94
nixos/profiles/system/preservation.nix
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = config.fileSystems ? "/persist";
|
||||||
|
message = ''
|
||||||
|
`config.fileSystems."/persist"` must be set.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
preservation = {
|
||||||
|
enable = true;
|
||||||
|
preserveAt = lib.mkMerge (
|
||||||
|
lib.mapAttrsToList (
|
||||||
|
name: hmCfg:
|
||||||
|
lib.mapAttrs (_: preserve: {
|
||||||
|
users.${name} = {
|
||||||
|
home = hmCfg.home.homeDirectory;
|
||||||
|
inherit (preserve) directories files;
|
||||||
|
};
|
||||||
|
}) hmCfg.preservation.preserveAt
|
||||||
|
) (lib.filterAttrs (_: hmCfg: hmCfg.preservation.enable) config.home-manager.users)
|
||||||
|
++ lib.singleton {
|
||||||
|
"/persist" = {
|
||||||
|
directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/cache";
|
||||||
|
inInitrd = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "/var/lib";
|
||||||
|
inInitrd = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "/var/log";
|
||||||
|
inInitrd = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "/var/tmp";
|
||||||
|
inInitrd = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
files = [
|
||||||
|
{
|
||||||
|
file = "/etc/machine-id";
|
||||||
|
inInitrd = true;
|
||||||
|
how = "symlink";
|
||||||
|
configureParent = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/351151#issuecomment-2549025171
|
||||||
|
systemd.services.systemd-machine-id-commit = {
|
||||||
|
unitConfig.ConditionPathIsMountPoint = [
|
||||||
|
""
|
||||||
|
"/persist/etc/machine-id"
|
||||||
|
];
|
||||||
|
serviceConfig.ExecStart = [
|
||||||
|
""
|
||||||
|
"systemd-machine-id-setup --commit --root /persist"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# https://willibutz.github.io/preservation/examples.html
|
||||||
|
systemd.tmpfiles.settings.preservation = lib.mkMerge (
|
||||||
|
lib.mapAttrsToList (name: hmCfg: {
|
||||||
|
"${hmCfg.home.homeDirectory}/.config".d = {
|
||||||
|
user = name;
|
||||||
|
group = config.users.users.${name}.group;
|
||||||
|
mode = "0755";
|
||||||
|
};
|
||||||
|
"${hmCfg.home.homeDirectory}/.local".d = {
|
||||||
|
user = name;
|
||||||
|
group = config.users.users.${name}.group;
|
||||||
|
mode = "0755";
|
||||||
|
};
|
||||||
|
"${hmCfg.home.homeDirectory}/.local/share".d = {
|
||||||
|
user = name;
|
||||||
|
group = config.users.users.${name}.group;
|
||||||
|
mode = "0755";
|
||||||
|
};
|
||||||
|
"${hmCfg.home.homeDirectory}/.local/state".d = {
|
||||||
|
user = name;
|
||||||
|
group = config.users.users.${name}.group;
|
||||||
|
mode = "0755";
|
||||||
|
};
|
||||||
|
}) (lib.filterAttrs (_: hmCfg: hmCfg.preservation.enable) config.home-manager.users)
|
||||||
|
);
|
||||||
|
}
|
|
@ -34,16 +34,9 @@ in
|
||||||
sopsFile = config.sops.secretFiles.get "local.yaml";
|
sopsFile = config.sops.secretFiles.get "local.yaml";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.globalPersistence.user.users = [ "rebmit" ];
|
|
||||||
|
|
||||||
home-manager.users.rebmit =
|
home-manager.users.rebmit =
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
home.globalPersistence = {
|
|
||||||
enable = true;
|
|
||||||
home = homeDirectory;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
userName = "Lu Wang";
|
userName = "Lu Wang";
|
||||||
userEmail = "rebmit@rebmit.moe";
|
userEmail = "rebmit@rebmit.moe";
|
||||||
|
|
|
@ -7,6 +7,4 @@
|
||||||
swtpm.enable = true;
|
swtpm.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.globalPersistence.user.directories = [ ".config/libvirt" ];
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue