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 0000000..8ba1974 Binary files /dev/null and b/secrets/searx-environmentFile.age differ