mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-01-18 09:53:06 +01:00
feat(modules/nixos): W.I.P add forgejo service
feat(modules/nixos): add admin module for system wide admin data
This commit is contained in:
parent
636d384150
commit
84bfdec3f2
7 changed files with 168 additions and 4 deletions
|
@ -42,7 +42,7 @@ in
|
|||
enable-blur = mkOpt bool true "Whether to enable blur-my-shell application blur.";
|
||||
};
|
||||
};
|
||||
wallpaper = mkOpt str (builtins.toString ./wallpapers/rocket-launch.jpg) "Specify the path of your prefered Gnome wallpaper.";
|
||||
wallpaper = mkOpt str (builtins.toString ./wallpapers/car-wreck.png) "Specify the path of your prefered Gnome wallpaper.";
|
||||
};
|
||||
|
||||
config = mkIf osConfig.${namespace}.desktop.gnome.enable {
|
||||
|
@ -81,5 +81,97 @@ in
|
|||
picture-uri-dark = cfg.wallpaper;
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".local/share/themes/catppuccin-macchiato/gnome-shell/gnome-shell.css".text = ''
|
||||
#panel {
|
||||
|
||||
/*background-color: #131313;*/
|
||||
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
|
||||
/*background-color: transparent;*/
|
||||
|
||||
font-weight: bold;
|
||||
|
||||
/*height: 2.2em;*/
|
||||
|
||||
height: 2.3em;
|
||||
|
||||
transition-duration: 250ms;
|
||||
|
||||
/*Custom panel settings */
|
||||
|
||||
/*margin: 5px 35px 0 35px;*/
|
||||
|
||||
margin: 5px 22px 0 22px;
|
||||
|
||||
border-radius: 10px;
|
||||
|
||||
#panel .panel-button {
|
||||
|
||||
background-color: rgba(19, 19, 19, 0.8);
|
||||
|
||||
font-weight: bold;
|
||||
|
||||
/*color: #f2f2f2;*/
|
||||
|
||||
/*color: #131313;*/
|
||||
|
||||
-natural-hpadding: 12px;
|
||||
|
||||
-minimum-hpadding: 6px;
|
||||
|
||||
transition-duration: 150ms;
|
||||
|
||||
border: 0px solid transparent;
|
||||
|
||||
/*border: none;*/
|
||||
|
||||
/*border-radius: 99px;*/
|
||||
|
||||
border-radius: 10px;
|
||||
|
||||
/*margin: 5px;*/
|
||||
|
||||
margin-left: 5px;
|
||||
|
||||
margin-right: 5px;
|
||||
|
||||
#panel .panel-button:active,
|
||||
|
||||
#panel .panel-button:overview,
|
||||
|
||||
#panel .panel-button:focus,
|
||||
|
||||
#panel .panel-button:checked {
|
||||
|
||||
box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.2);
|
||||
|
||||
/*background-color: #8c7feb;*/
|
||||
|
||||
background-color: #b299d1;
|
||||
|
||||
/*background-color: #b299d1;*/
|
||||
|
||||
/*color: #8c7feb;*/
|
||||
|
||||
color: #131313;
|
||||
|
||||
/*background-color: rgba(163, 153, 235, 1);*/
|
||||
|
||||
}
|
||||
|
||||
#panel .panel-button:hover {
|
||||
|
||||
box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.15);
|
||||
|
||||
background-color: #a399eb;
|
||||
|
||||
color: #131313;
|
||||
|
||||
/*box-shadow: inset 0 0 0 100px rgba(183, 176, 235, 0.15);*/
|
||||
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
BIN
modules/home/desktop/gnome/wallpapers/car-wreck.png
Normal file
BIN
modules/home/desktop/gnome/wallpapers/car-wreck.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 554 KiB |
BIN
modules/home/desktop/gnome/wallpapers/crane.png
Normal file
BIN
modules/home/desktop/gnome/wallpapers/crane.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
16
modules/nixos/admin/default.nix
Normal file
16
modules/nixos/admin/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) types;
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
in
|
||||
{
|
||||
options.${namespace}.admin = with types; {
|
||||
name = mkOpt str "Jo" "The short name of the system admin.";
|
||||
full-name = mkOpt str "Johannes Reckers" "The full name of the system admin.";
|
||||
email = mkOpt str "system@thevoid.cafe" "The E-Mail of the system admin. (Used for system services by default)";
|
||||
};
|
||||
}
|
56
modules/nixos/services/forgejo/default.nix
Normal file
56
modules/nixos/services/forgejo/default.nix
Normal file
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.services.forgejo;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.forgejo = {
|
||||
enable = mkEnableOption "Whether to enable the forgejo git service.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.forgejo = {
|
||||
enable = true;
|
||||
|
||||
database = {
|
||||
type = "postgres";
|
||||
};
|
||||
lfs.enable = true;
|
||||
settings = {
|
||||
server = {
|
||||
DOMAIN = "git.thevoid.cafe";
|
||||
ROOT_URL = "https://git.thevoid.cafe/";
|
||||
HTTP_PORT = "3030";
|
||||
};
|
||||
service.DISABLE_REGISTRATION = true;
|
||||
actions = {
|
||||
ENABLED = true;
|
||||
DEFAULT_ACTIONS_URL = "github";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: finish this configuration
|
||||
|
||||
services.traefik = {
|
||||
dynamicConfigOptions = {
|
||||
http = {
|
||||
routers.forgejo = {
|
||||
entryPoints = ["websecure"];
|
||||
rule = "Host(`git.thevoid.cafe`)";
|
||||
service = "forgejo";
|
||||
};
|
||||
|
||||
services.forgejo.loadbalancer.server = {
|
||||
url = "http://localhost:3030";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -11,7 +11,7 @@ in {
|
|||
enable = mkEnableOption "Enable the Traefik service.";
|
||||
cloudflareEmail = mkOption {
|
||||
type = types.str;
|
||||
default = "system@thevoid.cafe";
|
||||
default = config.${namespace}.admin.email;
|
||||
example = "system@thevoid.cafe";
|
||||
description = "Specify the E-Mail associated with your Cloudflare account for ACME.";
|
||||
};
|
||||
|
|
|
@ -53,8 +53,8 @@
|
|||
puzzlevision = {
|
||||
archetypes.workstation.enable = true;
|
||||
security.yubikey = {
|
||||
enable = true;
|
||||
enable-agent = true;
|
||||
enable = true;
|
||||
enable-agent = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue