feat(sops): Setup sops
This commit is contained in:
parent
f1ba0a98e8
commit
12015f8589
4 changed files with 45 additions and 5 deletions
8
.sops.yaml
Normal file
8
.sops.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
keys:
|
||||
- &tdpeuter_Tibo-NixTop age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37
|
||||
|
||||
creation_rules:
|
||||
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
|
||||
key_groups:
|
||||
- age:
|
||||
- *tdpeuter_Tibo-NixTop
|
||||
10
flake.nix
10
flake.nix
|
|
@ -5,6 +5,10 @@
|
|||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
utils = {
|
||||
url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||
inputs.flake-utils.follows = "flake-utils";
|
||||
|
|
@ -13,11 +17,11 @@
|
|||
|
||||
outputs = inputs@{
|
||||
self, nixpkgs,
|
||||
flake-utils, utils,
|
||||
flake-utils, sops-nix, utils,
|
||||
...
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
system = utils.lib.system.x86_64-linux;
|
||||
in
|
||||
utils.lib.mkFlake {
|
||||
inherit self inputs;
|
||||
|
|
@ -28,6 +32,8 @@
|
|||
modules = [
|
||||
./modules
|
||||
./users
|
||||
|
||||
sops-nix.nixosModules.sops
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
|||
19
secrets/secrets.yaml
Normal file
19
secrets/secrets.yaml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
users:
|
||||
admin:
|
||||
authorized_keys:
|
||||
NixOS: ENC[AES256_GCM,data:sj2hkUkWp628KuXp+AnncLdawHpxb9fH1ZHnIisP0x9Tght9+/X2sWHpuMSeqi2i/R8B+Wgte66QkuwAOB0j+oB9N+66EhehmWZlK5hD/22p,iv:z18U+LvAQgPDfBBewE3lJmWZd0NGCPwJIe/h3tupuZc=,tag:ZJar3spO66JbDXygdTHh2w==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1qzutny0mqpcccqw6myyfntu6wcskruu9ghzvt6r4te7afkqwnguq05ex37
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjUSt2REk2Mmd0bk9ubjJk
|
||||
dXFiY2JNR1dyZW9qTUdzaWZhY3c3amVwQzA0CkZHNVpZVjhsWXhVQVNaR0xONzhh
|
||||
Y0lQaWNaNmpYYVdrRnZIZUhvUFUzcWMKLS0tIDAvSmF0VmpxcnZEQStXUjNCUE5Z
|
||||
RnA2Lzk2WHFxOEh6dHN0aGhVSVpLTW8KA7IOvGDMBtgo4pe0Sw3Lol243xCDAJ4i
|
||||
PhcJFiUObVRFZN7ISlULnOlTO3pT9jWvvmC5rDZWId3PQ8qjPvnOUg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-10-04T17:33:22Z"
|
||||
mac: ENC[AES256_GCM,data:I7I7uDFEWfw9+4KROtjHMVhaxYrVK5QmLfFZShSajF0A2Zxu9lg+fDGiMHk40JC5zD31P70QS/ipye1mBGQbCbLEA7uBUhNzZ7G1g58cIXF6vSGmt0fovm0MVSxEJ44r05fx6uT4OJu5BYVxYSlG84gTj9rCFXxxcBJMrh+6yaI=,iv:c1vudsp9bg0Pc2ddRyvWn6Tf0LhqNuEjxG9D4PpHqxs=,tag:K/1PSHhrTdsNPcPmRv/2Ew==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.10.2
|
||||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
let
|
||||
cfg = config.homelab.users.admin;
|
||||
|
||||
owner = config.users.users.admin.name;
|
||||
in {
|
||||
options.homelab.users.admin.enable = lib.mkEnableOption "user System Administrator";
|
||||
|
||||
|
|
@ -10,6 +12,12 @@ in {
|
|||
config.users.users.admin.name
|
||||
];
|
||||
|
||||
sops.secrets."users/admin/authorized_keys" = {
|
||||
format = "yaml";
|
||||
sopsFile = ../../secrets/secrets.yaml;
|
||||
inherit owner;
|
||||
};
|
||||
|
||||
users.users.admin = {
|
||||
description = "System Administrator";
|
||||
isNormalUser = true;
|
||||
|
|
@ -17,9 +25,8 @@ in {
|
|||
config.users.groups.wheel.name # Enable 'sudo' for the user.
|
||||
];
|
||||
initialPassword = "ChangeMe";
|
||||
openssh.authorizedKeys.keys = [
|
||||
# TODO ChangeMe
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrG+ldRBdCeHEXrsy/qHXIJYg8xQXVuiUR0DxhFjYNg"
|
||||
openssh.authorizedKeys.keyFiles = [
|
||||
/run/secrets/users/admin/authorized_keys
|
||||
];
|
||||
packages = with pkgs; [
|
||||
curl
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue