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";
services.resolved.enable = true;
services.userborn.enable = true;
#services.userborn.enable = true;
services.displayManager.autoLogin = {
enable = true;
@ -99,5 +99,21 @@
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";
}

View file

@ -1,7 +1,12 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ lib, modulesPath, ... }:
{
lib,
modulesPath,
pkgs,
...
}:
{
imports = [
@ -18,6 +23,12 @@
boot.kernelModules = [ ];
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
# (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

View file

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

View file

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