diff --git a/.gitignore b/.gitignore index d128ad9..b986568 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -userdata/userdata.json +local/profiles/users.json hardware-configuration.nix networking.nix \ No newline at end of file diff --git a/README.md b/README.md index 32a4b44..7385edb 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # SelfPrivacy NixOS configuration This is a NixOS config which builds a SelfPrivacy server distribution -based on data provided in `userdata/userdata.json`. +based on data provided in `local/profiles/users.json`. -JSON schema is provided in `userdata/schema.json` for reference. +JSON schema is provided in `generic/profiles/schema.json` for reference. **hardware-configuration.nix is not included.** diff --git a/configuration.nix b/configuration.nix index e33f4e8..26cfec6 100644 --- a/configuration.nix +++ b/configuration.nix @@ -5,28 +5,28 @@ let in { imports = [ + ./generic/api/api.nix + ./generic/api/api-module.nix + ./generic/modules/userdata.nix + ./generic/services/userdata.nix + ./generic/systems/limits.nix + ./generic/systems/tmpfiles.nix + ./generic/systems/users.nix + ./local/services/backup/restic.nix + ./local/services/git/gitea.nix + ./local/services/letsencrypt/acme.nix + ./local/services/letsencrypt/resolve.nix + ./local/services/mailserver/alps.nix + ./local/services/mailserver/mailserver.nix + ./local/services/nextcloud/nextcloud.nix + ./local/services/passmgr/bitwarden.nix + ./local/services/passmgr/bitwarden.nix + ./local/services/social/pleroma.nix + ./local/services/videomeet/jitsi.nix + ./local/services/vpn/ocserv.nix + ./local/services/webserver/memcached.nix + ./local/services/webserver/nginx.nix ./hardware-configuration.nix - - ./variables-module.nix - ./variables.nix - ./files.nix - ./users.nix - ./mailserver/system/mailserver.nix - ./mailserver/system/alps.nix - ./vpn/ocserv.nix - ./api/api.nix - ./api/api-module.nix - ./social/pleroma.nix - ./letsencrypt/acme.nix - ./letsencrypt/resolve.nix - ./backup/restic.nix - ./passmgr/bitwarden.nix - ./webserver/nginx.nix - ./webserver/memcached.nix - ./nextcloud/nextcloud.nix - ./resources/limits.nix - ./videomeet/jitsi.nix - ./git/gitea.nix ]; nixpkgs.overlays = [ (nix-overlay) ]; diff --git a/api/api-module.nix b/generic/api/api-module.nix similarity index 100% rename from api/api-module.nix rename to generic/api/api-module.nix diff --git a/api/api.nix b/generic/api/api.nix similarity index 100% rename from api/api.nix rename to generic/api/api.nix diff --git a/variables-module.nix b/generic/modules/userdata.nix similarity index 100% rename from variables-module.nix rename to generic/modules/userdata.nix diff --git a/userdata/schema.json b/generic/profiles/schema.json similarity index 100% rename from userdata/schema.json rename to generic/profiles/schema.json diff --git a/generic/services/userdata.nix b/generic/services/userdata.nix new file mode 100644 index 0000000..e20b6dc --- /dev/null +++ b/generic/services/userdata.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: +{ + services = { + userdata = builtins.fromJSON (builtins.readFile ./../../local/profiles/users.json); + }; +} diff --git a/resources/limits.nix b/generic/systems/limits.nix similarity index 100% rename from resources/limits.nix rename to generic/systems/limits.nix diff --git a/files.nix b/generic/systems/tmpfiles.nix similarity index 100% rename from files.nix rename to generic/systems/tmpfiles.nix diff --git a/users.nix b/generic/systems/users.nix similarity index 100% rename from users.nix rename to generic/systems/users.nix diff --git a/backup/restic.nix b/local/services/backup/restic.nix similarity index 100% rename from backup/restic.nix rename to local/services/backup/restic.nix diff --git a/git/gitea.nix b/local/services/git/gitea.nix similarity index 100% rename from git/gitea.nix rename to local/services/git/gitea.nix diff --git a/letsencrypt/acme.nix b/local/services/letsencrypt/acme.nix similarity index 100% rename from letsencrypt/acme.nix rename to local/services/letsencrypt/acme.nix diff --git a/letsencrypt/resolve.nix b/local/services/letsencrypt/resolve.nix similarity index 100% rename from letsencrypt/resolve.nix rename to local/services/letsencrypt/resolve.nix diff --git a/mailserver/system/alps-package.nix b/local/services/mailserver/alps-package.nix similarity index 100% rename from mailserver/system/alps-package.nix rename to local/services/mailserver/alps-package.nix diff --git a/mailserver/system/alps.nix b/local/services/mailserver/alps.nix similarity index 100% rename from mailserver/system/alps.nix rename to local/services/mailserver/alps.nix diff --git a/mailserver/system/mailserver.nix b/local/services/mailserver/mailserver.nix similarity index 100% rename from mailserver/system/mailserver.nix rename to local/services/mailserver/mailserver.nix diff --git a/nextcloud/nextcloud.nix b/local/services/nextcloud/nextcloud.nix similarity index 100% rename from nextcloud/nextcloud.nix rename to local/services/nextcloud/nextcloud.nix diff --git a/passmgr/bitwarden.nix b/local/services/passmgr/bitwarden.nix similarity index 100% rename from passmgr/bitwarden.nix rename to local/services/passmgr/bitwarden.nix diff --git a/social/config.exs b/local/services/social/config.exs similarity index 100% rename from social/config.exs rename to local/services/social/config.exs diff --git a/social/pleroma-module.nix b/local/services/social/pleroma-module.nix similarity index 100% rename from social/pleroma-module.nix rename to local/services/social/pleroma-module.nix diff --git a/social/pleroma-package.nix b/local/services/social/pleroma-package.nix similarity index 100% rename from social/pleroma-package.nix rename to local/services/social/pleroma-package.nix diff --git a/social/pleroma.nix b/local/services/social/pleroma.nix similarity index 100% rename from social/pleroma.nix rename to local/services/social/pleroma.nix diff --git a/videomeet/jitsi.nix b/local/services/videomeet/jitsi.nix similarity index 100% rename from videomeet/jitsi.nix rename to local/services/videomeet/jitsi.nix diff --git a/vpn/ocserv.nix b/local/services/vpn/ocserv.nix similarity index 100% rename from vpn/ocserv.nix rename to local/services/vpn/ocserv.nix diff --git a/webserver/memcached.nix b/local/services/webserver/memcached.nix similarity index 100% rename from webserver/memcached.nix rename to local/services/webserver/memcached.nix diff --git a/webserver/nginx.nix b/local/services/webserver/nginx.nix similarity index 100% rename from webserver/nginx.nix rename to local/services/webserver/nginx.nix diff --git a/result b/result new file mode 120000 index 0000000..c5c6c59 --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/a7kmh1b3y8p4d15539dp1jbqggbs2zfs-nixos-system-ruleit-21.05.4394.2553aee74fe \ No newline at end of file diff --git a/variables.nix b/variables.nix deleted file mode 100644 index 79fb145..0000000 --- a/variables.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: -{ - services = { - userdata = builtins.fromJSON (builtins.readFile ./userdata/userdata.json); - }; -}