feat: activate impermanence on gallifrey

This commit is contained in:
Julien Malka 2024-09-30 10:42:30 +02:00
parent cd96488c46
commit 1ef9dd84c9
4 changed files with 60 additions and 15 deletions

View file

@ -25,7 +25,7 @@
networking.networkmanager.dns = "systemd-resolved"; networking.networkmanager.dns = "systemd-resolved";
services.resolved.enable = true; services.resolved.enable = true;
services.userborn.enable = true; #services.userborn.enable = true;
services.displayManager.autoLogin = { services.displayManager.autoLogin = {
enable = true; enable = true;
@ -99,5 +99,21 @@
xorg.xinit xorg.xinit
]; ];
environment.persistence."/persistent" = {
hidemounts = true;
directories = [
"/var/lib"
"/var/log"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
};
programs.fuse.userAllowOther = true;
filesystems."/persistent".neededforboot = true;
system.stateVersion = "24.11"; system.stateVersion = "24.11";
} }

View file

@ -1,7 +1,12 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ lib, modulesPath, ... }: {
lib,
modulesPath,
pkgs,
...
}:
{ {
imports = [ imports = [
@ -18,6 +23,12 @@
boot.kernelModules = [ ]; boot.kernelModules = [ ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
boot.initrd.postDeviceCommands = ''
lvm lvremove --force /dev/mainpool/root || :
yes | lvm lvcreate --size 100G --name root mainpool
${pkgs.e2fsprogs}/bin/mkfs.ext4 /dev/mainpool/root
'';
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction # still possible to use this option, but it's recommended to use it in conjunction

View file

@ -76,6 +76,15 @@
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.persistence."/persistent/home/julien" = {
directories = [
"Pictures"
"Documents"
".ssh"
];
allowOther = true;
};
programs.firefox = { programs.firefox = {
enable = true; enable = true;
package = pkgs.firefox; package = pkgs.firefox;

View file

@ -1,4 +1,9 @@
{ config, lib, ... }: {
config,
lib,
inputs,
...
}:
let let
cfg = config.luj.hmgr; cfg = config.luj.hmgr;
in in
@ -10,16 +15,20 @@ with lib;
config = { config = {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.users = home-manager.users = lib.mapAttrs (
lib.mapAttrs name: value:
(name: value: {
{ imports =
imports = with builtins; (map (x: ../../home-manager-modules + "/${x}/default.nix") (attrNames (readDir ../../home-manager-modules))); with builtins;
home.username = "${name}"; (map (x: ../../home-manager-modules + "/${x}/default.nix") (
home.homeDirectory = "/home/${name}"; attrNames (readDir ../../home-manager-modules)
home.stateVersion = "21.05"; ))
} // value) ++ [ "${inputs.impermanence}/home-manager.nix" ];
cfg; home.username = "${name}";
home.homeDirectory = "/home/${name}";
home.stateVersion = "21.05";
}
// value
) cfg;
}; };
} }