add impermanence for user dirs
This commit is contained in:
+5
-1
@@ -1,7 +1,7 @@
|
|||||||
keys:
|
keys:
|
||||||
hosts:
|
hosts:
|
||||||
- &laptop age1ldgnl53dmvl4fjz6hgdj0cvensagddn3ltpmxfm72m8q273w75fsk42p8v
|
- &laptop age1ldgnl53dmvl4fjz6hgdj0cvensagddn3ltpmxfm72m8q273w75fsk42p8v
|
||||||
- &nixos-homelab-00 age19sx89g6rs9hnrhkujf5uk2zrkj5d4l3gh33gzwau7v7z2249qq4sw47et8
|
- &nixos-homelab-00 age177wwag0rmyejqm37l748tuup5lvdslaza6kjkrjhdfce2drajscqn6cmru
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
|
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
|
||||||
key_groups:
|
key_groups:
|
||||||
@@ -30,3 +30,7 @@ creation_rules:
|
|||||||
- *nixos-homelab-00
|
- *nixos-homelab-00
|
||||||
- *nixos-homelab-00
|
- *nixos-homelab-00
|
||||||
- *nixos-homelab-00
|
- *nixos-homelab-00
|
||||||
|
- *nixos-homelab-00
|
||||||
|
- *nixos-homelab-00
|
||||||
|
- *nixos-homelab-00
|
||||||
|
- *nixos-homelab-00
|
||||||
|
|||||||
@@ -154,11 +154,6 @@ fi
|
|||||||
# delete known hosts
|
# delete known hosts
|
||||||
sed -i "/$target_hostname/d; /$target_destination/d" ~/.ssh/known_hosts
|
sed -i "/$target_hostname/d; /$target_destination/d" ~/.ssh/known_hosts
|
||||||
|
|
||||||
# create directory that will be used to store the users ssh keys
|
|
||||||
# (Not sure if it's necessary, but I want the directory to exist before it's symlinked as declared in the configuration.nix file)
|
|
||||||
install -d -m755 "$temp/persist/$target_administrator/.ssh"
|
|
||||||
install -d -m755 "$temp/persist/$target_administrator/rp"
|
|
||||||
|
|
||||||
# Create the directory where sshd expects to find the host keys
|
# Create the directory where sshd expects to find the host keys
|
||||||
install -d -m755 "$temp/persist/etc/ssh"
|
install -d -m755 "$temp/persist/etc/ssh"
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
# Declare test service manually
|
# Declare test service manually
|
||||||
services.tests-service = {
|
services.tests-service = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# port = 8080;
|
port = 8080;
|
||||||
default-nginx = {
|
default-nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hostname = "test.roypository.com";
|
hostname = "test.roypository.com";
|
||||||
@@ -153,10 +153,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Symlink the user directories that need to be persisted (ssh key/repository folder)
|
# Symlink the user directories that need to be persisted (ssh key/repository folder)
|
||||||
systemd.tmpfiles.rules = [
|
environment.persistence."/persist" = {
|
||||||
"L /home/sysAdmin/.ssh/ - - - - /persist/home/sysAdmin/.ssh"
|
users.sysAdmin.directories = [
|
||||||
"L /home/sysAdmin/rp/ - - - - /persist/home/sysAdmin/rp"
|
".ssh"
|
||||||
];
|
"rp"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
users.users.root = {
|
users.users.root = {
|
||||||
hashedPassword = "$y$j9T$IjaP0KIfdpEvlLtOn.u0T/$0MJDaFEdSu6zSJ04CF1dtorD6IVgbN3vmDiiwGwwqr5";
|
hashedPassword = "$y$j9T$IjaP0KIfdpEvlLtOn.u0T/$0MJDaFEdSu6zSJ04CF1dtorD6IVgbN3vmDiiwGwwqr5";
|
||||||
|
|||||||
Generated
+12
-12
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748832438,
|
"lastModified": 1749089136,
|
||||||
"narHash": "sha256-/CtyLVfNaFP7PrOPrTEuGOJBIhcBKVQ91KiEbtXJi0A=",
|
"narHash": "sha256-A1UgwtAEQYd38Z6VoRAiGs4jZQczAGyP5DF3hhYUdpg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "58d6e5a83fff9982d57e0a0a994d4e5c0af441e4",
|
"rev": "a4f7deb49f7336feb6c5abaf213b374936421dbe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -110,11 +110,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748421225,
|
"lastModified": 1748995628,
|
||||||
"narHash": "sha256-XXILOc80tvlvEQgYpYFnze8MkQQmp3eQxFbTzb3m/R0=",
|
"narHash": "sha256-bFufQGSAEYQgjtc4wMrobS5HWN0hDP+ZX+zthYcml9U=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "78add7b7abb61689e34fc23070a8f55e1d26185b",
|
"rev": "8eb3b6a2366a7095939cd22f0dc0e9991313294b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -164,11 +164,11 @@
|
|||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748884506,
|
"lastModified": 1749107808,
|
||||||
"narHash": "sha256-P/ldKE0SCGKH6pEVJoW2MJJo2dZCZe10d/h1ree66c0=",
|
"narHash": "sha256-ohLHvWmAuH4aHOCAGP1UlwRRxX21/eW+N2e7eB0kQeo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "d063d0dd5e0b82d8be4dd4bc00b887ac1f92e4b2",
|
"rev": "635a9e770f77a7c586c60f84b1debf054318034a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -281,11 +281,11 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748908678,
|
"lastModified": 1749140308,
|
||||||
"narHash": "sha256-spBZQ0D6IoO644uSI7x22vcou94CB73MFI7SFq2o0Ac=",
|
"narHash": "sha256-qUdbbvRcnff4IcqvYB9lE6/R4w4QrMUtvc9iDJE2g3s=",
|
||||||
"owner": "RoyDumblauskas",
|
"owner": "RoyDumblauskas",
|
||||||
"repo": "tests-service",
|
"repo": "tests-service",
|
||||||
"rev": "3174bee901f0309cd3d0b4a6491c297c9b8469ca",
|
"rev": "938de22060286391156f8d8533f8e7f7fa6b498b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
+6
-1
@@ -17,6 +17,10 @@
|
|||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
impermanence = {
|
||||||
|
url = "github:nix-community/impermanence";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
# This is a path to the services I've declared.
|
# This is a path to the services I've declared.
|
||||||
# It just happens to be stored in the same repository (relative),
|
# It just happens to be stored in the same repository (relative),
|
||||||
# but could well be a separate repository
|
# but could well be a separate repository
|
||||||
@@ -25,7 +29,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixvim, home-manager, disko, sops-nix, quasiSecrets, tests-service }@inputs:
|
outputs = { self, nixpkgs, nixvim, home-manager, disko, sops-nix, quasiSecrets, impermanence, tests-service }@inputs:
|
||||||
let
|
let
|
||||||
nodes = [
|
nodes = [
|
||||||
{
|
{
|
||||||
@@ -52,6 +56,7 @@
|
|||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
quasiSecrets.nixosModules.ipAddrs
|
quasiSecrets.nixosModules.ipAddrs
|
||||||
quasiSecrets.nixosModules.serviceList
|
quasiSecrets.nixosModules.serviceList
|
||||||
|
impermanence.nixosModules.impermanence
|
||||||
tests-service.nixosModules.default
|
tests-service.nixosModules.default
|
||||||
home-manager.nixosModules.home-manager {
|
home-manager.nixosModules.home-manager {
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
"age": [
|
"age": [
|
||||||
{
|
{
|
||||||
"recipient": "age1ldgnl53dmvl4fjz6hgdj0cvensagddn3ltpmxfm72m8q273w75fsk42p8v",
|
"recipient": "age1ldgnl53dmvl4fjz6hgdj0cvensagddn3ltpmxfm72m8q273w75fsk42p8v",
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNbExuUVFsVDRmK0ZmSVNw\nMUhlZGhweTRQUmp0Q3N2SUh1Mmx5Q1JxSXlVCi9kQlhNNjF2d1M3Q0JwUTZ6WkJL\nbW40RGkzZFVJSUxBT0VLNU4yYjV6YjgKLS0tIGhhS2dNWXVZaXhjWjlaNkJsc0Fq\nWGNFeDBMY3IxNzVraWE3Q2pjWThxbGcKTxYNkf//IW24Cji5n47P5XvO3W0rtZ2c\nVI7vHn4BQiL6N75xtn8DUouBu78oPbhq/ltL1GSTPn2DObysmADFwQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVNkdjMER1TFB5MjRvWUxh\ncVRTRTNtV1ZuNUJjOFhGa2hYK0gwdTdVbEJjCjlDYkhDN1BEMHdjZStES2lyMUlF\nWTJZOTFFQUxYaDdSY0VUd2dFd3pBOHcKLS0tIFQzcm9aSzF6bklUWXJJTjcrRU1K\ndEpLY1RQNXN6YSszbUhzeGJPY3dXZW8KgOb1rFnqibwvtBdC55f2aVDIC3V33b6k\niIboCO/swiD7N3IF3imvaHdG9ILy5oIH9KJOCpl12RrLvhIlU/lp6Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"recipient": "age19sx89g6rs9hnrhkujf5uk2zrkj5d4l3gh33gzwau7v7z2249qq4sw47et8",
|
"recipient": "age177wwag0rmyejqm37l748tuup5lvdslaza6kjkrjhdfce2drajscqn6cmru",
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjK0x2UVBKSnVHOHYwZGRI\nSnJsUFJ4N29GbHl1RHZYMVcra1ZNczI1TlRJCnEwTDRoa3FEMEJKQUhoN3ZpcVVm\nbER6L1VxRlkxZ3EyN1pTNzVkbWNsTkEKLS0tIFhzWm1kN0czNitrbXlFOGdQNkxi\nV2lpOW9Id3Q2RlNpSWpiRVpldVNGZE0KMz7MZWp1pPwxidzzFGordBLdmQygDu9x\nAeMvZ75NYCiCvH7bn1C7j3mLNIQ/oJxXTP2ZXOy6w7HPItUdIqijaA==\n-----END AGE ENCRYPTED FILE-----\n"
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2ekYzQWZtM25IUTl2OU5i\nS3lkdFpLNUluZGxZNlpja3FlYUpzTmlRUDE0CkVneURXcGE5Zm5pbHlHeXMzZGJD\nODdXU25XTk5oWW0zQnhhdlZqc2pKNE0KLS0tIFNmOWdza3FYWUl0VTZlemFHUTd2\nRXRtOEpIZGwzOTBUSURWQVEwcHZXd2sKhqH+YCXCH/mplhUYxGOWz6S3ha+AJWqR\nEtdnr2XK6V8a1OmdMBtoYdym72S7W30TksoW6I+bYNP9lW74GgbuFw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastmodified": "2025-04-17T15:26:55Z",
|
"lastmodified": "2025-04-17T15:26:55Z",
|
||||||
|
|||||||
@@ -5,11 +5,11 @@
|
|||||||
"age": [
|
"age": [
|
||||||
{
|
{
|
||||||
"recipient": "age1ldgnl53dmvl4fjz6hgdj0cvensagddn3ltpmxfm72m8q273w75fsk42p8v",
|
"recipient": "age1ldgnl53dmvl4fjz6hgdj0cvensagddn3ltpmxfm72m8q273w75fsk42p8v",
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0T0o1Rktqa0w1MnNoa1Jr\nak83UGVLbkZDdGpYeDNCMXlNOWp2NHphR1dJCnFWLzUwck8yWE9jWVNJSVpNQTFY\nREZSM0lRM2lwSWxPdU50a1AzbTVuYnMKLS0tIEFScjN0M1EyRGMvZHlVQ1YvcXNa\ndnMzejQ2dnVmZDR6NWVjaGwxVjkrWDAKuNowznQhA59a9/d0A1w3xO/tZBRNxtZ0\nFAaxKLsL7WxvGYvX+AF0iAb/8mYYcDWhgTf49CbZNlGgaDd/0GU8/Q==\n-----END AGE ENCRYPTED FILE-----\n"
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqdk03R0xaZ090aER1Wldt\nRGVGMFFMZG90TVovVjJoWm9ONU1VaDdQS0ZnCitKcUhkV0VzODVKUkNxNU1rVXJk\nK1BwV1piVlo0Q0lTbUVTUlhDUGVZK28KLS0tIGRYeVUza2JRNE0vZzZsMTg4akJo\nMlBSNVNUZTBObDB3N0pTYXhtQWgydG8KTQs4V0VjUFWl6pUk4Po/03dxE+ANpXJb\nd8k1n39aqNa7WQdoEe6zUQlPhaGHUszj8bIbdv46GiVADCJGJXs+Wg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"recipient": "age19sx89g6rs9hnrhkujf5uk2zrkj5d4l3gh33gzwau7v7z2249qq4sw47et8",
|
"recipient": "age177wwag0rmyejqm37l748tuup5lvdslaza6kjkrjhdfce2drajscqn6cmru",
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuVHoydjZ6Y2JpYklKT1Qz\nN2JWLzA3QW9rMlZGV1k0eFQzUzlINTV5NFZVCk5wbmVxdEtNR3FkYnAvYzhPVkRL\nQXRsZmFFWUZYRXcrSDA0UVhnUXowOTgKLS0tIFp4c1pxSzZMYTRycG96WjUxcmJp\najBtQmx6bW9iWSs3RGY4ci9pYzdnUjAKkN7qRqpRkJVER50NvrYQ/AjXO6OQ00xx\nJA+wjUdISdZBuEMdgJLiKudO3ejWt1w6JCPbVdbllBHJ4pzEHoIKjQ==\n-----END AGE ENCRYPTED FILE-----\n"
|
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxb1ova3FYUE1wVnU0anJN\nQ28rRzNpbFlJTW05c0xUeWMzZlFNUlRsblZvCktmMzRGU3dQSnhwbVY1NFBWVGpG\ndEJ0ODhFcXRzKzdSRGo4ZDRMeGtkQUUKLS0tIFNBSVJZbkR0ampWN3pDVERDanFD\nZndXUGYyM01UcHFzV0xzZm5rUnpHYU0Kfc7Fh6q7xV4OyjB3F+fjjt9XWizm/fnz\n4fCkO9t0ZUcb7YoBwpHdZ3Ex7Xkey8URF2Tcv0/gWF0XyaJ0rOQvxA==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastmodified": "2025-04-28T04:15:19Z",
|
"lastmodified": "2025-04-28T04:15:19Z",
|
||||||
|
|||||||
Reference in New Issue
Block a user