From bcf0553529b14214e4e7096c65ab5396c9b7e2b6 Mon Sep 17 00:00:00 2001 From: Callum Leslie Date: Wed, 22 Apr 2026 21:28:19 +0100 Subject: [PATCH] format all --- home/c/default.nix | 8 +++- home/c/programs/alacritty/default.nix | 7 ++- home/c/programs/default.nix | 3 +- home/c/programs/direnv/default.nix | 3 +- home/c/programs/firefox/default.nix | 7 +-- home/c/programs/git/default.nix | 21 ++++++--- home/c/programs/jj/default.nix | 7 +-- home/c/programs/rbw/default.nix | 3 +- home/c/programs/rofi/default.nix | 3 +- home/c/services/default.nix | 8 +++- home/c/services/kanshi/default.nix | 3 +- home/c/services/mako/default.nix | 3 +- hosts/artemis/containers.nix | 3 +- hosts/artemis/default.nix | 3 +- hosts/artemis/hardware-configuration.nix | 31 +++++++++---- hosts/artemis/networking.nix | 8 +++- hosts/artemis/programs.nix | 9 +++- hosts/artemis/ssh.nix | 3 +- hosts/artemis/styling.nix | 3 +- hosts/default.nix | 22 ++++++--- hosts/hermes/configuration.nix | 10 ++-- hosts/hermes/containers.nix | 15 ++++-- hosts/hermes/copyparty.nix | 14 +++--- hosts/hermes/ddns.nix | 5 +- hosts/hermes/default.nix | 3 +- hosts/hermes/fail2ban.nix | 59 ++++++++++++++---------- hosts/hermes/forgejo.nix | 8 ++-- hosts/hermes/hardware-configuration.nix | 24 +++++++--- hosts/hermes/headscale.nix | 8 ++-- hosts/hermes/media.nix | 22 ++++++--- hosts/hermes/n8n.nix | 10 ++-- hosts/hermes/networking.nix | 9 +++- hosts/hermes/nocodb.nix | 8 ++-- hosts/hermes/quassel.nix | 5 +- hosts/hermes/ssh.nix | 5 +- hosts/hermes/vaultwarden.nix | 8 ++-- overlays/default.nix | 5 +- packages/default.nix | 9 ++-- packages/tmux-sessionizer/default.nix | 15 ++++-- secrets/secrets.nix | 11 +++-- 40 files changed, 271 insertions(+), 140 deletions(-) diff --git a/home/c/default.nix b/home/c/default.nix index 7755114..531e0f4 100644 --- a/home/c/default.nix +++ b/home/c/default.nix @@ -1,5 +1,9 @@ -{pkgs, ...}: { - imports = [./programs ./services]; +{ pkgs, ... }: +{ + imports = [ + ./programs + ./services + ]; programs.home-manager.enable = true; services.trayscale.enable = true; diff --git a/home/c/programs/alacritty/default.nix b/home/c/programs/alacritty/default.nix index 0c36cf3..6a1e369 100644 --- a/home/c/programs/alacritty/default.nix +++ b/home/c/programs/alacritty/default.nix @@ -1,8 +1,11 @@ -{...}: { +{ ... }: +{ programs.alacritty = { enable = true; settings = { - env = {TERM = "xterm-256color";}; + env = { + TERM = "xterm-256color"; + }; }; }; } diff --git a/home/c/programs/default.nix b/home/c/programs/default.nix index feff4cc..04eefac 100644 --- a/home/c/programs/default.nix +++ b/home/c/programs/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ imports = [ ./hypr ./waybar diff --git a/home/c/programs/direnv/default.nix b/home/c/programs/direnv/default.nix index 479884f..47411de 100644 --- a/home/c/programs/direnv/default.nix +++ b/home/c/programs/direnv/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ programs.direnv = { enable = true; nix-direnv.enable = true; diff --git a/home/c/programs/firefox/default.nix b/home/c/programs/firefox/default.nix index 0c9ad1a..313b052 100644 --- a/home/c/programs/firefox/default.nix +++ b/home/c/programs/firefox/default.nix @@ -1,4 +1,5 @@ -{inputs, ...}: { +{ inputs, ... }: +{ programs.firefox = { enable = true; policies = { @@ -37,9 +38,9 @@ ]; }; - containers = {}; + containers = { }; - settings = {}; + settings = { }; userChrome = ""; diff --git a/home/c/programs/git/default.nix b/home/c/programs/git/default.nix index 216b91e..7d2fa28 100644 --- a/home/c/programs/git/default.nix +++ b/home/c/programs/git/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ programs = { git = { enable = true; @@ -8,7 +9,7 @@ signing.key = "03B01F427831BCFD!"; signing.signByDefault = true; - ignores = [".direnv/"]; + ignores = [ ".direnv/" ]; includes = [ { @@ -18,7 +19,9 @@ email = "psycl6@nottingham.ac.uk"; signingKey = "14861F1282EFB5C8!"; }; - credential = {helper = "store";}; + credential = { + helper = "store"; + }; }; } ]; @@ -29,10 +32,16 @@ autocrlf = false; }; - init = {defaultBranch = "main";}; + init = { + defaultBranch = "main"; + }; - push = {autoSetupRemote = true;}; - ghq = {root = "~/repos";}; + push = { + autoSetupRemote = true; + }; + ghq = { + root = "~/repos"; + }; }; }; delta.enable = true; diff --git a/home/c/programs/jj/default.nix b/home/c/programs/jj/default.nix index f0c5e57..e9beba3 100644 --- a/home/c/programs/jj/default.nix +++ b/home/c/programs/jj/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ programs.jujutsu = { enable = true; settings = { @@ -21,13 +22,13 @@ "--scope" = [ { - "--when".repositories = ["~/repos/projects.cs.nott.ac.uk"]; + "--when".repositories = [ "~/repos/projects.cs.nott.ac.uk" ]; user = { email = "psycl6@nottingham.ac.uk"; }; } { - "--when".commands = ["status"]; + "--when".commands = [ "status" ]; ui.paginate = "never"; } ]; diff --git a/home/c/programs/rbw/default.nix b/home/c/programs/rbw/default.nix index 7a1139e..7df3c6e 100644 --- a/home/c/programs/rbw/default.nix +++ b/home/c/programs/rbw/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ programs.rbw = { enable = true; settings = { diff --git a/home/c/programs/rofi/default.nix b/home/c/programs/rofi/default.nix index f4dffc6..55969b7 100644 --- a/home/c/programs/rofi/default.nix +++ b/home/c/programs/rofi/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ programs.rofi = { enable = true; package = pkgs.rofi; diff --git a/home/c/services/default.nix b/home/c/services/default.nix index 0a19433..08bc6a3 100644 --- a/home/c/services/default.nix +++ b/home/c/services/default.nix @@ -1,5 +1,9 @@ -{pkgs, ...}: { - imports = [./mako ./kanshi]; +{ pkgs, ... }: +{ + imports = [ + ./mako + ./kanshi + ]; services = { network-manager-applet.enable = true; mpris-proxy.enable = true; diff --git a/home/c/services/kanshi/default.nix b/home/c/services/kanshi/default.nix index 4038606..69a3172 100644 --- a/home/c/services/kanshi/default.nix +++ b/home/c/services/kanshi/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ services.kanshi = { enable = true; settings = [ diff --git a/home/c/services/mako/default.nix b/home/c/services/mako/default.nix index 3a67789..728faed 100644 --- a/home/c/services/mako/default.nix +++ b/home/c/services/mako/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ services.mako = { enable = true; settings.defaultTimeout = 7000; diff --git a/hosts/artemis/containers.nix b/hosts/artemis/containers.nix index 2270540..1a2a8d4 100644 --- a/hosts/artemis/containers.nix +++ b/hosts/artemis/containers.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ virtualisation = { waydroid.enable = true; libvirtd.enable = true; diff --git a/hosts/artemis/default.nix b/hosts/artemis/default.nix index 250394f..62445a5 100644 --- a/hosts/artemis/default.nix +++ b/hosts/artemis/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ imports = [ ./hardware-configuration.nix ./configuration.nix diff --git a/hosts/artemis/hardware-configuration.nix b/hosts/artemis/hardware-configuration.nix index 7f3ee67..46b0d52 100644 --- a/hosts/artemis/hardware-configuration.nix +++ b/hosts/artemis/hardware-configuration.nix @@ -4,14 +4,21 @@ pkgs, modulesPath, ... -}: { - imports = [(modulesPath + "/installer/scan/not-detected.nix")]; +}: +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; zramSwap.enable = true; boot = { - initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "rtsx_pci_sdmmc"]; - initrd.kernelModules = []; - kernelModules = ["kvm-intel"]; - extraModulePackages = []; + initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usb_storage" + "rtsx_pci_sdmmc" + ]; + initrd.kernelModules = [ ]; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; kernelParams = [ "i915.enable_psr=0" "i915.enable_fbc=0" @@ -25,7 +32,11 @@ bluetooth = { enable = true; powerOnBoot = true; - settings = {General = {Enable = "Source,Sink,Media,Socket";};}; + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; }; graphics = { @@ -44,7 +55,9 @@ cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }; - environment.sessionVariables = {LIBVA_DRIVER_NAME = "iHD";}; # Force intel-media-driver + environment.sessionVariables = { + LIBVA_DRIVER_NAME = "iHD"; + }; # Force intel-media-driver services = { blueman.enable = true; @@ -68,7 +81,7 @@ fsType = "ext4"; }; - swapDevices = []; + swapDevices = [ ]; networking.useDHCP = lib.mkDefault true; } diff --git a/hosts/artemis/networking.nix b/hosts/artemis/networking.nix index 8e645f7..fe989e7 100644 --- a/hosts/artemis/networking.nix +++ b/hosts/artemis/networking.nix @@ -1,10 +1,14 @@ -{...}: { +{ ... }: +{ networking = { hostName = "artemis"; networkmanager.enable = true; firewall.enable = true; firewall.allowPing = true; enableIPv6 = false; - nameservers = ["9.9.9.9" "149.112.112.112"]; + nameservers = [ + "9.9.9.9" + "149.112.112.112" + ]; }; } diff --git a/hosts/artemis/programs.nix b/hosts/artemis/programs.nix index 11bd065..7ae3662 100644 --- a/hosts/artemis/programs.nix +++ b/hosts/artemis/programs.nix @@ -2,7 +2,8 @@ pkgs, lib, ... -}: { +}: +{ programs = { wireshark.enable = true; fish.enable = true; @@ -30,7 +31,11 @@ # theme_name = "Adwaita"; # }; }; - cageArgs = ["-s" "-m" "last"]; + cageArgs = [ + "-s" + "-m" + "last" + ]; }; }; services = { diff --git a/hosts/artemis/ssh.nix b/hosts/artemis/ssh.nix index 39db1b9..d37f3d4 100644 --- a/hosts/artemis/ssh.nix +++ b/hosts/artemis/ssh.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ services.openssh = { enable = true; settings = { diff --git a/hosts/artemis/styling.nix b/hosts/artemis/styling.nix index dd3ae0e..1be174a 100644 --- a/hosts/artemis/styling.nix +++ b/hosts/artemis/styling.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ stylix = { enable = true; diff --git a/hosts/default.nix b/hosts/default.nix index 1befb70..8a7c8c4 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -2,10 +2,20 @@ inputs, mods, ... -}: let - sharedModules = [inputs.home-manager.nixosModules.home-manager inputs.stylix.nixosModules.stylix inputs.agenix.nixosModules.default] ++ mods.sharedModules; - artemis = import ./artemis {inherit inputs sharedModules;}; - hermes = import ./hermes {inherit inputs sharedModules;}; -in { - hosts = [artemis hermes]; +}: +let + sharedModules = [ + inputs.home-manager.nixosModules.home-manager + inputs.stylix.nixosModules.stylix + inputs.agenix.nixosModules.default + ] + ++ mods.sharedModules; + artemis = import ./artemis { inherit inputs sharedModules; }; + hermes = import ./hermes { inherit inputs sharedModules; }; +in +{ + hosts = [ + artemis + hermes + ]; } diff --git a/hosts/hermes/configuration.nix b/hosts/hermes/configuration.nix index 11a3b76..1b84d0d 100644 --- a/hosts/hermes/configuration.nix +++ b/hosts/hermes/configuration.nix @@ -2,7 +2,8 @@ config, pkgs, ... -}: { +}: +{ nixpkgs.hostPlatform = "x86_64-linux"; c.services.mesh = { enable = true; @@ -22,7 +23,10 @@ users.users.media = { isNormalUser = true; - extraGroups = ["wheel" "multimedia"]; + extraGroups = [ + "wheel" + "multimedia" + ]; openssh.authorizedKeys.keys = config.keys.c; packages = with pkgs; [ tree @@ -30,7 +34,7 @@ ]; }; - nix.settings.trusted-users = ["media"]; + nix.settings.trusted-users = [ "media" ]; environment.systemPackages = with pkgs; [ wget diff --git a/hosts/hermes/containers.nix b/hosts/hermes/containers.nix index 6272ae4..9832a13 100644 --- a/hosts/hermes/containers.nix +++ b/hosts/hermes/containers.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ virtualisation = { podman.enable = true; podman.dockerCompat = true; @@ -9,7 +10,7 @@ #image = "ghcr.io/flaresolverr/flaresolverr:pr-1282"; image = "docker.io/alexfozor/flaresolverr:pr-1300-experimental"; autoStart = true; - ports = ["127.0.0.1:8191:8191"]; + ports = [ "127.0.0.1:8191:8191" ]; environment = { LOG_LEVEL = "debug"; }; @@ -17,7 +18,10 @@ tdarr = { image = "ghcr.io/haveagitgat/tdarr"; autoStart = true; - ports = ["0.0.0.0:8265:8265" "127.0.0.1:8266:8266"]; + ports = [ + "0.0.0.0:8265:8265" + "127.0.0.1:8266:8266" + ]; volumes = [ "/var/lib/tdarr/server:/app/server" "/var/lib/tdarr/configs:/app/configs" @@ -37,7 +41,10 @@ PUID = "1000"; PGID = "994"; }; - extraOptions = ["--device=/dev/dri:/dev/dri" "--network=bridge"]; + extraOptions = [ + "--device=/dev/dri:/dev/dri" + "--network=bridge" + ]; }; }; }; diff --git a/hosts/hermes/copyparty.nix b/hosts/hermes/copyparty.nix index cd2e10b..f451517 100644 --- a/hosts/hermes/copyparty.nix +++ b/hosts/hermes/copyparty.nix @@ -1,13 +1,15 @@ -{config, ...}: let +{ config, ... }: +let domain = "files.cleslie.uk"; -in { +in +{ services = { - cloudflare-dyndns.domains = [domain]; + cloudflare-dyndns.domains = [ domain ]; copyparty = { enable = true; settings = { i = "127.0.0.1"; - p = [3210]; + p = [ 3210 ]; }; accounts = { c.passwordFile = config.age.secrets.copyparty-c.path; @@ -16,13 +18,13 @@ in { "/media" = { path = "/var/lib/media/library"; access = { - rw = ["c"]; + rw = [ "c" ]; }; }; "/paperless" = { path = "/var/lib/paperless"; access = { - rw = ["c"]; + rw = [ "c" ]; }; }; }; diff --git a/hosts/hermes/ddns.nix b/hosts/hermes/ddns.nix index e8ea1c0..7284ab1 100644 --- a/hosts/hermes/ddns.nix +++ b/hosts/hermes/ddns.nix @@ -1,11 +1,12 @@ -{config, ...}: { +{ config, ... }: +{ services.cloudflare-dyndns = { enable = true; ipv4 = true; ipv6 = false; proxied = false; deleteMissing = false; - domains = []; + domains = [ ]; apiTokenFile = config.age.secrets.cloudflare-api.path; }; # services.cloudflare-dyndns.domains = []; diff --git a/hosts/hermes/default.nix b/hosts/hermes/default.nix index 11aaf6f..af433a2 100644 --- a/hosts/hermes/default.nix +++ b/hosts/hermes/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ imports = [ ./hardware-configuration.nix ./configuration.nix diff --git a/hosts/hermes/fail2ban.nix b/hosts/hermes/fail2ban.nix index 5780c9d..f08b192 100644 --- a/hosts/hermes/fail2ban.nix +++ b/hosts/hermes/fail2ban.nix @@ -1,8 +1,11 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ services.fail2ban = { enable = true; jails = { - sshd.settings = {enabled = false;}; + sshd.settings = { + enabled = false; + }; radarr.settings = { enabled = true; filter = "arr"; @@ -74,33 +77,39 @@ }; }; environment.etc = { - "fail2ban/filter.d/arr.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter '' - [INCLUDES] - before = common.conf + "fail2ban/filter.d/arr.local".text = pkgs.lib.mkDefault ( + pkgs.lib.mkAfter '' + [INCLUDES] + before = common.conf - [Definition] - datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S\.%%f\| - failregex = ^\s*Warn\|Auth\|Auth-Failure ip username '[^']+' - ignoreregex = - ''); + [Definition] + datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S\.%%f\| + failregex = ^\s*Warn\|Auth\|Auth-Failure ip username '[^']+' + ignoreregex = + '' + ); - "fail2ban/filter.d/jellyseerr.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter '' - [INCLUDES] - before = common.conf + "fail2ban/filter.d/jellyseerr.local".text = pkgs.lib.mkDefault ( + pkgs.lib.mkAfter '' + [INCLUDES] + before = common.conf - [Definition] - failregex = ^.*\[warn\]\[API\]: Failed sign-in attempt using invalid Overseerr password {"ip":"","email": - ^.*\[warn\]\[Auth\]: Failed login attempt from user with incorrect Jellyfin credentials {"account":{"ip":"","email": - ignoreregex = - ''); + [Definition] + failregex = ^.*\[warn\]\[API\]: Failed sign-in attempt using invalid Overseerr password {"ip":"","email": + ^.*\[warn\]\[Auth\]: Failed login attempt from user with incorrect Jellyfin credentials {"account":{"ip":"","email": + ignoreregex = + '' + ); - "fail2ban/filter.d/jellyfin.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter '' - [INCLUDES] - before = common.conf + "fail2ban/filter.d/jellyfin.local".text = pkgs.lib.mkDefault ( + pkgs.lib.mkAfter '' + [INCLUDES] + before = common.conf - [Definition] - failregex = ^.*Authentication request for .* has been denied \(IP: ""\)\. - ignoreregex = - ''); + [Definition] + failregex = ^.*Authentication request for .* has been denied \(IP: ""\)\. + ignoreregex = + '' + ); }; } diff --git a/hosts/hermes/forgejo.nix b/hosts/hermes/forgejo.nix index 21ba439..7f2c123 100644 --- a/hosts/hermes/forgejo.nix +++ b/hosts/hermes/forgejo.nix @@ -2,11 +2,13 @@ lib, config, ... -}: let +}: +let domain = "git.cleslie.uk"; -in { +in +{ services = { - cloudflare-dyndns.domains = [domain]; + cloudflare-dyndns.domains = [ domain ]; forgejo = { enable = true; database.type = "postgres"; diff --git a/hosts/hermes/hardware-configuration.nix b/hosts/hermes/hardware-configuration.nix index 07b9560..a6c281a 100644 --- a/hosts/hermes/hardware-configuration.nix +++ b/hosts/hermes/hardware-configuration.nix @@ -3,18 +3,25 @@ lib, modulesPath, ... -}: { +}: +{ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot = { - initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; - initrd.kernelModules = []; - kernelModules = ["kvm-intel"]; + initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "usbhid" + "usb_storage" + "sd_mod" + ]; + initrd.kernelModules = [ ]; + kernelModules = [ "kvm-intel" ]; kernelParams = [ "i915.enable_guc=2" ]; - extraModulePackages = []; + extraModulePackages = [ ]; }; #boot.kernelPackages = pkgs.linuxPackages_latest; @@ -27,10 +34,13 @@ fileSystems."/boot" = { device = "/dev/disk/by-uuid/57CE-8609"; fsType = "vfat"; - options = ["fmask=0077" "dmask=0077"]; + options = [ + "fmask=0077" + "dmask=0077" + ]; }; - swapDevices = []; + swapDevices = [ ]; networking.useDHCP = lib.mkDefault true; diff --git a/hosts/hermes/headscale.nix b/hosts/hermes/headscale.nix index ddb4205..75224e7 100644 --- a/hosts/hermes/headscale.nix +++ b/hosts/hermes/headscale.nix @@ -1,6 +1,8 @@ -{config, ...}: let +{ config, ... }: +let domain = "mesh.cleslie.uk"; -in { +in +{ services = { headscale = { enable = true; @@ -16,7 +18,7 @@ in { ip_prefixes = "100.64.0.0/10"; }; }; - cloudflare-dyndns.domains = [domain]; + cloudflare-dyndns.domains = [ domain ]; caddy.virtualHosts.${domain}.extraConfig = '' reverse_proxy localhost:${toString config.services.headscale.port} ''; diff --git a/hosts/hermes/media.nix b/hosts/hermes/media.nix index 177c503..a075e84 100644 --- a/hosts/hermes/media.nix +++ b/hosts/hermes/media.nix @@ -1,10 +1,14 @@ -{pkgs, ...}: let +{ pkgs, ... }: +let mediaDir = "/var/lib/media"; -in { +in +{ users = { - groups.multimedia = {gid = 994;}; - users."root".extraGroups = ["multimedia"]; - users."media".extraGroups = ["multimedia"]; + groups.multimedia = { + gid = 994; + }; + users."root".extraGroups = [ "multimedia" ]; + users."media".extraGroups = [ "multimedia" ]; }; systemd.tmpfiles.rules = [ @@ -87,7 +91,11 @@ in { }; }; - cloudflare-dyndns.domains = ["media.cleslie.uk" "watch.cleslie.uk" "request.cleslie.uk"]; + cloudflare-dyndns.domains = [ + "media.cleslie.uk" + "watch.cleslie.uk" + "request.cleslie.uk" + ]; jellyfin = { enable = true; @@ -126,7 +134,7 @@ in { dataDir = "${mediaDir}/torrents"; declarative = true; config = { - enabled_plugins = ["Label"]; + enabled_plugins = [ "Label" ]; outgoing_interface = "wg1"; allow_remote = true; openFirewall = false; diff --git a/hosts/hermes/n8n.nix b/hosts/hermes/n8n.nix index 99cd512..666edcd 100644 --- a/hosts/hermes/n8n.nix +++ b/hosts/hermes/n8n.nix @@ -1,8 +1,10 @@ -{pkgs, ...}: let +{ pkgs, ... }: +let domain = "automation.cleslie.uk"; -in { +in +{ services = { - cloudflare-dyndns.domains = [domain]; + cloudflare-dyndns.domains = [ domain ]; n8n = { enable = true; environment = { @@ -14,5 +16,5 @@ in { reverse_proxy http://127.0.0.1:5678 ''; }; - environment.systemPackages = with pkgs; [mupdf-headless]; + environment.systemPackages = with pkgs; [ mupdf-headless ]; } diff --git a/hosts/hermes/networking.nix b/hosts/hermes/networking.nix index 78004e7..9627f8c 100644 --- a/hosts/hermes/networking.nix +++ b/hosts/hermes/networking.nix @@ -1,8 +1,13 @@ -{config, ...}: { +{ config, ... }: +{ networking = { hostName = "hermes"; enableIPv6 = false; - firewall.allowedTCPPorts = [80 443 8265]; + firewall.allowedTCPPorts = [ + 80 + 443 + 8265 + ]; firewall.checkReversePath = false; iproute2.enable = true; iproute2.rttablesExtraConfig = '' diff --git a/hosts/hermes/nocodb.nix b/hosts/hermes/nocodb.nix index db5658f..82d3e16 100644 --- a/hosts/hermes/nocodb.nix +++ b/hosts/hermes/nocodb.nix @@ -1,8 +1,10 @@ -_: let +_: +let domain = "hub.cleslie.uk"; -in { +in +{ services = { - cloudflare-dyndns.domains = [domain]; + cloudflare-dyndns.domains = [ domain ]; nocodb = { enable = true; environment = { diff --git a/hosts/hermes/quassel.nix b/hosts/hermes/quassel.nix index 6bd6c38..b666c5e 100644 --- a/hosts/hermes/quassel.nix +++ b/hosts/hermes/quassel.nix @@ -1,6 +1,7 @@ -{...}: { +{ ... }: +{ services.quassel = { enable = true; - interfaces = ["0.0.0.0"]; + interfaces = [ "0.0.0.0" ]; }; } diff --git a/hosts/hermes/ssh.nix b/hosts/hermes/ssh.nix index 34bff3f..c7f87f8 100644 --- a/hosts/hermes/ssh.nix +++ b/hosts/hermes/ssh.nix @@ -1,8 +1,9 @@ -{...}: { +{ ... }: +{ services = { openssh = { enable = true; - ports = [62480]; + ports = [ 62480 ]; settings.PasswordAuthentication = false; settings.PermitRootLogin = "no"; }; diff --git a/hosts/hermes/vaultwarden.nix b/hosts/hermes/vaultwarden.nix index 5808748..1ca209d 100644 --- a/hosts/hermes/vaultwarden.nix +++ b/hosts/hermes/vaultwarden.nix @@ -1,8 +1,10 @@ -{config, ...}: let +{ config, ... }: +let domain = "vaultwarden.cleslie.uk"; -in { +in +{ services = { - cloudflare-dyndns.domains = [domain]; + cloudflare-dyndns.domains = [ domain ]; vaultwarden = { enable = true; dbBackend = "sqlite"; diff --git a/overlays/default.nix b/overlays/default.nix index 41d9c45..caaa204 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,5 +1,6 @@ -{inputs, ...}: _final: prev: { +{ inputs, ... }: +_final: prev: { nvf = inputs.nvf.packages.${prev.system}.default; - devour-flake = prev.callPackage inputs.devour-flake {}; + devour-flake = prev.callPackage inputs.devour-flake { }; agenix = inputs.agenix.packages.${prev.system}.default; } diff --git a/packages/default.nix b/packages/default.nix index 6ab2d74..29150f1 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -2,13 +2,14 @@ pkgs, inputs, inputs', -}: { - tmux-sessionizer-cl = pkgs.callPackage ./tmux-sessionizer {}; +}: +{ + tmux-sessionizer-cl = pkgs.callPackage ./tmux-sessionizer { }; om = inputs'.omnix.packages.default; nvf = inputs'.nvf.packages.default; agenix = inputs'.agenix.packages.default; - vaapiIntel = pkgs.intel-vaapi-driver.override {enableHybridCodec = true;}; - devour-flake = pkgs.callPackage inputs.devour-flake {}; + vaapiIntel = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; }; + devour-flake = pkgs.callPackage inputs.devour-flake { }; nish = inputs'.nish.packages.default; nsbm = inputs'.nsbm.packages.default; jellyfin-ffmpeg = pkgs.jellyfin-ffmpeg.override { diff --git a/packages/tmux-sessionizer/default.nix b/packages/tmux-sessionizer/default.nix index 5eeba30..319fdf6 100644 --- a/packages/tmux-sessionizer/default.nix +++ b/packages/tmux-sessionizer/default.nix @@ -1,8 +1,13 @@ -{pkgs}: let +{ pkgs }: +let name = "tmux-sessionizer"; - runtimeInputs = [pkgs.tmux pkgs.ghq pkgs.fzf]; + runtimeInputs = [ + pkgs.tmux + pkgs.ghq + pkgs.fzf + ]; text = builtins.readFile ./tmux-sessionizer.sh; in - pkgs.writeShellApplication { - inherit name runtimeInputs text; - } +pkgs.writeShellApplication { + inherit name runtimeInputs text; +} diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 9d0b2e5..4269f64 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -5,12 +5,13 @@ let artemis = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILERlCL5ZwP/mmtBNAMtLrUwEDy+tOprUWUmsGBRlTCF"; }; allSystems = builtins.attrValues systems; -in { +in +{ "wg-conf.age".publicKeys = keys.c ++ allSystems; "mesh-conf-infra.age".publicKeys = keys.c ++ allSystems; "mesh-conf-cleslie.age".publicKeys = keys.c ++ allSystems; - "forgejo-password.age".publicKeys = keys.c ++ [systems.hermes]; - "copyparty-c.age".publicKeys = keys.c ++ [systems.hermes]; - "cloudflare-api.age".publicKeys = keys.c ++ [systems.hermes]; - "vaultwarden-env.age".publicKeys = keys.c ++ [systems.hermes]; + "forgejo-password.age".publicKeys = keys.c ++ [ systems.hermes ]; + "copyparty-c.age".publicKeys = keys.c ++ [ systems.hermes ]; + "cloudflare-api.age".publicKeys = keys.c ++ [ systems.hermes ]; + "vaultwarden-env.age".publicKeys = keys.c ++ [ systems.hermes ]; }