convert nginx to option

This commit is contained in:
Kopatz
2024-05-04 13:00:59 +02:00
parent c2f40e2777
commit 445fc226e0
13 changed files with 100 additions and 827 deletions

View File

@@ -1,166 +0,0 @@
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = de
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
#blur = yes
#blur_size = 3
#blur_passes = 1
#blur_new_optimizations = on
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = no
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = on
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic-mouse-v1 {
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, kitty
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, thunar
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, wofi --show drun
bind = $mainMod, S, exec, rofi -show drun -show-icons
bind = ALT, SPACE, exec, rofi -show combi
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bind = ALT, Tab, cyclenext,
bind = ALT, Tab, bringactivetotop,
exec-once= bash ~/.config/hypr/start.sh

View File

@@ -1,10 +0,0 @@
#!/usr/bin/env bash
# wallpaper daemon
swww init &
nm-applet --indicator &
waybar &
dunst &

View File

@@ -12,7 +12,7 @@ return {
-- NOTE: And you can specify dependencies as well -- NOTE: And you can specify dependencies as well
dependencies = { dependencies = {
-- Creates a beautiful debugger UI -- Creates a beautiful debugger UI
'rcarriga/nvim-dap-ui', { "rcarriga/nvim-dap-ui", dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" } },
-- Installs the debug adapters for you -- Installs the debug adapters for you
'williamboman/mason.nvim', 'williamboman/mason.nvim',

View File

@@ -1,2 +0,0 @@
[Formats]
LANG=en_US.UTF-8

View File

@@ -1,458 +0,0 @@
[ActionPlugins][0]
MiddleButton;NoModifier=org.kde.paste
RightButton;NoModifier=org.kde.contextmenu
wheel:Vertical;NoModifier=org.kde.switchdesktop
[ActionPlugins][1]
RightButton;NoModifier=org.kde.contextmenu
[Containments][130]
ItemGeometries-2560x1440=
ItemGeometriesHorizontal=
activityId=6784e532-d567-43a5-965a-c229de33d941
formfactor=0
immutability=1
lastScreen=0
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.slideshow
[Containments][130][ConfigDialog]
DialogHeight=660
DialogWidth=880
[Containments][130][General]
ToolBoxButtonState=topcenter
ToolBoxButtonX=697
[Containments][130][Wallpaper][org.kde.slideshow][General]
Image=file:///home/kopatz/Nextcloud/dinge/Bg/AcademyWireframe_wide.jpg
SlideInterval=18900
SlidePaths=/home/kopatz/Nextcloud/dinge/Bg/
[Containments][131]
ItemGeometries-1920x1080=
ItemGeometriesHorizontal=
activityId=6784e532-d567-43a5-965a-c229de33d941
formfactor=0
immutability=1
lastScreen=1
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.slideshow
[Containments][131][ConfigDialog]
DialogHeight=660
DialogWidth=880
[Containments][131][Wallpaper][org.kde.slideshow][General]
Image=file:///home/kopatz/Nextcloud/dinge/Bg/303695.jpg
SlideInterval=18900
SlidePaths=/home/kopatz/Nextcloud/dinge/Bg/
[Containments][132]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.panel
wallpaperplugin=org.kde.image
[Containments][132][Applets][133]
immutability=1
plugin=org.kde.plasma.kickoff
[Containments][132][Applets][133][Configuration]
PreloadWeight=100
popupHeight=574
popupWidth=729
[Containments][132][Applets][133][Configuration][General]
favoritesPortedToKAstats=true
[Containments][132][Applets][133][Configuration][Shortcuts]
global=Alt+F1
[Containments][132][Applets][134]
immutability=1
plugin=org.kde.plasma.pager
[Containments][132][Applets][135]
immutability=1
plugin=org.kde.plasma.icontasks
[Containments][132][Applets][135][Configuration][General]
launchers=applications:systemsettings.desktop,preferred://filemanager,preferred://browser
[Containments][132][Applets][136]
immutability=1
plugin=org.kde.plasma.marginsseparator
[Containments][132][Applets][137]
immutability=1
plugin=org.kde.plasma.systemtray
[Containments][132][Applets][137][Configuration]
PreloadWeight=55
SystrayContainmentId=138
[Containments][132][Applets][149]
immutability=1
plugin=org.kde.plasma.digitalclock
[Containments][132][Applets][150]
immutability=1
plugin=org.kde.plasma.showdesktop
[Containments][132][Applets][179]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][132][Applets][179][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
[Containments][132][Applets][179][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
updateRateLimit=500
[Containments][132][Applets][179][Configuration][ConfigDialog]
DialogHeight=660
DialogWidth=880
[Containments][132][Applets][179][Configuration][SensorColors]
memory/physical/usedPercent=61,164,233
[Containments][132][Applets][179][Configuration][Sensors]
highPrioritySensorIds=["memory/physical/usedPercent"]
totalSensors=["memory/physical/usedPercent"]
[Containments][132][Applets][180]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][132][Applets][180][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
[Containments][132][Applets][180][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
updateRateLimit=500
[Containments][132][Applets][180][Configuration][ConfigDialog]
DialogHeight=660
DialogWidth=880
[Containments][132][Applets][180][Configuration][SensorColors]
cpu/all/averageTemperature=61,233,114
[Containments][132][Applets][180][Configuration][Sensors]
highPrioritySensorIds=["cpu/all/averageTemperature"]
totalSensors=["cpu/all/averageTemperature"]
[Containments][132][Applets][181]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][132][Applets][181][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
[Containments][132][Applets][181][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
updateRateLimit=500
[Containments][132][Applets][181][Configuration][ConfigDialog]
DialogHeight=660
DialogWidth=880
[Containments][132][Applets][181][Configuration][SensorColors]
cpu/all/usage=233,61,95
[Containments][132][Applets][181][Configuration][Sensors]
highPrioritySensorIds=["cpu/all/usage"]
totalSensors=["cpu/all/usage"]
[Containments][132][Applets][182]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][132][Applets][182][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
[Containments][132][Applets][182][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
updateRateLimit=1000
[Containments][132][Applets][182][Configuration][ConfigDialog]
DialogHeight=660
DialogWidth=880
[Containments][132][Applets][182][Configuration][SensorColors]
gpu/gpu0/temperature=85,61,233
[Containments][132][Applets][182][Configuration][Sensors]
highPrioritySensorIds=["gpu/gpu0/temperature"]
totalSensors=["gpu/gpu0/temperature"]
[Containments][132][Applets][183]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][132][Applets][183][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
[Containments][132][Applets][183][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
[Containments][132][Applets][183][Configuration][ConfigDialog]
DialogHeight=660
DialogWidth=880
[Containments][132][Applets][183][Configuration][SensorColors]
gpu/all/usage=61,111,233
gpu/gpu0/usage=233,173,61
[Containments][132][Applets][183][Configuration][Sensors]
highPrioritySensorIds=["gpu/all/usage"]
totalSensors=["gpu/all/usage"]
[Containments][132][Applets][185]
immutability=1
plugin=org.kde.plasma.systemmonitor.diskactivity
[Containments][132][Applets][185][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
PreloadWeight=55
[Containments][132][Applets][185][Configuration][Appearance]
chartFace=org.kde.ksysguard.linechart
title=Hard Disk Activity
[Containments][132][Applets][185][Configuration][SensorColors]
disk/all/read=233,120,61
disk/all/write=61,174,233
[Containments][132][Applets][185][Configuration][Sensors]
highPrioritySensorIds=["disk/all/write","disk/all/read"]
[Containments][132][Applets][186]
immutability=1
plugin=org.kde.plasma.systemmonitor.net
[Containments][132][Applets][186][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
PreloadWeight=55
[Containments][132][Applets][186][Configuration][Appearance]
chartFace=org.kde.ksysguard.linechart
title=Network speed
[Containments][132][Applets][186][Configuration][SensorColors]
network/all/download=61,174,233
network/all/upload=233,120,61
[Containments][132][Applets][186][Configuration][Sensors]
highPrioritySensorIds=["network/all/download","network/all/upload"]
[Containments][132][ConfigDialog]
DialogHeight=93
DialogWidth=2560
[Containments][132][General]
AppletOrder=133;134;135;181;180;183;182;186;136;179;185;137;149;150
[Containments][138]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.plasma.private.systemtray
wallpaperplugin=org.kde.image
[Containments][138][Applets][139]
immutability=1
plugin=org.kde.plasma.notifications
[Containments][138][Applets][140]
immutability=1
plugin=org.kde.plasma.clipboard
[Containments][138][Applets][141]
immutability=1
plugin=org.kde.plasma.manage-inputmethod
[Containments][138][Applets][142]
immutability=1
plugin=org.kde.plasma.devicenotifier
[Containments][138][Applets][143]
immutability=1
plugin=org.kde.plasma.printmanager
[Containments][138][Applets][144]
immutability=1
plugin=org.kde.plasma.volume
[Containments][138][Applets][144][Configuration][General]
migrated=true
[Containments][138][Applets][145]
immutability=1
plugin=org.kde.plasma.keyboardlayout
[Containments][138][Applets][146]
immutability=1
plugin=org.kde.kdeconnect
[Containments][138][Applets][147]
immutability=1
plugin=org.kde.kscreen
[Containments][138][Applets][148]
immutability=1
plugin=org.kde.plasma.keyboardindicator
[Containments][138][Applets][151]
immutability=1
plugin=org.kde.plasma.nightcolorcontrol
[Containments][138][Applets][152]
immutability=1
plugin=org.kde.plasma.battery
[Containments][138][Applets][153]
immutability=1
plugin=org.kde.plasma.mediacontroller
[Containments][138][Applets][154]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][138][General]
extraItems=org.kde.plasma.mediacontroller,org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.clipboard,org.kde.plasma.manage-inputmethod,org.kde.plasma.devicenotifier,org.kde.plasma.nightcolorcontrol,org.kde.plasma.printmanager,org.kde.plasma.volume,org.kde.plasma.networkmanagement,org.kde.plasma.keyboardlayout,org.kde.kdeconnect,org.kde.kscreen,org.kde.plasma.keyboardindicator
knownItems=org.kde.plasma.mediacontroller,org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.clipboard,org.kde.plasma.manage-inputmethod,org.kde.plasma.devicenotifier,org.kde.plasma.nightcolorcontrol,org.kde.plasma.printmanager,org.kde.plasma.volume,org.kde.plasma.networkmanagement,org.kde.plasma.keyboardlayout,org.kde.kdeconnect,org.kde.kscreen,org.kde.plasma.keyboardindicator
[Containments][155]
activityId=
formfactor=2
immutability=1
lastScreen=1
location=4
plugin=org.kde.panel
wallpaperplugin=org.kde.image
[Containments][155][Applets][156]
immutability=1
plugin=org.kde.plasma.kickoff
[Containments][155][Applets][156][Configuration][General]
favoritesPortedToKAstats=true
[Containments][155][Applets][156][Configuration][Shortcuts]
global=Alt+F1
[Containments][155][Applets][157]
immutability=1
plugin=org.kde.plasma.pager
[Containments][155][Applets][158]
immutability=1
plugin=org.kde.plasma.icontasks
[Containments][155][Applets][159]
immutability=1
plugin=org.kde.plasma.marginsseparator
[Containments][155][Applets][160]
immutability=1
plugin=org.kde.plasma.systemtray
[Containments][155][Applets][160][Configuration]
PreloadWeight=55
SystrayContainmentId=161
[Containments][155][Applets][172]
immutability=1
plugin=org.kde.plasma.digitalclock
[Containments][155][Applets][173]
immutability=1
plugin=org.kde.plasma.showdesktop
[Containments][155][General]
AppletOrder=156;157;158;159;160;172;173
[Containments][161]
activityId=
formfactor=2
immutability=1
lastScreen=1
location=4
plugin=org.kde.plasma.private.systemtray
wallpaperplugin=org.kde.image
[Containments][161][Applets][162]
immutability=1
plugin=org.kde.plasma.notifications
[Containments][161][Applets][163]
immutability=1
plugin=org.kde.plasma.clipboard
[Containments][161][Applets][164]
immutability=1
plugin=org.kde.plasma.manage-inputmethod
[Containments][161][Applets][165]
immutability=1
plugin=org.kde.plasma.devicenotifier
[Containments][161][Applets][166]
immutability=1
plugin=org.kde.plasma.printmanager
[Containments][161][Applets][167]
immutability=1
plugin=org.kde.plasma.volume
[Containments][161][Applets][167][Configuration][General]
migrated=true
[Containments][161][Applets][168]
immutability=1
plugin=org.kde.plasma.keyboardlayout
[Containments][161][Applets][169]
immutability=1
plugin=org.kde.kdeconnect
[Containments][161][Applets][170]
immutability=1
plugin=org.kde.kscreen
[Containments][161][Applets][171]
immutability=1
plugin=org.kde.plasma.keyboardindicator
[Containments][161][Applets][174]
immutability=1
plugin=org.kde.plasma.nightcolorcontrol
[Containments][161][Applets][175]
immutability=1
plugin=org.kde.plasma.battery
[Containments][161][Applets][176]
immutability=1
plugin=org.kde.plasma.mediacontroller
[Containments][161][Applets][177]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][161][General]
extraItems=org.kde.plasma.mediacontroller,org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.clipboard,org.kde.plasma.manage-inputmethod,org.kde.plasma.devicenotifier,org.kde.plasma.nightcolorcontrol,org.kde.plasma.printmanager,org.kde.plasma.volume,org.kde.plasma.networkmanagement,org.kde.plasma.keyboardlayout,org.kde.kdeconnect,org.kde.kscreen,org.kde.plasma.keyboardindicator
knownItems=org.kde.plasma.mediacontroller,org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.clipboard,org.kde.plasma.manage-inputmethod,org.kde.plasma.devicenotifier,org.kde.plasma.nightcolorcontrol,org.kde.plasma.printmanager,org.kde.plasma.volume,org.kde.plasma.networkmanagement,org.kde.plasma.keyboardlayout,org.kde.kdeconnect,org.kde.kscreen,org.kde.plasma.keyboardindicator
[ScreenMapping]
itemsOnDisabledScreens=

View File

@@ -1,12 +0,0 @@
[Applications][brave-browser]
Seen=true
[Applications][com.nextcloud.desktopclient.nextcloud]
Seen=true
ShowPopups=false
[Applications][discord]
Seen=true
[Applications][thunderbird]
Seen=true

View File

@@ -1,50 +0,0 @@
[ActionsWidget]
ColumnState=AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYwAAAACAQAAAQAAAAAAAAAAAAAAAHD/////AAAAgQAAAAAAAAACAAAA+gAAAAEAAAAAAAAAkgAAAAEAAAAAAAAD6AAAAABw
[ConfigDialog]
2 screens: Height=550
2 screens: Width=835
[FileDialogSize]
2 screens: Height=606
2 screens: Width=860
[General]
Number of Actions=0
[PlasmaTransientsConfig]
PreloadWeight=0
[PlasmaViews][Panel 107][Defaults]
thickness=54
[PlasmaViews][Panel 132][Defaults]
thickness=54
[PlasmaViews][Panel 155][Defaults]
thickness=54
[PlasmaViews][Panel 3][Defaults]
thickness=54
[PlasmaViews][Panel 34][Defaults]
thickness=54
[PlasmaViews][Panel 63]
alignment=132
[PlasmaViews][Panel 63][Defaults]
maxLength=2346
minLength=2346
offset=0
thickness=26
[PlasmaViews][Panel 63][Horizontal2560]
maxLength=2346
minLength=2346
[PlasmaViews][Panel 82][Defaults]
thickness=54
[Updates]
performed=/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/systemloadviewer_systemmonitor.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/no_middle_click_paste_on_panels.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_rename_timezonedisplay_key.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/maintain_existing_desktop_icon_sizes.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/folderview_fix_recursive_screenmapping.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/unlock_widgets.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/mediaframe_migrate_useBackground_setting.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/move_desktop_layout_config.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_migrateiconsetting.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_font_settings.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_remove_shortcut.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/containmentactions_middlebutton.js,/run/current-system/sw/share/plasma/shells/org.kde.plasma.desktop/contents/updates/klipper_clear_config.js

View File

@@ -1,11 +0,0 @@
[ActionPlugins][0]
MiddleButton;NoModifier=org.kde.paste
RightButton;NoModifier=org.kde.contextmenu
wheel:Vertical;NoModifier=org.kde.switchdesktop
[Containments][2]
activityId=
formfactor=4
lastScreen=-1
location=0
wallpaperplugin=org.kde.image

View File

@@ -1,11 +0,0 @@
[Applets][3]
immutability=1
plugin=org.kde.plasma.calendar
[Applets][3][Configuration]
PreloadWeight=42
geometry=2787,531,462,308
[Applets][3][Configuration][ConfigDialog]
DialogHeight=660
DialogWidth=880

View File

@@ -7,10 +7,8 @@
../services/github-runner.nix ../services/github-runner.nix
../services/gitolite.nix ../services/gitolite.nix
# wait for https://github.com/NixOS/nixpkgs/pull/300228 # wait for https://github.com/NixOS/nixpkgs/pull/300228
../services/kavita.nix
../services/grafana.nix ../services/grafana.nix
#../services/nextcloud.nix #../services/nextcloud.nix
../services/nginx.nix
#../services/samba.nix #../services/samba.nix
../services/ssh.nix ../services/ssh.nix
../services/step-ca.nix ../services/step-ca.nix
@@ -43,6 +41,7 @@
settings.enable = true; settings.enable = true;
}; };
services = { services = {
nginx.enable = true;
kavita = { kavita = {
enable = true; enable = true;
dir = "/mnt/1tbssd/kavita"; dir = "/mnt/1tbssd/kavita";

View File

@@ -3,5 +3,6 @@
imports = [ imports = [
./kubernetes.nix ./kubernetes.nix
./kavita.nix ./kavita.nix
./nginx.nix
]; ];
} }

View File

@@ -1,119 +1,111 @@
{ pkgs, lib, config, ... }: { config, pkgs, lib, inputs, ... }:
with lib;
let
cfg = config.custom.services.nginx;
in
{ {
options.custom.services.nginx = {
enable = mkEnableOption "Enables nginx";
https = mkOption {
type = types.bool;
default = true;
description = "Should it use https?";
};
};
config = lib.mkIf cfg.enable {
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [ 80 443 ];
networking.firewall.allowedUDPPorts = [ 80 443 ]; networking.firewall.allowedUDPPorts = [ 80 443 ];
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /data 0770 github-actions-runner nginx -" "d /data 0770 github-actions-runner nginx -"
"d /data/website 0770 github-actions-runner nginx -" "d /data/website 0770 github-actions-runner nginx -"
]; ];
services.nginx = { services.nginx = {
enable = true; enable = true;
package = pkgs.nginxQuic; package = pkgs.nginxQuic;
additionalModules = [ pkgs.nginxModules.moreheaders ]; additionalModules = [ pkgs.nginxModules.moreheaders ];
# Use recommended settings # Use recommended settings
recommendedGzipSettings = true; recommendedGzipSettings = true;
recommendedOptimisation = true; recommendedOptimisation = true;
recommendedProxySettings = true; recommendedProxySettings = true;
recommendedTlsSettings = true; recommendedTlsSettings = true;
statusPage = lib.mkIf config.services.prometheus.exporters.nginx.enable true; statusPage = lib.mkIf config.services.prometheus.exporters.nginx.enable true;
# Only allow PFS-enabled ciphers with AES256 # Only allow PFS-enabled ciphers with AES256
sslCiphers = "AES256+EECDH:AES256+EDH:!aNULL"; sslCiphers = "AES256+EECDH:AES256+EDH:!aNULL";
appendHttpConfig= '' appendHttpConfig= ''
more_set_headers 'Strict-Transport-Security: max-age=31536000; includeSubDomains'; more_set_headers 'Strict-Transport-Security: max-age=31536000; includeSubDomains';
more_set_headers 'X-XSS-Protection 1; mode=block'; more_set_headers 'X-XSS-Protection 1; mode=block';
# add_header X-Frame-Options 'ALLOW-FROM kopatz.ddns.net'; # add_header X-Frame-Options 'ALLOW-FROM kopatz.ddns.net';
more_set_headers 'X-Content-Type-Options nosniff'; more_set_headers 'X-Content-Type-Options nosniff';
more_set_headers "Content-Security-Policy: frame-ancestors https://kopatz.ddns.net"; more_set_headers "Content-Security-Policy: frame-ancestors https://kopatz.ddns.net";
more_set_headers "Referrer-Policy: same-origin"; more_set_headers "Referrer-Policy: same-origin";
more_set_headers "Permissions-Policy: geolocation=(), microphone=()"; more_set_headers "Permissions-Policy: geolocation=(), microphone=()";
''; '';
#appendHttpConfig = '' virtualHosts = {
# # Add HSTS header with preloading to HTTPS requests. "kopatz.ddns.net" = {
# # Adding this header to HTTP requests is discouraged #serverAliases = [
# map $scheme $hsts_header { # "www.kopatz.ddns.net"
# https "max-age=31536000; includeSubdomains; preload"; # "server.home"
# } # "server.home.arpa"
# add_header Strict-Transport-Security $hsts_header; # "192.168.0.6"
#];
# # Enable CSP for your services. root = "/data/website";
# add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none'; frame-ancestors 'https://kopatz.ddns.net'" always; forceSSL = cfg.https;
enableACME = cfg.https;
# # Minimize information leaked to other domains quic = cfg.https;
# add_header 'Referrer-Policy' 'origin-when-cross-origin'; http3 = cfg.https;
locations."~* \\.(jpg|png)$".extraConfig= ''
# # Disable embedding as a frame add_header Access-Control-Allow-Origin *;
# add_header X-Frame-Options 'ALLOW-FROM kopatz.ddns.net'; '';
locations."~ ^/(stash|resources|css)".extraConfig=''
# # Prevent injection of code in other mime types (XSS Attacks) client_max_body_size 5000M;
# add_header X-Content-Type-Options nosniff; proxy_redirect off;
#''; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# Setup Nextcloud virtual host to listen on ports proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
virtualHosts = { proxy_set_header X-Forwarded-Proto $scheme;
"kopatz.ddns.net" = { proxy_set_header X-NginX-Proxy true;
#serverAliases = [ proxy_pass http://localhost:5091;
# "www.kopatz.ddns.net" '';
# "server.home" locations."/tracker-site" = {
# "server.home.arpa" tryFiles = "$uri $uri/ /tracker-site/index.html =404";
# "192.168.0.6" };
#]; locations."/tracker-site/api" = {
root = "/data/website"; extraConfig =''
forceSSL = true; rewrite /tracker-site/api/(.*) /$1 break;
enableACME = true; '';
quic = true; proxyPass = "http://127.0.0.1:8080";
http3 = true; };
locations."~* \\.(jpg|png)$".extraConfig= ''
add_header Access-Control-Allow-Origin *;
'';
locations."~ ^/(stash|resources|css)".extraConfig=''
client_max_body_size 5000M;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:5091;
'';
locations."/tracker-site" = {
tryFiles = "$uri $uri/ /tracker-site/index.html =404";
};
locations."/tracker-site/api" = {
extraConfig =''
rewrite /tracker-site/api/(.*) /$1 break;
'';
proxyPass = "http://127.0.0.1:8080";
};
};
#discord bot for tracking useractivity public version
"activitytracker.site" = {
#serverAliases = [
# "localhost"
#];
root = "/data/website/tracker-site-public";
forceSSL = true;
enableACME = true;
quic = true;
http3 = true;
locations."/" = {
tryFiles = "$uri $uri/ /index.html =404";
};
locations."/api" = {
extraConfig =''
rewrite /api/(.*) /$1 break;
'';
proxyPass = "http://127.0.0.1:8081";
};
};
"adguard.home.arpa" = {
locations."/".proxyPass = "http://127.0.0.1:3000";
};
}; };
#discord bot for tracking useractivity public version
"activitytracker.site" = {
#serverAliases = [
# "localhost"
#];
root = "/data/website/tracker-site-public";
forceSSL = cfg.https;
enableACME = cfg.https;
quic = cfg.https;
http3 = cfg.https;
locations."/" = {
tryFiles = "$uri $uri/ /index.html =404";
};
locations."/api" = {
extraConfig =''
rewrite /api/(.*) /$1 break;
'';
proxyPass = "http://127.0.0.1:8081";
};
};
"adguard.home.arpa" = {
locations."/".proxyPass = "http://127.0.0.1:3000";
};
};
}; };
};
} }

View File

@@ -30,6 +30,7 @@
ssd.enable = true; ssd.enable = true;
}; };
services = { services = {
nginx.enable = true;
kavita = { kavita = {
enable = true; enable = true;
dir = "/data/kavita"; dir = "/data/kavita";