Compare commits

...

5 commits

5 changed files with 35 additions and 9 deletions

View file

@ -9,7 +9,7 @@
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
console.keyMap = "uk"; console.keyMap = "uk";
security.polkit.enable = true; security.polkit.enable = true;
programs.kdeconnect.enable = true; programs.kdeconnect.enable = false;
programs.nix-ld.enable = false; programs.nix-ld.enable = false;
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
services = { services = {
@ -30,7 +30,7 @@
boot.systemd-boot.enable = true; boot.systemd-boot.enable = true;
impermanence.enable = false; impermanence.enable = false;
services = { services = {
nextcloud.enable = true; owncloud.enable = true;
}; };
hardware = { hardware = {
nvidia.enable = true; nvidia.enable = true;

View file

@ -16,6 +16,7 @@
cbonsai cbonsai
cinny-desktop cinny-desktop
cmus cmus
comma
difftastic difftastic
element element
element-desktop element-desktop

View file

@ -48,7 +48,7 @@ in {
systemd-boot.enable = true; systemd-boot.enable = true;
}; };
services = { services = {
nextcloud.enable = true; owncloud.enable = true;
}; };
programs = { programs = {
editors = { editors = {

View file

@ -4,8 +4,10 @@
pkgs, pkgs,
... ...
}: let }: let
inherit (pkgs) fetchurl;
inherit (lib.modules) mkIf; inherit (lib.modules) mkIf;
inherit (config.services.forgejo) customDir user group; inherit (config.services.forgejo) customDir user group;
cfg = config.modules.system.services.forgejo; cfg = config.modules.system.services.forgejo;
port = 3000; port = 3000;
@ -126,17 +128,40 @@ in {
User-agent: * User-agent: *
Disallow: / Disallow: /
''; '';
base-brand = fetchurl {
url = "https://codeberg.org/Codeberg-Infrastructure/forgejo/raw/branch/codeberg-10/web_src/css/themes/codeberg/base-brand.css";
hash = lib.fakeHash;
};
dark-variables = fetchurl {
url = "https://codeberg.org/Codeberg-Infrastructure/forgejo/raw/branch/codeberg-10/web_src/css/themes/codeberg/dark-variables.css";
hash = lib.fakeHash;
};
theme-codeberg-dark = fetchurl {
url = "https://codeberg.org/Codeberg-Infrastructure/forgejo/raw/branch/codeberg-10/web_src/css/themes/theme-codeberg-dark.css";
hash = lib.fakeHash;
};
in [ in [
"d '${customDir}/public' 0750 ${user} ${group} - -" "d '${customDir}/public' 0750 ${user} ${group} - -"
"d '${customDir}/public/assets' 0750 ${user} ${group} - -" "d '${customDir}/public/assets' 0750 ${user} ${group} - -"
"d '${customDir}/public/assets/img' 0750 ${user} ${group} - -" "d '${customDir}/public/assets/img' 0750 ${user} ${group} - -"
# Copeberg logo, thanks Raf <3
"L+ '${customDir}/public/assets/img/logo.svg' - - - - ${img}/logo.svg" "L+ '${customDir}/public/assets/img/logo.svg' - - - - ${img}/logo.svg"
"L+ '${customDir}/public/assets/img/logo.png' - - - - ${img}/logo.png" "L+ '${customDir}/public/assets/img/logo.png' - - - - ${img}/logo.png"
"L+ '${customDir}/public/assets/img/apple-touch-icon' - - - - ${img}/logo.png" "L+ '${customDir}/public/assets/img/apple-touch-icon' - - - - ${img}/logo.png"
"L+ '${customDir}/public/assets/img/favicon.svg' - - - - ${img}/logo.svg" "L+ '${customDir}/public/assets/img/favicon.svg' - - - - ${img}/logo.svg"
"L+ '${customDir}/public/assets/img/favicon.png' - - - - ${img}/logo.png" "L+ '${customDir}/public/assets/img/favicon.png' - - - - ${img}/logo.png"
# Theming shenanigans
"d '${customDir}/web_src' 0750 ${user} ${group} - -"
"d '${customDir}/web_src/css' 0750 ${user} ${group} - -"
"d '${customDir}/web_src/css/themes' 0750 ${user} ${group} - -"
"d '${customDir}/web_src/css/themes/codeberg' 0750 ${user} ${group} - -"
"L+ '${customDir}/web_src/css/themes/theme-codeberg-dark.css' - - - - ${theme-codeberg-dark}"
"L+ '${customDir}/web_src/css/themes/codeberg/base-brand.css' - - - - ${base-brand}"
"L+ '${customDir}/web_src/css/themes/codeberg/dark-variables.css' - - - - ${dark-variables}"
# Fuck off scrapers
"L+ ${customDir}/public/robots.txt - - - - ${robots.outPath}" "L+ ${customDir}/public/robots.txt - - - - ${robots.outPath}"
]; ];
}; };

View file

@ -7,13 +7,13 @@
inherit (lib.meta) getExe'; inherit (lib.meta) getExe';
inherit (lib.modules) mkIf; inherit (lib.modules) mkIf;
cfg = config.modules.system.services.nextcloud; cfg = config.modules.system.services.owncloud;
in { in {
options.modules.system.services.nextcloud.enable = lib.mkEnableOption "nextcloud"; options.modules.system.services.owncloud.enable = lib.mkEnableOption "owncloud";
config = { config = {
systemd.user.services.nextcloud = mkIf cfg.enable { systemd.user.services.owncloud = mkIf cfg.enable {
description = "Nextcloud client service"; description = "Owncloud client service";
# makes the graphical session start this service when it starts # makes the graphical session start this service when it starts
wantedBy = ["graphical-session.target"]; wantedBy = ["graphical-session.target"];
@ -23,7 +23,7 @@ in {
after = ["graphical-session.target"]; after = ["graphical-session.target"];
serviceConfig = { serviceConfig = {
ExecStart = "${getExe' pkgs.nextcloud-client "nextcloud"} --background"; ExecStart = "${getExe' pkgs.owncloud-client "owncloud"}";
Restart = "always"; Restart = "always";
RestartSec = 30; RestartSec = 30;