mirror of
https://github.com/daylinmorgan/git-server.git
synced 2024-12-22 03:40:44 -06:00
Compare commits
8 commits
55712d78ef
...
9bf6b15693
Author | SHA1 | Date | |
---|---|---|---|
9bf6b15693 | |||
dac5ec886f | |||
7a28214f15 | |||
b33090dfef | |||
a443f5d32b | |||
f1b714bc89 | |||
c3276ca5e4 | |||
b912dd027a |
9 changed files with 110 additions and 383 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,4 +1,3 @@
|
||||||
soft/*
|
|
||||||
gitea/*
|
gitea/*
|
||||||
!gitea/gitea/
|
!gitea/gitea/
|
||||||
|
|
||||||
|
@ -6,3 +5,5 @@ gitea/gitea/*
|
||||||
!gitea/gitea/templates/
|
!gitea/gitea/templates/
|
||||||
!gitea/gitea/public/
|
!gitea/gitea/public/
|
||||||
|
|
||||||
|
soft/*
|
||||||
|
!soft/config/
|
||||||
|
|
13
Makefile
Normal file
13
Makefile
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
.PHONY: lint
|
||||||
|
lint:
|
||||||
|
black soft/config/*.py
|
||||||
|
prettier -w ./soft/config/soft-serve.config.json
|
||||||
|
|
||||||
|
.PHONY: update-soft-serve
|
||||||
|
update-soft-serve: soft-repos
|
||||||
|
docker compose restart soft-serve
|
||||||
|
|
||||||
|
.PHONY: soft-repos
|
||||||
|
soft-repos:
|
||||||
|
./soft/config/update-soft-serve-repos.py
|
||||||
|
|
10
README.md
10
README.md
|
@ -1,15 +1,15 @@
|
||||||
# Server Config
|
# Git Server
|
||||||
|
|
||||||
## Important Setup Steps
|
## Setup
|
||||||
|
|
||||||
To keep `soft-serve` version up to date
|
To keep `soft-serve` version up to date
|
||||||
add the following lines to `sudo crontab`.
|
add the following lines to `sudo crontab`.
|
||||||
|
|
||||||
```
|
```
|
||||||
# update repos
|
# update repos
|
||||||
* */4 * * * /home/daylin/git/update-soft-serve-repos.py
|
* */4 * * * make -C /home/daylin/git soft-repos
|
||||||
# update container so home page is semi-accurate
|
# update container so home page is semi-accurate
|
||||||
0 1 * * * docker compose --project-directory /home/daylin/git restart soft-serve
|
0 2 * * * make -C /home/daylin/git update-soft-serve
|
||||||
```
|
```
|
||||||
|
|
||||||
Notable changes to `app.ini`
|
Notable changes to `app.ini`
|
||||||
|
@ -44,4 +44,4 @@ github < mirror > gitea < mirror > soft-serve
|
||||||
This repo is hosted on github but mirrored to my self-hosted [`gitea`](https://gitea.io/en-us/) instance.
|
This repo is hosted on github but mirrored to my self-hosted [`gitea`](https://gitea.io/en-us/) instance.
|
||||||
Once there it will be mirrored to an instance of [`soft-serve`](https://github.com/charmbracelet/soft-serve).
|
Once there it will be mirrored to an instance of [`soft-serve`](https://github.com/charmbracelet/soft-serve).
|
||||||
|
|
||||||
Check it out with `ssh -p 23231 git.dayl.in`!
|
Check it out with `ssh -p 23231 git.dayl.in`.
|
||||||
|
|
|
@ -5,7 +5,7 @@ networks:
|
||||||
external: false
|
external: false
|
||||||
|
|
||||||
services:
|
services:
|
||||||
server:
|
gitea:
|
||||||
image: gitea/gitea:1.17
|
image: gitea/gitea:1.17
|
||||||
container_name: gitea
|
container_name: gitea
|
||||||
environment:
|
environment:
|
||||||
|
@ -35,7 +35,7 @@ services:
|
||||||
- "443:443"
|
- "443:443"
|
||||||
- "443:443/udp"
|
- "443:443/udp"
|
||||||
volumes:
|
volumes:
|
||||||
- $PWD/Caddyfile:/etc/caddy/Caddyfile
|
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
|
||||||
- caddy_data:/data
|
- caddy_data:/data
|
||||||
- caddy_config:/config
|
- caddy_config:/config
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
container_name: soft-serve
|
container_name: soft-serve
|
||||||
volumes:
|
volumes:
|
||||||
- ./soft:/soft-serve
|
- ./soft/data:/soft-serve
|
||||||
ports:
|
ports:
|
||||||
- 23231:23231
|
- 23231:23231
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--is-dark-theme: true;
|
--is-dark-theme: true;
|
||||||
/* --color-primary: #87ab63; */
|
|
||||||
--color-primary: var(--ctp-mocha-rosewater);
|
|
||||||
--color-primary: var(--ctp-mocha-rosewater);
|
--color-primary: var(--ctp-mocha-rosewater);
|
||||||
/* --color-primary-dark-1: #93b373; */
|
/* --color-primary-dark-1: #93b373; */
|
||||||
/* --color-primary-dark-2: #9fbc82; */
|
/* --color-primary-dark-2: #9fbc82; */
|
||||||
|
@ -55,355 +53,42 @@
|
||||||
--color-primary-alpha-80: rgba(var(--ctp-mocha-rosewater-rgb), 80);
|
--color-primary-alpha-80: rgba(var(--ctp-mocha-rosewater-rgb), 80);
|
||||||
--color-primary-alpha-90: rgba(var(--ctp-mocha-rosewater-rgb), 90);
|
--color-primary-alpha-90: rgba(var(--ctp-mocha-rosewater-rgb), 90);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* --color-secondary: #454a57; */
|
/* --color-secondary: #454a57; */
|
||||||
--color-secondary: var(--ctp-mocha-surface1);
|
--color-secondary: var(--ctp-mocha-surface1);
|
||||||
--color-secondary-dark-1: #505665;
|
|
||||||
--color-secondary-dark-2: #5b6273;
|
|
||||||
--color-secondary-dark-3: #71798e;
|
|
||||||
--color-secondary-dark-4: #7f8699;
|
|
||||||
--color-secondary-dark-5: #8c93a4;
|
|
||||||
--color-secondary-dark-6: #9aa0af;
|
|
||||||
--color-secondary-dark-7: #a8adba;
|
|
||||||
--color-secondary-dark-8: #b6bac5;
|
|
||||||
--color-secondary-dark-9: #c4c7d0;
|
|
||||||
--color-secondary-dark-10: #d2d4db;
|
|
||||||
--color-secondary-dark-11: #dfe1e6;
|
|
||||||
--color-secondary-dark-12: #edeef1;
|
|
||||||
--color-secondary-dark-13: #fbfbfc;
|
|
||||||
--color-secondary-light-1: #373b46;
|
|
||||||
--color-secondary-light-2: #292c34;
|
|
||||||
--color-secondary-light-3: #1c1e23;
|
|
||||||
--color-secondary-light-4: #0e0f11;
|
|
||||||
--color-secondary-alpha-10: #454a5719;
|
|
||||||
--color-secondary-alpha-20: #454a5733;
|
|
||||||
--color-secondary-alpha-30: #454a574b;
|
|
||||||
--color-secondary-alpha-40: #454a5766;
|
|
||||||
--color-secondary-alpha-50: #454a5780;
|
|
||||||
--color-secondary-alpha-60: #454a5799;
|
|
||||||
--color-secondary-alpha-70: #454a57b3;
|
|
||||||
--color-secondary-alpha-80: #454a57cc;
|
|
||||||
--color-secondary-alpha-90: #454a57e1;
|
|
||||||
/* colors */
|
|
||||||
--color-red: #db2828;
|
|
||||||
--color-orange: #f2711c;
|
|
||||||
--color-yellow: #fbbd08;
|
|
||||||
--color-olive: #b5cc18;
|
|
||||||
--color-green: #21ba45;
|
|
||||||
--color-teal: #00b5ad;
|
|
||||||
--color-blue: #2185d0;
|
|
||||||
--color-violet: #6435c9;
|
|
||||||
--color-purple: #a333c8;
|
|
||||||
--color-pink: #e03997;
|
|
||||||
--color-brown: #a5673f;
|
|
||||||
--color-grey: #767a85;
|
|
||||||
--color-black: #1e222e;
|
|
||||||
--color-gold: #a1882b;
|
|
||||||
--color-white: #ffffff;
|
|
||||||
--color-diff-removed-word-bg: #6f3333;
|
|
||||||
--color-diff-added-word-bg: #3c653c;
|
|
||||||
--color-diff-removed-row-bg: #3c2626;
|
|
||||||
--color-diff-moved-row-bg: #818044;
|
|
||||||
--color-diff-added-row-bg: #283e2d;
|
|
||||||
--color-diff-removed-row-border: #634343;
|
|
||||||
--color-diff-moved-row-border: #bcca6f;
|
|
||||||
--color-diff-added-row-border: #314a37;
|
|
||||||
--color-diff-inactive: #353846;
|
|
||||||
--color-error-border: #a53a37;
|
|
||||||
--color-error-bg: #482c2c;
|
|
||||||
--color-error-text: #ff4433;
|
|
||||||
--color-success-border: #458a57;
|
|
||||||
--color-success-bg: #284034;
|
|
||||||
--color-success-text: #6cc664;
|
|
||||||
--color-warning-border: #bb9d00;
|
|
||||||
--color-warning-bg: #3a3a30;
|
|
||||||
--color-warning-text: #fbbd08;
|
|
||||||
--color-info-border: #306090;
|
|
||||||
--color-info-bg: #26354c;
|
|
||||||
--color-info-text: #38a8e8;
|
|
||||||
|
|
||||||
/* target-based colors */
|
/* target-based colors */
|
||||||
/* --color-body: #383c4a; */
|
|
||||||
--color-body: var(--ctp-mocha-base);
|
--color-body: var(--ctp-mocha-base);
|
||||||
/* --color-box-header: #404652; */
|
|
||||||
--color-box-header: var(--ctp-mocha-mantle);
|
--color-box-header: var(--ctp-mocha-mantle);
|
||||||
/* --color-box-body: #303440; */
|
|
||||||
--color-box-body: var(--ctp-mocha-base);
|
--color-box-body: var(--ctp-mocha-base);
|
||||||
/* --color-text-dark: #dbe0ea; */
|
|
||||||
--color-text-dark: var(--ctp-mocha-text);
|
--color-text-dark: var(--ctp-mocha-text);
|
||||||
/* --color-text: #bbc0ca; */
|
|
||||||
--color-text: var(--ctp-mocha-text);
|
--color-text: var(--ctp-mocha-text);
|
||||||
--color-text-light: #a6aab5;
|
|
||||||
--color-text-light-1: #979ba6;
|
|
||||||
--color-text-light-2: #8a8e99;
|
|
||||||
--color-text-light-3: #707687;
|
|
||||||
/* --color-footer: #2e323e; */
|
|
||||||
--color-footer: var(--ctp-mocha-crust);
|
--color-footer: var(--ctp-mocha-crust);
|
||||||
--color-timeline: #4c525e;
|
|
||||||
/* --color-input-text: #d5dbe6; */
|
|
||||||
--color-input-text: var(--ctp-mocha-text);
|
--color-input-text: var(--ctp-mocha-text);
|
||||||
/* --color-input-background: #292d39; */
|
|
||||||
--color-input-background: var(--ctp-mocha-surface0);
|
--color-input-background: var(--ctp-mocha-surface0);
|
||||||
/* --color-input-border: #454a57; */
|
|
||||||
--color-input-border: var(--ctp-mocha-mantle);
|
--color-input-border: var(--ctp-mocha-mantle);
|
||||||
/* --color-input-border-hover: #505667; */
|
|
||||||
--color-input-border-hover: var(--ctp-mocha-surfact2);
|
--color-input-border-hover: var(--ctp-mocha-surfact2);
|
||||||
/* --color-navbar: #2a2e3a; */
|
|
||||||
--color-navbar: var(--ctp-mocha-mantle);
|
--color-navbar: var(--ctp-mocha-mantle);
|
||||||
/* --color-navbar-transparent: #2a2e3a00; */
|
--color-navbar-transparent: rbga(var(--ctp-mocha-mantle-rgb), 0);
|
||||||
--color-navbar-transparent: rbga(var(--ctp-mocha-mantle-rgb),0)
|
|
||||||
--color-light: #00000028;
|
|
||||||
--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
|
|
||||||
--color-light-border: #ffffff28;
|
|
||||||
--color-hover: #ffffff10;
|
|
||||||
/* --color-active: #ffffff16; */
|
|
||||||
--color-active: var(--ctp-mocha-surface1);
|
--color-active: var(--ctp-mocha-surface1);
|
||||||
/* --color-menu: #2e323e; */
|
|
||||||
--color-menu: var(--ctp-mocha-mantle);
|
--color-menu: var(--ctp-mocha-mantle);
|
||||||
/* --color-card: #2e323e; */
|
|
||||||
--color-card: var(--ctp-mocha-mantle);
|
--color-card: var(--ctp-mocha-mantle);
|
||||||
--color-markup-table-row: #ffffff06;
|
|
||||||
/* --color-markup-code-block: #292d39; */
|
|
||||||
--color-markup-code-block: var(--ctp-mocha-mantle);
|
--color-markup-code-block: var(--ctp-mocha-mantle);
|
||||||
/* --color-button: #353846; */
|
|
||||||
--color-button: var(--ctp-mocha-mantle);
|
--color-button: var(--ctp-mocha-mantle);
|
||||||
/* --color-code-bg: #2a2e3a; */
|
|
||||||
--color-code-bg: var(--ctp-mocha-mantle);
|
--color-code-bg: var(--ctp-mocha-mantle);
|
||||||
/* --color-code-sidebar-bg: #2e323e; */
|
|
||||||
--color-shadow: #00000060;
|
|
||||||
--color-secondary-bg: #2a2e3a;
|
|
||||||
--color-text-focus: #fff;
|
|
||||||
/* --color-expand-button: #3c404d; */
|
|
||||||
--color-expand-button: var(--ctp-mocha-surface1);
|
--color-expand-button: var(--ctp-mocha-surface1);
|
||||||
--color-placeholder-text: #6a737d;
|
|
||||||
--color-editor-line-highlight: var(--color-primary-light-5);
|
|
||||||
--color-project-board-bg: var(--color-secondary-light-2);
|
|
||||||
--color-caret: var(--color-text); /* should ideally be --color-text-dark, see #15651 */
|
|
||||||
--color-reaction-bg: #ffffff12;
|
|
||||||
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ui.basic.primary.button,
|
||||||
:root {
|
.ui.basic.primary.buttons .button {
|
||||||
--ctp-latte-rosewater: #de9584;
|
|
||||||
--ctp-latte-rosewater-rgb: 222, 149, 132;
|
|
||||||
--ctp-frappe-rosewater: #f2d5cf;
|
|
||||||
--ctp-frappe-rosewater-rgb: 242, 213, 207;
|
|
||||||
--ctp-macchiato-rosewater: #f4dbd6;
|
|
||||||
--ctp-macchiato-rosewater-rgb: 244, 219, 214;
|
|
||||||
--ctp-mocha-rosewater: #f5e0dc;
|
|
||||||
--ctp-mocha-rosewater-rgb: 245, 224, 220;
|
|
||||||
--ctp-latte-flamingo: #dd7878;
|
|
||||||
--ctp-latte-flamingo-rgb: 221, 120, 120;
|
|
||||||
--ctp-frappe-flamingo: #eebebe;
|
|
||||||
--ctp-frappe-flamingo-rgb: 238, 190, 190;
|
|
||||||
--ctp-macchiato-flamingo: #f0c6c6;
|
|
||||||
--ctp-macchiato-flamingo-rgb: 240, 198, 198;
|
|
||||||
--ctp-mocha-flamingo: #f2cdcd;
|
|
||||||
--ctp-mocha-flamingo-rgb: 242, 205, 205;
|
|
||||||
--ctp-latte-pink: #ec83d0;
|
|
||||||
--ctp-latte-pink-rgb: 236, 131, 208;
|
|
||||||
--ctp-frappe-pink: #f4b8e4;
|
|
||||||
--ctp-frappe-pink-rgb: 244, 184, 228;
|
|
||||||
--ctp-macchiato-pink: #f5bde6;
|
|
||||||
--ctp-macchiato-pink-rgb: 245, 189, 230;
|
|
||||||
--ctp-mocha-pink: #f5c2e7;
|
|
||||||
--ctp-mocha-pink-rgb: 245, 194, 231;
|
|
||||||
--ctp-latte-mauve: #8839ef;
|
|
||||||
--ctp-latte-mauve-rgb: 136, 57, 239;
|
|
||||||
--ctp-frappe-mauve: #ca9ee6;
|
|
||||||
--ctp-frappe-mauve-rgb: 202, 158, 230;
|
|
||||||
--ctp-macchiato-mauve: #c6a0f6;
|
|
||||||
--ctp-macchiato-mauve-rgb: 198, 160, 246;
|
|
||||||
--ctp-mocha-mauve: #cba6f7;
|
|
||||||
--ctp-mocha-mauve-rgb: 203, 166, 247;
|
|
||||||
--ctp-latte-red: #d20f39;
|
|
||||||
--ctp-latte-red-rgb: 210, 15, 57;
|
|
||||||
--ctp-frappe-red: #e78284;
|
|
||||||
--ctp-frappe-red-rgb: 231, 130, 132;
|
|
||||||
--ctp-macchiato-red: #ed8796;
|
|
||||||
--ctp-macchiato-red-rgb: 237, 135, 150;
|
|
||||||
--ctp-mocha-red: #f38ba8;
|
|
||||||
--ctp-mocha-red-rgb: 243, 139, 168;
|
|
||||||
--ctp-latte-maroon: #e64553;
|
|
||||||
--ctp-latte-maroon-rgb: 230, 69, 83;
|
|
||||||
--ctp-frappe-maroon: #ea999c;
|
|
||||||
--ctp-frappe-maroon-rgb: 234, 153, 156;
|
|
||||||
--ctp-macchiato-maroon: #ee99a0;
|
|
||||||
--ctp-macchiato-maroon-rgb: 238, 153, 160;
|
|
||||||
--ctp-mocha-maroon: #eba0ac;
|
|
||||||
--ctp-mocha-maroon-rgb: 235, 160, 172;
|
|
||||||
--ctp-latte-peach: #fe640b;
|
|
||||||
--ctp-latte-peach-rgb: 254, 100, 11;
|
|
||||||
--ctp-frappe-peach: #ef9f76;
|
|
||||||
--ctp-frappe-peach-rgb: 239, 159, 118;
|
|
||||||
--ctp-macchiato-peach: #f5a97f;
|
|
||||||
--ctp-macchiato-peach-rgb: 245, 169, 127;
|
|
||||||
--ctp-mocha-peach: #fab387;
|
|
||||||
--ctp-mocha-peach-rgb: 250, 179, 135;
|
|
||||||
--ctp-latte-yellow: #e49320;
|
|
||||||
--ctp-latte-yellow-rgb: 228, 147, 32;
|
|
||||||
--ctp-frappe-yellow: #e5c890;
|
|
||||||
--ctp-frappe-yellow-rgb: 229, 200, 144;
|
|
||||||
--ctp-macchiato-yellow: #eed49f;
|
|
||||||
--ctp-macchiato-yellow-rgb: 238, 212, 159;
|
|
||||||
--ctp-mocha-yellow: #f9e2af;
|
|
||||||
--ctp-mocha-yellow-rgb: 249, 226, 175;
|
|
||||||
--ctp-latte-green: #40a02b;
|
|
||||||
--ctp-latte-green-rgb: 64, 160, 43;
|
|
||||||
--ctp-frappe-green: #a6d189;
|
|
||||||
--ctp-frappe-green-rgb: 166, 209, 137;
|
|
||||||
--ctp-macchiato-green: #a6da95;
|
|
||||||
--ctp-macchiato-green-rgb: 166, 218, 149;
|
|
||||||
--ctp-mocha-green: #a6e3a1;
|
|
||||||
--ctp-mocha-green-rgb: 166, 227, 161;
|
|
||||||
--ctp-latte-teal: #179299;
|
|
||||||
--ctp-latte-teal-rgb: 23, 146, 153;
|
|
||||||
--ctp-frappe-teal: #81c8be;
|
|
||||||
--ctp-frappe-teal-rgb: 129, 200, 190;
|
|
||||||
--ctp-macchiato-teal: #8bd5ca;
|
|
||||||
--ctp-macchiato-teal-rgb: 139, 213, 202;
|
|
||||||
--ctp-mocha-teal: #94e2d5;
|
|
||||||
--ctp-mocha-teal-rgb: 148, 226, 213;
|
|
||||||
--ctp-latte-sky: #04a5e5;
|
|
||||||
--ctp-latte-sky-rgb: 4, 165, 229;
|
|
||||||
--ctp-frappe-sky: #99d1db;
|
|
||||||
--ctp-frappe-sky-rgb: 153, 209, 219;
|
|
||||||
--ctp-macchiato-sky: #91d7e3;
|
|
||||||
--ctp-macchiato-sky-rgb: 145, 215, 227;
|
|
||||||
--ctp-mocha-sky: #89dceb;
|
|
||||||
--ctp-mocha-sky-rgb: 137, 220, 235;
|
|
||||||
--ctp-latte-sapphire: #209fb5;
|
|
||||||
--ctp-latte-sapphire-rgb: 32, 159, 181;
|
|
||||||
--ctp-frappe-sapphire: #85c1dc;
|
|
||||||
--ctp-frappe-sapphire-rgb: 133, 193, 220;
|
|
||||||
--ctp-macchiato-sapphire: #7dc4e4;
|
|
||||||
--ctp-macchiato-sapphire-rgb: 125, 196, 228;
|
|
||||||
--ctp-mocha-sapphire: #74c7ec;
|
|
||||||
--ctp-mocha-sapphire-rgb: 116, 199, 236;
|
|
||||||
--ctp-latte-blue: #2a6ef5;
|
|
||||||
--ctp-latte-blue-rgb: 42, 110, 245;
|
|
||||||
--ctp-frappe-blue: #8caaee;
|
|
||||||
--ctp-frappe-blue-rgb: 140, 170, 238;
|
|
||||||
--ctp-macchiato-blue: #8aadf4;
|
|
||||||
--ctp-macchiato-blue-rgb: 138, 173, 244;
|
|
||||||
--ctp-mocha-blue: #87b0f9;
|
|
||||||
--ctp-mocha-blue-rgb: 135, 176, 249;
|
|
||||||
--ctp-latte-lavender: #7287fd;
|
|
||||||
--ctp-latte-lavender-rgb: 114, 135, 253;
|
|
||||||
--ctp-frappe-lavender: #babbf1;
|
|
||||||
--ctp-frappe-lavender-rgb: 186, 187, 241;
|
|
||||||
--ctp-macchiato-lavender: #b7bdf8;
|
|
||||||
--ctp-macchiato-lavender-rgb: 183, 189, 248;
|
|
||||||
--ctp-mocha-lavender: #b4befe;
|
|
||||||
--ctp-mocha-lavender-rgb: 180, 190, 254;
|
|
||||||
--ctp-latte-text: #4c4f69;
|
|
||||||
--ctp-latte-text-rgb: 76, 79, 105;
|
|
||||||
--ctp-frappe-text: #c6ceef;
|
|
||||||
--ctp-frappe-text-rgb: 198, 206, 239;
|
|
||||||
--ctp-macchiato-text: #c5cff5;
|
|
||||||
--ctp-macchiato-text-rgb: 197, 207, 245;
|
|
||||||
--ctp-mocha-text: #c6d0f5;
|
|
||||||
--ctp-mocha-text-rgb: 198, 208, 245;
|
|
||||||
--ctp-latte-subtext1: #5c5f77;
|
|
||||||
--ctp-latte-subtext1-rgb: 92, 95, 119;
|
|
||||||
--ctp-frappe-subtext1: #b5bddc;
|
|
||||||
--ctp-frappe-subtext1-rgb: 181, 189, 220;
|
|
||||||
--ctp-macchiato-subtext1: #b3bce0;
|
|
||||||
--ctp-macchiato-subtext1-rgb: 179, 188, 224;
|
|
||||||
--ctp-mocha-subtext1: #b3bcdf;
|
|
||||||
--ctp-mocha-subtext1-rgb: 179, 188, 223;
|
|
||||||
--ctp-latte-subtext0: #6c6f85;
|
|
||||||
--ctp-latte-subtext0-rgb: 108, 111, 133;
|
|
||||||
--ctp-frappe-subtext0: #a5acc9;
|
|
||||||
--ctp-frappe-subtext0-rgb: 165, 172, 201;
|
|
||||||
--ctp-macchiato-subtext0: #a1aacb;
|
|
||||||
--ctp-macchiato-subtext0-rgb: 161, 170, 203;
|
|
||||||
--ctp-mocha-subtext0: #a1a8c9;
|
|
||||||
--ctp-mocha-subtext0-rgb: 161, 168, 201;
|
|
||||||
--ctp-latte-overlay2: #7c7f93;
|
|
||||||
--ctp-latte-overlay2-rgb: 124, 127, 147;
|
|
||||||
--ctp-frappe-overlay2: #949bb7;
|
|
||||||
--ctp-frappe-overlay2-rgb: 148, 155, 183;
|
|
||||||
--ctp-macchiato-overlay2: #8f97b7;
|
|
||||||
--ctp-macchiato-overlay2-rgb: 143, 151, 183;
|
|
||||||
--ctp-mocha-overlay2: #8e95b3;
|
|
||||||
--ctp-mocha-overlay2-rgb: 142, 149, 179;
|
|
||||||
--ctp-latte-overlay1: #8c8fa1;
|
|
||||||
--ctp-latte-overlay1-rgb: 140, 143, 161;
|
|
||||||
--ctp-frappe-overlay1: #838aa4;
|
|
||||||
--ctp-frappe-overlay1-rgb: 131, 138, 164;
|
|
||||||
--ctp-macchiato-overlay1: #7d84a2;
|
|
||||||
--ctp-macchiato-overlay1-rgb: 125, 132, 162;
|
|
||||||
--ctp-mocha-overlay1: #7b819d;
|
|
||||||
--ctp-mocha-overlay1-rgb: 123, 129, 157;
|
|
||||||
--ctp-latte-overlay0: #9ca0b0;
|
|
||||||
--ctp-latte-overlay0-rgb: 156, 160, 176;
|
|
||||||
--ctp-frappe-overlay0: #737891;
|
|
||||||
--ctp-frappe-overlay0-rgb: 115, 120, 145;
|
|
||||||
--ctp-macchiato-overlay0: #6c728d;
|
|
||||||
--ctp-macchiato-overlay0-rgb: 108, 114, 141;
|
|
||||||
--ctp-mocha-overlay0: #696d86;
|
|
||||||
--ctp-mocha-overlay0-rgb: 105, 109, 134;
|
|
||||||
--ctp-latte-surface2: #acb0be;
|
|
||||||
--ctp-latte-surface2-rgb: 172, 176, 190;
|
|
||||||
--ctp-frappe-surface2: #62677e;
|
|
||||||
--ctp-frappe-surface2-rgb: 98, 103, 126;
|
|
||||||
--ctp-macchiato-surface2: #5a5f78;
|
|
||||||
--ctp-macchiato-surface2-rgb: 90, 95, 120;
|
|
||||||
--ctp-mocha-surface2: #565970;
|
|
||||||
--ctp-mocha-surface2-rgb: 86, 89, 112;
|
|
||||||
--ctp-latte-surface1: #bcc0cc;
|
|
||||||
--ctp-latte-surface1-rgb: 188, 192, 204;
|
|
||||||
--ctp-frappe-surface1: #51566c;
|
|
||||||
--ctp-frappe-surface1-rgb: 81, 86, 108;
|
|
||||||
--ctp-macchiato-surface1: #484c64;
|
|
||||||
--ctp-macchiato-surface1-rgb: 72, 76, 100;
|
|
||||||
--ctp-mocha-surface1: #43465a;
|
|
||||||
--ctp-mocha-surface1-rgb: 67, 70, 90;
|
|
||||||
--ctp-latte-surface0: #ccd0da;
|
|
||||||
--ctp-latte-surface0-rgb: 204, 208, 218;
|
|
||||||
--ctp-frappe-surface0: #414559;
|
|
||||||
--ctp-frappe-surface0-rgb: 65, 69, 89;
|
|
||||||
--ctp-macchiato-surface0: #363a4f;
|
|
||||||
--ctp-macchiato-surface0-rgb: 54, 58, 79;
|
|
||||||
--ctp-mocha-surface0: #313244;
|
|
||||||
--ctp-mocha-surface0-rgb: 49, 50, 68;
|
|
||||||
--ctp-latte-base: #eff1f5;
|
|
||||||
--ctp-latte-base-rgb: 239, 241, 245;
|
|
||||||
--ctp-frappe-base: #303446;
|
|
||||||
--ctp-frappe-base-rgb: 48, 52, 70;
|
|
||||||
--ctp-macchiato-base: #24273a;
|
|
||||||
--ctp-macchiato-base-rgb: 36, 39, 58;
|
|
||||||
--ctp-mocha-base: #1e1e2e;
|
|
||||||
--ctp-mocha-base-rgb: 30, 30, 46;
|
|
||||||
--ctp-latte-mantle: #e6e9ef;
|
|
||||||
--ctp-latte-mantle-rgb: 230, 233, 239;
|
|
||||||
--ctp-frappe-mantle: #292c3c;
|
|
||||||
--ctp-frappe-mantle-rgb: 41, 44, 60;
|
|
||||||
--ctp-macchiato-mantle: #1e2030;
|
|
||||||
--ctp-macchiato-mantle-rgb: 30, 32, 48;
|
|
||||||
--ctp-mocha-mantle: #181825;
|
|
||||||
--ctp-mocha-mantle-rgb: 24, 24, 37;
|
|
||||||
--ctp-latte-crust: #dce0e8;
|
|
||||||
--ctp-latte-crust-rgb: 220, 224, 232;
|
|
||||||
--ctp-frappe-crust: #232634;
|
|
||||||
--ctp-frappe-crust-rgb: 35, 38, 52;
|
|
||||||
--ctp-macchiato-crust: #181926;
|
|
||||||
--ctp-macchiato-crust-rgb: 24, 25, 38;
|
|
||||||
--ctp-mocha-crust: #11111b;
|
|
||||||
--ctp-mocha-crust-rgb: 17, 17, 27;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui.basic.primary.button, .ui.basic.primary.buttons .button {
|
|
||||||
color: var(--ctp-mocha-surface1) !important;
|
|
||||||
}
|
|
||||||
.ui.primary.buttons .button, .ui.primary.button {
|
|
||||||
color: var(--ctp-mocha-surface1) !important;
|
color: var(--ctp-mocha-surface1) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.primary.button:hover, .ui.primary.buttons .button:hover {
|
.ui.primary.buttons .button,
|
||||||
|
.ui.primary.button {
|
||||||
|
color: var(--ctp-mocha-surface1) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui.primary.button:hover,
|
||||||
|
.ui.primary.buttons .button:hover {
|
||||||
background-color: var(--ctp-mocha-mauve) !important;
|
background-color: var(--ctp-mocha-mauve) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -415,7 +100,6 @@
|
||||||
background-color: var(--color-body);
|
background-color: var(--color-body);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.table {
|
.ui.table > thead > tr > th {
|
||||||
border-color: var(--color-primary)
|
background: var(--ctp-mocha-mantle);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
10
soft/config/soft-serve.config.json
Normal file
10
soft/config/soft-serve.config.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"paths": {
|
||||||
|
"src": "./gitea/git/repositories/daylin",
|
||||||
|
"dest": "./soft/data/repos"
|
||||||
|
},
|
||||||
|
"repos": {
|
||||||
|
"src": ["dotfiles", "git-server"],
|
||||||
|
"dest": ["config"]
|
||||||
|
}
|
||||||
|
}
|
48
soft/config/update-soft-serve-repos.py
Executable file
48
soft/config/update-soft-serve-repos.py
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
|
||||||
|
def get_config():
|
||||||
|
with (Path(__file__).parent / "soft-serve.config.json").open("r") as f:
|
||||||
|
return json.load(f)
|
||||||
|
|
||||||
|
|
||||||
|
def get_name(config, repo):
|
||||||
|
name = repo.name.replace(".git", "")
|
||||||
|
dest = Path(config["paths"]["dest"]) / name
|
||||||
|
return name, dest
|
||||||
|
|
||||||
|
|
||||||
|
def get_repo_path(config, repos):
|
||||||
|
return Path(__file__).parent.parent.parent / config["paths"][repos]
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
|
config = get_config()
|
||||||
|
|
||||||
|
for repo in get_repo_path(config, "src").iterdir():
|
||||||
|
name, dest = get_name(config, repo)
|
||||||
|
|
||||||
|
if name not in config["repos"]["src"]:
|
||||||
|
continue
|
||||||
|
|
||||||
|
print(f"{repo} >> {dest}")
|
||||||
|
|
||||||
|
if dest.is_dir():
|
||||||
|
shutil.rmtree(dest)
|
||||||
|
shutil.copytree(repo, dest)
|
||||||
|
|
||||||
|
for repo in get_repo_path(config, "dest").iterdir():
|
||||||
|
name, dest = get_name(config, repo)
|
||||||
|
|
||||||
|
if name not in [*config["repos"]["src"], *config["repos"]["dest"]]:
|
||||||
|
print(f"pruning {name}")
|
||||||
|
shutil.rmtree(repo)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
|
@ -1,29 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
from pathlib import Path
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
GITEA_REPOS = Path(__file__).parent / "gitea/git/repositories/daylin"
|
|
||||||
SOFT_REPOS = Path(__file__).parent / "soft/repos"
|
|
||||||
|
|
||||||
allowed = ["dotfiles", "gitea-server"]
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
|
|
||||||
for repo in GITEA_REPOS.iterdir():
|
|
||||||
name = repo.name.replace(".git", "")
|
|
||||||
if name not in allowed:
|
|
||||||
continue
|
|
||||||
print(repo)
|
|
||||||
|
|
||||||
dest = SOFT_REPOS / name
|
|
||||||
print(f">> {dest}")
|
|
||||||
|
|
||||||
if dest.is_dir():
|
|
||||||
shutil.rmtree(dest)
|
|
||||||
shutil.copytree(repo, dest)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
Loading…
Reference in a new issue