From 84f7df9860ba69f1c03bd70880b6809af5814ae4 Mon Sep 17 00:00:00 2001 From: m3tam3re Date: Tue, 7 Feb 2023 09:29:30 +0100 Subject: [PATCH] + invidious + searx --- home/features/cli/#fish.nix# | 55 +++++++++++++++++++++++++ home/features/desktop/default.nix | 1 + home/features/desktop/espanso.nix | 3 ++ hosts/lkk-nix-1/default.nix | 5 +++ hosts/lkk-nix-1/services/default.nix | 2 + hosts/lkk-nix-1/services/invidious.nix | 7 ++++ hosts/lkk-nix-1/services/searx.nix | 11 +++++ hosts/lkk-nix-1/services/traefik.nix | 21 ++++++++++ secrets.nix | 2 + secrets/searx-environmentFile.age | Bin 0 -> 819 bytes 10 files changed, 107 insertions(+) create mode 100644 home/features/cli/#fish.nix# create mode 100644 home/features/desktop/espanso.nix create mode 100644 hosts/lkk-nix-1/services/invidious.nix create mode 100644 hosts/lkk-nix-1/services/searx.nix create mode 100644 secrets/searx-environmentFile.age diff --git a/home/features/cli/#fish.nix# b/home/features/cli/#fish.nix# new file mode 100644 index 0000000..156c997 --- /dev/null +++ b/home/features/cli/#fish.nix# @@ -0,0 +1,55 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.features.cli.fish; + +in { + + options.features.cli.fish.enable = mkEnableOption "enable fish shell"; + + config = mkIf cfg.enable { + programs.fish = { + enable = true; + plugins = [{ + name = "foreign-env"; + src = pkgs.fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-foreign-env"; + rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc"; + sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"; + }; + }]; + loginShellInit = '' + set -x WEBKIT_DISABLE_COMPOSITING_MODE 1 + set -x EDITOR emacsclient + set -x VISUAL emacsclient + set -x XDG_DATA_HOME $HOME/.local/share + ''; + shellAbbrs = { + ls = "exa"; + grep = "rg"; + ps = "procs"; + + n = "nix"; + nd = "nix develop -c $SHELL"; + ns = "nix shell"; + nsn = "nix shell nixpkgs#"; + nb = "nix build"; + nbn = "nix build nixpkgs#"; + nf = "nix flake"; + + ncb nr = "nixos-rebuild --flake ."; nrs = "nixos-rebuild + --flake . switch"; snr = "sudo nixos-rebuild --flake ."; snrs + = "sudo nixos-rebuild --flake . switch"; hm = "home-manager + --flake ."; hms = "home-manager --flake . switch"; + + vi = "nvim"; + vim = "nvim"; + + wgd = "sudo systemctl stop wg-quick-wg0.service"; + wgu = "sudo systemctl start wg-quick-wg0.service"; + }; + }; + }; +} diff --git a/home/features/desktop/default.nix b/home/features/desktop/default.nix index abe1003..22e4fd3 100644 --- a/home/features/desktop/default.nix +++ b/home/features/desktop/default.nix @@ -3,6 +3,7 @@ imports = [ ./crypto.nix ./design.nix + ./espanso.nix ./i3-gaps.nix ./extrafonts.nix ./media.nix diff --git a/home/features/desktop/espanso.nix b/home/features/desktop/espanso.nix new file mode 100644 index 0000000..0024593 --- /dev/null +++ b/home/features/desktop/espanso.nix @@ -0,0 +1,3 @@ +{ + services.espanso.enable = true; +} diff --git a/hosts/lkk-nix-1/default.nix b/hosts/lkk-nix-1/default.nix index 9ffb05b..bf59697 100644 --- a/hosts/lkk-nix-1/default.nix +++ b/hosts/lkk-nix-1/default.nix @@ -47,6 +47,11 @@ mode = "770"; owner = "traefik"; }; + searx-environmentFile = { + file = ../../secrets/searx-environmentFile.age; + mode = "770"; + owner = "searx"; + }; }; identityPaths = [ "/home/m3tam3re/.ssh/lkk-nix-1" ]; }; diff --git a/hosts/lkk-nix-1/services/default.nix b/hosts/lkk-nix-1/services/default.nix index bfdba4b..ca3a8ef 100644 --- a/hosts/lkk-nix-1/services/default.nix +++ b/hosts/lkk-nix-1/services/default.nix @@ -2,9 +2,11 @@ imports = [ ./container.nix ./gitea.nix + ./invidious.nix ./mariadb.nix ./n8n.nix ./postgres.nix + ./searx.nix ./traefik.nix ]; } diff --git a/hosts/lkk-nix-1/services/invidious.nix b/hosts/lkk-nix-1/services/invidious.nix new file mode 100644 index 0000000..a9bca32 --- /dev/null +++ b/hosts/lkk-nix-1/services/invidious.nix @@ -0,0 +1,7 @@ +{ + services.invidious = { + enable = true; + port = 3006; + domain = "video.lanakk.com"; + }; +} diff --git a/hosts/lkk-nix-1/services/searx.nix b/hosts/lkk-nix-1/services/searx.nix new file mode 100644 index 0000000..90b8544 --- /dev/null +++ b/hosts/lkk-nix-1/services/searx.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + services.searx = { + enable = true; + package = pkgs.searxng; + settings = { + server.port = 3004; + server.secret_key = "@SEARX_SECRET_KEY@"; + }; + }; +} diff --git a/hosts/lkk-nix-1/services/traefik.nix b/hosts/lkk-nix-1/services/traefik.nix index c82be15..7e33a0f 100644 --- a/hosts/lkk-nix-1/services/traefik.nix +++ b/hosts/lkk-nix-1/services/traefik.nix @@ -39,6 +39,9 @@ n8n.loadBalancer.servers = [{ url = "http://localhost:5678/"; }]; lanakk_blog.loadBalancer.servers = [{ url = "http://localhost:3002/"; }]; matomo.loadBalancer.servers = [{ url = "http://localhost:3003/"; }]; + searx.loadBalancer.servers = [{ url = "http://localhost:3004/"; }]; + nextcloud.loadBalancer.servers = [{ url = "http://localhost:3005/"; }]; + invidious.loadBalancer.servers = [{ url = "http://localhost:3006/"; }]; }; routers = { api = { @@ -90,6 +93,24 @@ service = "matomo"; entrypoints = "websecure"; }; + searx = { + rule = "Host(`search.lanakk.com`)"; + tls = { + certResolver = "godaddy"; + domains = "search.lanakk.com"; + }; + service = "searx"; + entrypoints = "websecure"; + }; + invidious = { + rule = "Host(`video.lanakk.com`)"; + tls = { + certResolver = "godaddy"; + domains = "video.lanakk.com"; + }; + service = "invidious"; + entrypoints = "websecure"; + }; }; }; }; diff --git a/secrets.nix b/secrets.nix index 633b528..1a0f47f 100644 --- a/secrets.nix +++ b/secrets.nix @@ -8,4 +8,6 @@ in { "godaddy-api-key.age".publicKeys = [ root ]; "godaddy-api-secret.age".publicKeys = [ root ]; + + "searx-environmentFile.age".publicKeys = [ root ]; } diff --git a/secrets/searx-environmentFile.age b/secrets/searx-environmentFile.age new file mode 100644 index 0000000000000000000000000000000000000000..8ba1974dfc12255c215173992c22ec37250a9721 GIT binary patch literal 819 zcmWmCJrAQ~003aOGi;ies5jW;mP?viC{SR~2n7n|tL39WjWLvO%Ew!H3x#;m;gVZ! zy3K!}CQcWP$!(W78WRUMe}a>XqvvmUo*<1EaUHfJfO%7Y+_dSk$B@ORv#!e)Z5Pb= zLn%-LqA+j+N20p$)!M*AsHCvpGPYMz3c0>F(#q)fhY62bKeEX2&b3H2 zhwF_m5#ziR)LT+#_Yp@A?9ex2883s0J+O@Caw`{jLr)*_P?Pr%Mo!72Of6b8vOgXr zkefN!>b0+}^iyTX?&vXV%M#Fz1nQ1t%p2RM$wjE9Q533ds}4(x@k7R+k^;eZ-7pju zT%DUe*IA$v=J++Tcf%Cz!Qd4BC=Qwy?;ryLpc*nB$3!s4CX3fdoxW0tZk-YrZ|St& zdn_E3(yg~BHnnn0_A)86kb+m@tnumLK90O)@P3;d)|QC{U1rL(g6Ps|U?xE>c8%VV zGMBb2>rFI2-}xskaN<7C6ulG4EV*B&f}mSF^^e$UEdWa?pco_n*FdvJ$+Sq@IOyV8 z1)h94d$gBwWJjt=iW5?xeLr>GObl_drYRNL;)wjMa% z%ELmkc(YE=IyN$;lF39zpi#8)Y|2dh(4$QPrPvzU&cTQ-+nOh$qtPaVD))8RAdAIf zHqQbn#|uVjq+w|?6LmMkYk+d5qy&C_rkNvSI5PFd7)3t&=Lzy4`9 zJN?f;p8Wjs`HQ#gU;lme;D?tVw!bap?>~R`_p7I-_1y>WzkdAHyI;TadiKjVKfd?y G_x}Ld%@f`L literal 0 HcmV?d00001