From f3cda941e4dff1a4df2006ef16c9f4954e8fd3f8 Mon Sep 17 00:00:00 2001 From: Kristian Krsnik Date: Tue, 9 Apr 2024 13:27:55 +0200 Subject: [PATCH] updated --- README.md | 22 ++++-- slides/.~lock.slides.pptx# | 1 + slides/schema.md | 69 ++++++++++++++++++ slides/slides.pptx | Bin 0 -> 67650 bytes .../custom/default.nix => custom/basic.nix} | 9 ++- template/custom/default.nix | 5 ++ template/flake.nix | 9 +-- template/system/default.nix | 3 - template/system/impermanence.nix | 4 +- 9 files changed, 102 insertions(+), 20 deletions(-) create mode 100644 slides/.~lock.slides.pptx# create mode 100644 slides/schema.md create mode 100644 slides/slides.pptx rename template/{system/custom/default.nix => custom/basic.nix} (85%) create mode 100644 template/custom/default.nix diff --git a/README.md b/README.md index b3bee88..767e272 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Start a NixOS setup with Impermanence -1. Create the configuration with the template +```txt `nix-shell -p git` `nix flake new nixos --template git+https://git.krsnik.at/Kristian/impermanence-talk#default --extra-experimental-features "nix-command flakes"` `cd nixos` @@ -10,10 +10,22 @@ `[CHANGE SETTINGS]` `sudo disko --mode disko ./systems/disko.nix` `[ENTER PASSWORD FOR ENCRYPTION]` - `cd ..` - `sudo mv nixos /mnt/persist` - `cd nixos /mnt/persist/nixos` - `sudo nixos-generate-config --no-filesystems --force --root /mnt --dir ./system` `sudo nixos-install --no-root-password --root /mnt --flake .#default` + To save the configuration + `cd ..` + `sudo mv nixos /mnt/persist/etc` + `cd /mnt/persist/etc/nixos` +``` + +## Get cleared files back + +```txt +cd /tmp +mkdir mnt +sudo btrfs subvolume list / +[NOTE the ID] +sudo mount /dev/mapper/crypted -o subvolid=[ID] mnt/ +``` + diff --git a/slides/.~lock.slides.pptx# b/slides/.~lock.slides.pptx# new file mode 100644 index 0000000..917fd31 --- /dev/null +++ b/slides/.~lock.slides.pptx# @@ -0,0 +1 @@ +,kristian,nixos,09.04.2024 09:22,file:///home/kristian/.config/libreoffice/4; \ No newline at end of file diff --git a/slides/schema.md b/slides/schema.md new file mode 100644 index 0000000..ea25854 --- /dev/null +++ b/slides/schema.md @@ -0,0 +1,69 @@ +```txt +/nix / /persist + +------------------------+ + /store/x -|-> /var/x | + | /var/lib/bluetooth <-|- /var/lib/bluetooth + /store/y -|-> /bin/y | + | /home/admin/.local <-|- /home/admin/.local + /store/z -|-> /etc/z | + +------------------------+ +``` + +```nix +{...}: { + boot.initrd.postDeviceCommands = lib.mkAfter '' + mkdir /btrfs_tmp + mount /dev/mapper/crypted /btrfs_tmp + if [[ -e /btrfs_tmp/root ]]; then + mkdir -p /btrfs_tmp/old_roots + timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") + mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" + fi + + delete_subvolume_recursively() { + IFS=$'\n' + for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do + delete_subvolume_recursively "/btrfs_tmp/$i" + done + btrfs subvolume delete "$1" + } + + for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do + delete_subvolume_recursively "$i" + done + + btrfs subvolume create /btrfs_tmp/root + umount /btrfs_tmp + ''; +} +``` + +```nix +{ + inputs = { + impermanence = { + url = "github:nix-community/impermanence"; + }; + }; + + outputs = {self, ...} @ inputs: let + system = "x86_64-linux"; + pkgs = inputs.nixpkgs.legacyPackages.${system}; + in { + nixosConfigurations = { + default = inputs.nixpkgs.lib.nixosSystem { + inherit system; + + modules = [ + inputs.impermanence.nixosModules.impermanence + ... + ]; + }; + }; + } +} +``` + +```txt + +``` diff --git a/slides/slides.pptx b/slides/slides.pptx new file mode 100644 index 0000000000000000000000000000000000000000..a1691a8d62af03160a177bf6b8f5c76fb335cb39 GIT binary patch literal 67650 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

vbl?H@hRd`%&4j;R3)#g-dUh+;lCq;D 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 XFVSH+Bq%7nus=II6qNe?<4^wsD0m1E literal 0 HcmV?d00001 diff --git a/template/system/custom/default.nix b/template/custom/basic.nix similarity index 85% rename from template/system/custom/default.nix rename to template/custom/basic.nix index bb2a37f..ed92fd0 100644 --- a/template/system/custom/default.nix +++ b/template/custom/basic.nix @@ -3,7 +3,7 @@ lib, ... }: { - networking.hostName = "example"; + networking.hostName = "nixos"; networking.firewall.enable = true; networking.firewall.allowPing = false; @@ -26,13 +26,16 @@ users = { mutableUsers = false; # Disallow creation of new users and groups - users."admin" = { - password = "changeme"; # TODO: Maybe put a throw here. + users."demo" = { + password = "demo"; # TODO: Maybe put a throw here. isNormalUser = true; extraGroups = ["wheel"]; }; }; + services.getty.autoLogin = "demo"; + console.keyMap = "de"; + time.timeZone = "Europe/Vienna"; i18n.defaultLocale = "en_US.UTF-8"; diff --git a/template/custom/default.nix b/template/custom/default.nix new file mode 100644 index 0000000..fb9dd06 --- /dev/null +++ b/template/custom/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./basic.nix + ]; +} diff --git a/template/flake.nix b/template/flake.nix index 86d3213..90df957 100644 --- a/template/flake.nix +++ b/template/flake.nix @@ -21,20 +21,15 @@ pkgs = inputs.nixpkgs.legacyPackages.${system}; in { nixosConfigurations = { - default = inputs.nixpkgs.lib.nixosSystem { + nixos = inputs.nixpkgs.lib.nixosSystem { inherit system; modules = [ inputs.disko.nixosModules.default - # { - # imports = [ - # (import ./system/disko.nix {}) - # ]; - # } - inputs.impermanence.nixosModules.impermanence ./system + ./custom ]; }; }; diff --git a/template/system/default.nix b/template/system/default.nix index ef1ceb2..aea4758 100644 --- a/template/system/default.nix +++ b/template/system/default.nix @@ -4,8 +4,5 @@ (import ./disko.nix {}) ./impermanence.nix ./configuration.nix - - # Your custom configuration - ./custom ]; } diff --git a/template/system/impermanence.nix b/template/system/impermanence.nix index eb28acd..38a9184 100644 --- a/template/system/impermanence.nix +++ b/template/system/impermanence.nix @@ -30,7 +30,7 @@ directories = [ { directory = "/etc/nixos"; - user = "admin"; + user = "demo"; mode = "u=rwx,g=rx,o=rx"; } "/var/log" @@ -47,7 +47,7 @@ } ]; - users."admin" = { + users."demo" = { directories = [ "this-will-persist" ];