1
0
forked from clan/clan-core

Merge pull request 'clanModules: init packages' (#1697) from hsjobeki/clan-core:hsjobeki-main into main

This commit is contained in:
clan-bot 2024-07-03 10:35:03 +00:00
commit 7050dcc37f
6 changed files with 68 additions and 0 deletions

View File

@ -10,6 +10,7 @@
single-disk = ./single-disk;
matrix-synapse = ./matrix-synapse;
moonlight = ./moonlight;
packages = ./packages;
postgresql = ./postgresql;
root-password = ./root-password;
sshd = ./sshd;

View File

@ -0,0 +1,4 @@
---
description = "Define package sets from nixpkgs and install them on one or more machines"
categories = ["packages"]
---

View File

@ -0,0 +1,19 @@
{
config,
lib,
pkgs,
...
}:
{
options.clan.packages = {
packages = lib.mkOption {
type = lib.types.listOf lib.types.str;
description = "The packages to install on the machine";
};
};
config = {
environment.systemPackages = map (
pName: lib.getAttrFromPath (lib.splitString "." pName) pkgs
) config.clan.packages.packages;
};
}

View File

@ -0,0 +1 @@
{ }

View File

@ -59,6 +59,7 @@ nav:
- reference/clanModules/localsend.md
- reference/clanModules/matrix-synapse.md
- reference/clanModules/moonlight.md
- reference/clanModules/packages.md
- reference/clanModules/postgresql.md
- reference/clanModules/root-password.md
- reference/clanModules/single-disk.md

View File

@ -9,6 +9,48 @@
}
},
"services": {
"packages": {
"editors": {
"meta": {
"name": "Some editor packages"
},
"roles": {
"default": {
"machines": ["minimal-inventory-machine"]
}
},
"machines": {
"minimal-inventory-machine": {
"config": {
"packages": ["zed-editor"]
}
}
},
"config": {
"packages": ["vim"]
}
},
"browsing": {
"meta": {
"name": "Web browsing packages"
},
"roles": {
"default": {
"machines": ["minimal-inventory-machine"]
}
},
"machines": {
"minimal-inventory-machine": {
"config": {
"packages": ["chromium"]
}
}
},
"config": {
"packages": ["firefox"]
}
}
},
"single-disk": {
"default": {
"meta": {