Ran nixfmt-tree
Some checks failed
Buill NixOS Configurations / build (carbon) (push) Has been cancelled
Buill NixOS Configurations / build (git) (push) Has been cancelled
Buill NixOS Configurations / build (gospel) (push) Has been cancelled
Buill NixOS Configurations / build (node) (push) Has been cancelled
Some checks failed
Buill NixOS Configurations / build (carbon) (push) Has been cancelled
Buill NixOS Configurations / build (git) (push) Has been cancelled
Buill NixOS Configurations / build (gospel) (push) Has been cancelled
Buill NixOS Configurations / build (node) (push) Has been cancelled
This commit is contained in:
parent
259c75204d
commit
3edb267414
9 changed files with 153 additions and 160 deletions
|
|
@ -75,44 +75,43 @@ in
|
||||||
tmuxPlugins.vim-tmux-navigator
|
tmuxPlugins.vim-tmux-navigator
|
||||||
];
|
];
|
||||||
|
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
# Scrolling with mouse wheel scrolls output instead of previous commands
|
||||||
# Scrolling with mouse wheel scrolls output instead of previous commands
|
setw -g mouse on
|
||||||
setw -g mouse on
|
|
||||||
|
|
||||||
# Open panes in the same directory
|
# Open panes in the same directory
|
||||||
bind c new-window -c "#{pane_current_path}"
|
bind c new-window -c "#{pane_current_path}"
|
||||||
bind '"' split-window -c "#{pane_current_path}"
|
bind '"' split-window -c "#{pane_current_path}"
|
||||||
bind % split-window -h -c "#{pane_current_path}"
|
bind % split-window -h -c "#{pane_current_path}"
|
||||||
|
|
||||||
# sessionizer
|
# sessionizer
|
||||||
bind C-o display-popup -E "${pkgs.tmux-sessionizer}/bin/tms"
|
bind C-o display-popup -E "${pkgs.tmux-sessionizer}/bin/tms"
|
||||||
bind C-j display-popup -E "${pkgs.tmux-sessionizer}/bin/tms switch"
|
bind C-j display-popup -E "${pkgs.tmux-sessionizer}/bin/tms switch"
|
||||||
bind C-w display-popup -E "${pkgs.tmux-sessionizer}/bin/tms windows"
|
bind C-w display-popup -E "${pkgs.tmux-sessionizer}/bin/tms windows"
|
||||||
bind C-s command-prompt -p "Rename active session to:" "run-shell '${pkgs.tmux-sessionizer}/bin/tms rename %1'"
|
bind C-s command-prompt -p "Rename active session to:" "run-shell '${pkgs.tmux-sessionizer}/bin/tms rename %1'"
|
||||||
|
|
||||||
''
|
''
|
||||||
+ lib.strings.optionalString config.programs.lazygit.enable ''
|
+ lib.strings.optionalString config.programs.lazygit.enable ''
|
||||||
# Open lazygit in a popup
|
# Open lazygit in a popup
|
||||||
# Spins up a new session with a '-lg' suffix (hitting the shortcut
|
# Spins up a new session with a '-lg' suffix (hitting the shortcut
|
||||||
# toggles between attaching and detaching)
|
# toggles between attaching and detaching)
|
||||||
bind C-g if-shell "[[ $(tmux display-message -p '#S') == *-lg ]]" {
|
bind C-g if-shell "[[ $(tmux display-message -p '#S') == *-lg ]]" {
|
||||||
detach-client
|
detach-client
|
||||||
} {
|
} {
|
||||||
display-popup -h 90% -w 90% -E "tmux new-session -A -s $(tmux display-message -p '#S')-lg ${pkgs.lazygit}/bin/lazygit"
|
display-popup -h 90% -w 90% -E "tmux new-session -A -s $(tmux display-message -p '#S')-lg ${pkgs.lazygit}/bin/lazygit"
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
+ lib.strings.optionalString config.programs.btop.enable ''
|
+ lib.strings.optionalString config.programs.btop.enable ''
|
||||||
# Open btop in a popup
|
# Open btop in a popup
|
||||||
# Spins up a new session named `btop` (hitting the shortcut
|
# Spins up a new session named `btop` (hitting the shortcut
|
||||||
# toggles between attaching and detaching)
|
# toggles between attaching and detaching)
|
||||||
# NOTE: This overrides the default C-t shortcut (shows time by default)
|
# NOTE: This overrides the default C-t shortcut (shows time by default)
|
||||||
bind C-t if-shell "[[ $(tmux display-message -p '#S') == btop ]]" {
|
bind C-t if-shell "[[ $(tmux display-message -p '#S') == btop ]]" {
|
||||||
detach-client
|
detach-client
|
||||||
} {
|
} {
|
||||||
display-popup -h 90% -w 90% -E "tmux new-session -A -s btop ${pkgs.btop}/bin/btop"
|
display-popup -h 90% -w 90% -E "tmux new-session -A -s btop ${pkgs.btop}/bin/btop"
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."tms/config.toml".source = (pkgs.formats.toml { }).generate "tms-config" tmsConfig;
|
xdg.configFile."tms/config.toml".source = (pkgs.formats.toml { }).generate "tms-config" tmsConfig;
|
||||||
|
|
|
||||||
|
|
@ -38,16 +38,15 @@ in
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
recommendedProxySettings = true;
|
recommendedProxySettings = true;
|
||||||
virtualHosts."adguardhome.kilonull.com" =
|
virtualHosts."adguardhome.kilonull.com" = {
|
||||||
{
|
locations."/" = {
|
||||||
locations."/" = {
|
proxyPass = "http://127.0.0.1:3000";
|
||||||
proxyPass = "http://127.0.0.1:3000";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
|
||||||
forceSSL = true;
|
|
||||||
useACMEHost = cfg.acmeCertName;
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = cfg.acmeCertName;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
|
|
|
||||||
|
|
@ -113,18 +113,17 @@ in
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."${server_settings.domain}" =
|
virtualHosts."${server_settings.domain}" = {
|
||||||
{
|
locations."/" = {
|
||||||
locations."/" = {
|
proxyPass = "http://${server_settings.http_addr}:${toString server_settings.http_port}";
|
||||||
proxyPass = "http://${server_settings.http_addr}:${toString server_settings.http_port}";
|
proxyWebsockets = true;
|
||||||
proxyWebsockets = true;
|
recommendedProxySettings = true;
|
||||||
recommendedProxySettings = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
|
||||||
forceSSL = true;
|
|
||||||
useACMEHost = cfg.acmeCertName;
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = cfg.acmeCertName;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
|
|
|
||||||
|
|
@ -33,63 +33,62 @@ in
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
"minio.kilonull.com" =
|
"minio.kilonull.com" = {
|
||||||
{
|
extraConfig = ''
|
||||||
extraConfig = ''
|
# Allow special characters in headers
|
||||||
# Allow special characters in headers
|
ignore_invalid_headers off;
|
||||||
ignore_invalid_headers off;
|
# Allow any size file to be uploaded.
|
||||||
# Allow any size file to be uploaded.
|
# Set to a value such as 1000m; to restrict file size to a specific value
|
||||||
# Set to a value such as 1000m; to restrict file size to a specific value
|
client_max_body_size 0;
|
||||||
client_max_body_size 0;
|
# Disable buffering
|
||||||
# Disable buffering
|
proxy_buffering off;
|
||||||
proxy_buffering off;
|
proxy_request_buffering off;
|
||||||
proxy_request_buffering off;
|
'';
|
||||||
'';
|
|
||||||
|
|
||||||
locations."/".extraConfig = ''
|
locations."/".extraConfig = ''
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
|
||||||
proxy_connect_timeout 300;
|
proxy_connect_timeout 300;
|
||||||
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
|
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_set_header Connection "";
|
proxy_set_header Connection "";
|
||||||
chunked_transfer_encoding off;
|
chunked_transfer_encoding off;
|
||||||
|
|
||||||
proxy_pass http://localhost:9000;
|
proxy_pass http://localhost:9000;
|
||||||
'';
|
'';
|
||||||
locations."/ui".extraConfig = ''
|
locations."/ui".extraConfig = ''
|
||||||
rewrite ^/ui/(.*) /$1 break;
|
rewrite ^/ui/(.*) /$1 break;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
proxy_set_header X-NginX-Proxy true;
|
proxy_set_header X-NginX-Proxy true;
|
||||||
|
|
||||||
# This is necessary to pass the correct IP to be hashed
|
# This is necessary to pass the correct IP to be hashed
|
||||||
real_ip_header X-Real-IP;
|
real_ip_header X-Real-IP;
|
||||||
|
|
||||||
proxy_connect_timeout 300;
|
proxy_connect_timeout 300;
|
||||||
|
|
||||||
# To support websockets in MinIO versions released after January 2023
|
# To support websockets in MinIO versions released after January 2023
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
proxy_set_header Connection "upgrade";
|
proxy_set_header Connection "upgrade";
|
||||||
# Some environments may encounter CORS errors (Kubernetes + Nginx Ingress)
|
# Some environments may encounter CORS errors (Kubernetes + Nginx Ingress)
|
||||||
# Uncomment the following line to set the Origin request to an empty string
|
# Uncomment the following line to set the Origin request to an empty string
|
||||||
proxy_set_header Origin "";
|
proxy_set_header Origin "";
|
||||||
|
|
||||||
chunked_transfer_encoding off;
|
chunked_transfer_encoding off;
|
||||||
|
|
||||||
proxy_pass http://localhost:9001;
|
proxy_pass http://localhost:9001;
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
useACMEHost = cfg.acmeCertName;
|
useACMEHost = cfg.acmeCertName;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -45,20 +45,19 @@ in
|
||||||
|
|
||||||
nginx = {
|
nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."${cfg.subdomain_name}.${cfg.domain_name}" =
|
virtualHosts."${cfg.subdomain_name}.${cfg.domain_name}" = {
|
||||||
{
|
serverAliases = [ "${cfg.subdomain_name}" ];
|
||||||
serverAliases = [ "${cfg.subdomain_name}" ];
|
locations."/".extraConfig = ''
|
||||||
locations."/".extraConfig = ''
|
proxy_pass http://localhost:${toString config.services.nix-serve.port};
|
||||||
proxy_pass http://localhost:${toString config.services.nix-serve.port};
|
proxy_set_header Host $host;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
'';
|
||||||
'';
|
}
|
||||||
}
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
forceSSL = true;
|
||||||
forceSSL = true;
|
useACMEHost = cfg.acmeCertName;
|
||||||
useACMEHost = cfg.acmeCertName;
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,20 +25,19 @@ in
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
recommendedProxySettings = true;
|
recommendedProxySettings = true;
|
||||||
virtualHosts."octoprint.kilonull.com" =
|
virtualHosts."octoprint.kilonull.com" = {
|
||||||
{
|
locations."/" = {
|
||||||
locations."/" = {
|
proxyPass = "http://127.0.0.1:${toString config.services.octoprint.port}";
|
||||||
proxyPass = "http://127.0.0.1:${toString config.services.octoprint.port}";
|
proxyWebsockets = true;
|
||||||
proxyWebsockets = true;
|
extraConfig = ''
|
||||||
extraConfig = ''
|
client_max_body_size 512m;
|
||||||
client_max_body_size 512m;
|
'';
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
|
||||||
forceSSL = true;
|
|
||||||
useACMEHost = cfg.acmeCertName;
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = cfg.acmeCertName;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
|
|
||||||
|
|
@ -30,23 +30,22 @@ in
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."sunshine.kilonull.com" =
|
virtualHosts."sunshine.kilonull.com" = {
|
||||||
{
|
locations."/" = {
|
||||||
locations."/" = {
|
recommendedProxySettings = true;
|
||||||
recommendedProxySettings = true;
|
# NOTE: Sunshine is a little weird since it requires multiple
|
||||||
# NOTE: Sunshine is a little weird since it requires multiple
|
# ports. You configure it with a base port and the web UI +1 from
|
||||||
# ports. You configure it with a base port and the web UI +1 from
|
# the base port.
|
||||||
# the base port.
|
proxyPass = "https://127.0.0.1:${toString (config.services.sunshine.settings.port + 1)}";
|
||||||
proxyPass = "https://127.0.0.1:${toString (config.services.sunshine.settings.port + 1)}";
|
extraConfig = ''
|
||||||
extraConfig = ''
|
proxy_ssl_verify off;
|
||||||
proxy_ssl_verify off;
|
'';
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
|
||||||
forceSSL = true;
|
|
||||||
useACMEHost = cfg.acmeCertName;
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = cfg.acmeCertName;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -147,19 +147,18 @@ in
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."teslamate.kilonull.com" =
|
virtualHosts."teslamate.kilonull.com" = {
|
||||||
{
|
locations."/" = {
|
||||||
locations."/" = {
|
recommendedProxySettings = true;
|
||||||
recommendedProxySettings = true;
|
proxyWebsockets = true;
|
||||||
proxyWebsockets = true;
|
# TODO: Make port configurable.
|
||||||
# TODO: Make port configurable.
|
proxyPass = "http://127.0.0.1:4000";
|
||||||
proxyPass = "http://127.0.0.1:4000";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
|
||||||
forceSSL = true;
|
|
||||||
useACMEHost = cfg.acmeCertName;
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (cfg.acmeCertName != "") {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = cfg.acmeCertName;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 4000 ];
|
networking.firewall.allowedTCPPorts = [ 4000 ];
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ in
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
|
|
||||||
extraGroups = [ "wheel" ] ++ cfg.extraGroups;
|
extraGroups = [ "wheel" ] ++ cfg.extraGroups;
|
||||||
} // cfg.extraOptions;
|
}
|
||||||
|
// cfg.extraOptions;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue