format all

This commit is contained in:
Callum Leslie 2026-04-22 21:28:19 +01:00
parent 091cfbdf96
commit bcf0553529
Signed by: cleslie
GPG key ID: D382C4AFEECEAA90
40 changed files with 271 additions and 140 deletions

View file

@ -1,5 +1,9 @@
{pkgs, ...}: { { pkgs, ... }:
imports = [./programs ./services]; {
imports = [
./programs
./services
];
programs.home-manager.enable = true; programs.home-manager.enable = true;
services.trayscale.enable = true; services.trayscale.enable = true;

View file

@ -1,8 +1,11 @@
{...}: { { ... }:
{
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
settings = { settings = {
env = {TERM = "xterm-256color";}; env = {
TERM = "xterm-256color";
};
}; };
}; };
} }

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
imports = [ imports = [
./hypr ./hypr
./waybar ./waybar

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
programs.direnv = { programs.direnv = {
enable = true; enable = true;
nix-direnv.enable = true; nix-direnv.enable = true;

View file

@ -1,4 +1,5 @@
{inputs, ...}: { { inputs, ... }:
{
programs.firefox = { programs.firefox = {
enable = true; enable = true;
policies = { policies = {
@ -37,9 +38,9 @@
]; ];
}; };
containers = {}; containers = { };
settings = {}; settings = { };
userChrome = ""; userChrome = "";

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
programs = { programs = {
git = { git = {
enable = true; enable = true;
@ -8,7 +9,7 @@
signing.key = "03B01F427831BCFD!"; signing.key = "03B01F427831BCFD!";
signing.signByDefault = true; signing.signByDefault = true;
ignores = [".direnv/"]; ignores = [ ".direnv/" ];
includes = [ includes = [
{ {
@ -18,7 +19,9 @@
email = "psycl6@nottingham.ac.uk"; email = "psycl6@nottingham.ac.uk";
signingKey = "14861F1282EFB5C8!"; signingKey = "14861F1282EFB5C8!";
}; };
credential = {helper = "store";}; credential = {
helper = "store";
};
}; };
} }
]; ];
@ -29,10 +32,16 @@
autocrlf = false; autocrlf = false;
}; };
init = {defaultBranch = "main";}; init = {
defaultBranch = "main";
};
push = {autoSetupRemote = true;}; push = {
ghq = {root = "~/repos";}; autoSetupRemote = true;
};
ghq = {
root = "~/repos";
};
}; };
}; };
delta.enable = true; delta.enable = true;

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
programs.jujutsu = { programs.jujutsu = {
enable = true; enable = true;
settings = { settings = {
@ -21,13 +22,13 @@
"--scope" = [ "--scope" = [
{ {
"--when".repositories = ["~/repos/projects.cs.nott.ac.uk"]; "--when".repositories = [ "~/repos/projects.cs.nott.ac.uk" ];
user = { user = {
email = "psycl6@nottingham.ac.uk"; email = "psycl6@nottingham.ac.uk";
}; };
} }
{ {
"--when".commands = ["status"]; "--when".commands = [ "status" ];
ui.paginate = "never"; ui.paginate = "never";
} }
]; ];

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
programs.rbw = { programs.rbw = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
programs.rofi = { programs.rofi = {
enable = true; enable = true;
package = pkgs.rofi; package = pkgs.rofi;

View file

@ -1,5 +1,9 @@
{pkgs, ...}: { { pkgs, ... }:
imports = [./mako ./kanshi]; {
imports = [
./mako
./kanshi
];
services = { services = {
network-manager-applet.enable = true; network-manager-applet.enable = true;
mpris-proxy.enable = true; mpris-proxy.enable = true;

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
services.kanshi = { services.kanshi = {
enable = true; enable = true;
settings = [ settings = [

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
services.mako = { services.mako = {
enable = true; enable = true;
settings.defaultTimeout = 7000; settings.defaultTimeout = 7000;

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
virtualisation = { virtualisation = {
waydroid.enable = true; waydroid.enable = true;
libvirtd.enable = true; libvirtd.enable = true;

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./configuration.nix ./configuration.nix

View file

@ -4,14 +4,21 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }:
imports = [(modulesPath + "/installer/scan/not-detected.nix")]; {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
zramSwap.enable = true; zramSwap.enable = true;
boot = { boot = {
initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "rtsx_pci_sdmmc"]; initrd.availableKernelModules = [
initrd.kernelModules = []; "xhci_pci"
kernelModules = ["kvm-intel"]; "thunderbolt"
extraModulePackages = []; "nvme"
"usb_storage"
"rtsx_pci_sdmmc"
];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
kernelParams = [ kernelParams = [
"i915.enable_psr=0" "i915.enable_psr=0"
"i915.enable_fbc=0" "i915.enable_fbc=0"
@ -25,7 +32,11 @@
bluetooth = { bluetooth = {
enable = true; enable = true;
powerOnBoot = true; powerOnBoot = true;
settings = {General = {Enable = "Source,Sink,Media,Socket";};}; settings = {
General = {
Enable = "Source,Sink,Media,Socket";
};
};
}; };
graphics = { graphics = {
@ -44,7 +55,9 @@
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 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 = { services = {
blueman.enable = true; blueman.enable = true;
@ -68,7 +81,7 @@
fsType = "ext4"; fsType = "ext4";
}; };
swapDevices = []; swapDevices = [ ];
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
} }

View file

@ -1,10 +1,14 @@
{...}: { { ... }:
{
networking = { networking = {
hostName = "artemis"; hostName = "artemis";
networkmanager.enable = true; networkmanager.enable = true;
firewall.enable = true; firewall.enable = true;
firewall.allowPing = true; firewall.allowPing = true;
enableIPv6 = false; enableIPv6 = false;
nameservers = ["9.9.9.9" "149.112.112.112"]; nameservers = [
"9.9.9.9"
"149.112.112.112"
];
}; };
} }

View file

@ -2,7 +2,8 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }:
{
programs = { programs = {
wireshark.enable = true; wireshark.enable = true;
fish.enable = true; fish.enable = true;
@ -30,7 +31,11 @@
# theme_name = "Adwaita"; # theme_name = "Adwaita";
# }; # };
}; };
cageArgs = ["-s" "-m" "last"]; cageArgs = [
"-s"
"-m"
"last"
];
}; };
}; };
services = { services = {

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
services.openssh = { services.openssh = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,5 @@
{pkgs, ...}: { { pkgs, ... }:
{
stylix = { stylix = {
enable = true; enable = true;

View file

@ -2,10 +2,20 @@
inputs, inputs,
mods, mods,
... ...
}: let }:
sharedModules = [inputs.home-manager.nixosModules.home-manager inputs.stylix.nixosModules.stylix inputs.agenix.nixosModules.default] ++ mods.sharedModules; let
artemis = import ./artemis {inherit inputs sharedModules;}; sharedModules = [
hermes = import ./hermes {inherit inputs sharedModules;}; inputs.home-manager.nixosModules.home-manager
in { inputs.stylix.nixosModules.stylix
hosts = [artemis hermes]; inputs.agenix.nixosModules.default
]
++ mods.sharedModules;
artemis = import ./artemis { inherit inputs sharedModules; };
hermes = import ./hermes { inherit inputs sharedModules; };
in
{
hosts = [
artemis
hermes
];
} }

View file

@ -2,7 +2,8 @@
config, config,
pkgs, pkgs,
... ...
}: { }:
{
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
c.services.mesh = { c.services.mesh = {
enable = true; enable = true;
@ -22,7 +23,10 @@
users.users.media = { users.users.media = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel" "multimedia"]; extraGroups = [
"wheel"
"multimedia"
];
openssh.authorizedKeys.keys = config.keys.c; openssh.authorizedKeys.keys = config.keys.c;
packages = with pkgs; [ packages = with pkgs; [
tree tree
@ -30,7 +34,7 @@
]; ];
}; };
nix.settings.trusted-users = ["media"]; nix.settings.trusted-users = [ "media" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wget wget

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
virtualisation = { virtualisation = {
podman.enable = true; podman.enable = true;
podman.dockerCompat = true; podman.dockerCompat = true;
@ -9,7 +10,7 @@
#image = "ghcr.io/flaresolverr/flaresolverr:pr-1282"; #image = "ghcr.io/flaresolverr/flaresolverr:pr-1282";
image = "docker.io/alexfozor/flaresolverr:pr-1300-experimental"; image = "docker.io/alexfozor/flaresolverr:pr-1300-experimental";
autoStart = true; autoStart = true;
ports = ["127.0.0.1:8191:8191"]; ports = [ "127.0.0.1:8191:8191" ];
environment = { environment = {
LOG_LEVEL = "debug"; LOG_LEVEL = "debug";
}; };
@ -17,7 +18,10 @@
tdarr = { tdarr = {
image = "ghcr.io/haveagitgat/tdarr"; image = "ghcr.io/haveagitgat/tdarr";
autoStart = true; 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 = [ volumes = [
"/var/lib/tdarr/server:/app/server" "/var/lib/tdarr/server:/app/server"
"/var/lib/tdarr/configs:/app/configs" "/var/lib/tdarr/configs:/app/configs"
@ -37,7 +41,10 @@
PUID = "1000"; PUID = "1000";
PGID = "994"; PGID = "994";
}; };
extraOptions = ["--device=/dev/dri:/dev/dri" "--network=bridge"]; extraOptions = [
"--device=/dev/dri:/dev/dri"
"--network=bridge"
];
}; };
}; };
}; };

View file

@ -1,13 +1,15 @@
{config, ...}: let { config, ... }:
let
domain = "files.cleslie.uk"; domain = "files.cleslie.uk";
in { in
{
services = { services = {
cloudflare-dyndns.domains = [domain]; cloudflare-dyndns.domains = [ domain ];
copyparty = { copyparty = {
enable = true; enable = true;
settings = { settings = {
i = "127.0.0.1"; i = "127.0.0.1";
p = [3210]; p = [ 3210 ];
}; };
accounts = { accounts = {
c.passwordFile = config.age.secrets.copyparty-c.path; c.passwordFile = config.age.secrets.copyparty-c.path;
@ -16,13 +18,13 @@ in {
"/media" = { "/media" = {
path = "/var/lib/media/library"; path = "/var/lib/media/library";
access = { access = {
rw = ["c"]; rw = [ "c" ];
}; };
}; };
"/paperless" = { "/paperless" = {
path = "/var/lib/paperless"; path = "/var/lib/paperless";
access = { access = {
rw = ["c"]; rw = [ "c" ];
}; };
}; };
}; };

View file

@ -1,11 +1,12 @@
{config, ...}: { { config, ... }:
{
services.cloudflare-dyndns = { services.cloudflare-dyndns = {
enable = true; enable = true;
ipv4 = true; ipv4 = true;
ipv6 = false; ipv6 = false;
proxied = false; proxied = false;
deleteMissing = false; deleteMissing = false;
domains = []; domains = [ ];
apiTokenFile = config.age.secrets.cloudflare-api.path; apiTokenFile = config.age.secrets.cloudflare-api.path;
}; };
# services.cloudflare-dyndns.domains = []; # services.cloudflare-dyndns.domains = [];

View file

@ -1,4 +1,5 @@
{...}: { { ... }:
{
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./configuration.nix ./configuration.nix

View file

@ -1,8 +1,11 @@
{pkgs, ...}: { { pkgs, ... }:
{
services.fail2ban = { services.fail2ban = {
enable = true; enable = true;
jails = { jails = {
sshd.settings = {enabled = false;}; sshd.settings = {
enabled = false;
};
radarr.settings = { radarr.settings = {
enabled = true; enabled = true;
filter = "arr"; filter = "arr";
@ -74,7 +77,8 @@
}; };
}; };
environment.etc = { environment.etc = {
"fail2ban/filter.d/arr.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter '' "fail2ban/filter.d/arr.local".text = pkgs.lib.mkDefault (
pkgs.lib.mkAfter ''
[INCLUDES] [INCLUDES]
before = common.conf before = common.conf
@ -82,9 +86,11 @@
datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S\.%%f\| datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S\.%%f\|
failregex = ^\s*Warn\|Auth\|Auth-Failure ip <ADDR> username '<F-USER>[^']+</F-USER>' failregex = ^\s*Warn\|Auth\|Auth-Failure ip <ADDR> username '<F-USER>[^']+</F-USER>'
ignoreregex = ignoreregex =
''); ''
);
"fail2ban/filter.d/jellyseerr.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter '' "fail2ban/filter.d/jellyseerr.local".text = pkgs.lib.mkDefault (
pkgs.lib.mkAfter ''
[INCLUDES] [INCLUDES]
before = common.conf before = common.conf
@ -92,15 +98,18 @@
failregex = ^.*\[warn\]\[API\]: Failed sign-in attempt using invalid Overseerr password {"ip":"<HOST>","email": failregex = ^.*\[warn\]\[API\]: Failed sign-in attempt using invalid Overseerr password {"ip":"<HOST>","email":
^.*\[warn\]\[Auth\]: Failed login attempt from user with incorrect Jellyfin credentials {"account":{"ip":"<HOST>","email": ^.*\[warn\]\[Auth\]: Failed login attempt from user with incorrect Jellyfin credentials {"account":{"ip":"<HOST>","email":
ignoreregex = ignoreregex =
''); ''
);
"fail2ban/filter.d/jellyfin.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter '' "fail2ban/filter.d/jellyfin.local".text = pkgs.lib.mkDefault (
pkgs.lib.mkAfter ''
[INCLUDES] [INCLUDES]
before = common.conf before = common.conf
[Definition] [Definition]
failregex = ^.*Authentication request for .* has been denied \(IP: "<ADDR>"\)\. failregex = ^.*Authentication request for .* has been denied \(IP: "<ADDR>"\)\.
ignoreregex = ignoreregex =
''); ''
);
}; };
} }

View file

@ -2,11 +2,13 @@
lib, lib,
config, config,
... ...
}: let }:
let
domain = "git.cleslie.uk"; domain = "git.cleslie.uk";
in { in
{
services = { services = {
cloudflare-dyndns.domains = [domain]; cloudflare-dyndns.domains = [ domain ];
forgejo = { forgejo = {
enable = true; enable = true;
database.type = "postgres"; database.type = "postgres";

View file

@ -3,18 +3,25 @@
lib, lib,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot = { boot = {
initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; initrd.availableKernelModules = [
initrd.kernelModules = []; "xhci_pci"
kernelModules = ["kvm-intel"]; "ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" ];
kernelParams = [ kernelParams = [
"i915.enable_guc=2" "i915.enable_guc=2"
]; ];
extraModulePackages = []; extraModulePackages = [ ];
}; };
#boot.kernelPackages = pkgs.linuxPackages_latest; #boot.kernelPackages = pkgs.linuxPackages_latest;
@ -27,10 +34,13 @@
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/57CE-8609"; device = "/dev/disk/by-uuid/57CE-8609";
fsType = "vfat"; fsType = "vfat";
options = ["fmask=0077" "dmask=0077"]; options = [
"fmask=0077"
"dmask=0077"
];
}; };
swapDevices = []; swapDevices = [ ];
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;

View file

@ -1,6 +1,8 @@
{config, ...}: let { config, ... }:
let
domain = "mesh.cleslie.uk"; domain = "mesh.cleslie.uk";
in { in
{
services = { services = {
headscale = { headscale = {
enable = true; enable = true;
@ -16,7 +18,7 @@ in {
ip_prefixes = "100.64.0.0/10"; ip_prefixes = "100.64.0.0/10";
}; };
}; };
cloudflare-dyndns.domains = [domain]; cloudflare-dyndns.domains = [ domain ];
caddy.virtualHosts.${domain}.extraConfig = '' caddy.virtualHosts.${domain}.extraConfig = ''
reverse_proxy localhost:${toString config.services.headscale.port} reverse_proxy localhost:${toString config.services.headscale.port}
''; '';

View file

@ -1,10 +1,14 @@
{pkgs, ...}: let { pkgs, ... }:
let
mediaDir = "/var/lib/media"; mediaDir = "/var/lib/media";
in { in
{
users = { users = {
groups.multimedia = {gid = 994;}; groups.multimedia = {
users."root".extraGroups = ["multimedia"]; gid = 994;
users."media".extraGroups = ["multimedia"]; };
users."root".extraGroups = [ "multimedia" ];
users."media".extraGroups = [ "multimedia" ];
}; };
systemd.tmpfiles.rules = [ 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 = { jellyfin = {
enable = true; enable = true;
@ -126,7 +134,7 @@ in {
dataDir = "${mediaDir}/torrents"; dataDir = "${mediaDir}/torrents";
declarative = true; declarative = true;
config = { config = {
enabled_plugins = ["Label"]; enabled_plugins = [ "Label" ];
outgoing_interface = "wg1"; outgoing_interface = "wg1";
allow_remote = true; allow_remote = true;
openFirewall = false; openFirewall = false;

View file

@ -1,8 +1,10 @@
{pkgs, ...}: let { pkgs, ... }:
let
domain = "automation.cleslie.uk"; domain = "automation.cleslie.uk";
in { in
{
services = { services = {
cloudflare-dyndns.domains = [domain]; cloudflare-dyndns.domains = [ domain ];
n8n = { n8n = {
enable = true; enable = true;
environment = { environment = {
@ -14,5 +16,5 @@ in {
reverse_proxy http://127.0.0.1:5678 reverse_proxy http://127.0.0.1:5678
''; '';
}; };
environment.systemPackages = with pkgs; [mupdf-headless]; environment.systemPackages = with pkgs; [ mupdf-headless ];
} }

View file

@ -1,8 +1,13 @@
{config, ...}: { { config, ... }:
{
networking = { networking = {
hostName = "hermes"; hostName = "hermes";
enableIPv6 = false; enableIPv6 = false;
firewall.allowedTCPPorts = [80 443 8265]; firewall.allowedTCPPorts = [
80
443
8265
];
firewall.checkReversePath = false; firewall.checkReversePath = false;
iproute2.enable = true; iproute2.enable = true;
iproute2.rttablesExtraConfig = '' iproute2.rttablesExtraConfig = ''

View file

@ -1,8 +1,10 @@
_: let _:
let
domain = "hub.cleslie.uk"; domain = "hub.cleslie.uk";
in { in
{
services = { services = {
cloudflare-dyndns.domains = [domain]; cloudflare-dyndns.domains = [ domain ];
nocodb = { nocodb = {
enable = true; enable = true;
environment = { environment = {

View file

@ -1,6 +1,7 @@
{...}: { { ... }:
{
services.quassel = { services.quassel = {
enable = true; enable = true;
interfaces = ["0.0.0.0"]; interfaces = [ "0.0.0.0" ];
}; };
} }

View file

@ -1,8 +1,9 @@
{...}: { { ... }:
{
services = { services = {
openssh = { openssh = {
enable = true; enable = true;
ports = [62480]; ports = [ 62480 ];
settings.PasswordAuthentication = false; settings.PasswordAuthentication = false;
settings.PermitRootLogin = "no"; settings.PermitRootLogin = "no";
}; };

View file

@ -1,8 +1,10 @@
{config, ...}: let { config, ... }:
let
domain = "vaultwarden.cleslie.uk"; domain = "vaultwarden.cleslie.uk";
in { in
{
services = { services = {
cloudflare-dyndns.domains = [domain]; cloudflare-dyndns.domains = [ domain ];
vaultwarden = { vaultwarden = {
enable = true; enable = true;
dbBackend = "sqlite"; dbBackend = "sqlite";

View file

@ -1,5 +1,6 @@
{inputs, ...}: _final: prev: { { inputs, ... }:
_final: prev: {
nvf = inputs.nvf.packages.${prev.system}.default; 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; agenix = inputs.agenix.packages.${prev.system}.default;
} }

View file

@ -2,13 +2,14 @@
pkgs, pkgs,
inputs, inputs,
inputs', inputs',
}: { }:
tmux-sessionizer-cl = pkgs.callPackage ./tmux-sessionizer {}; {
tmux-sessionizer-cl = pkgs.callPackage ./tmux-sessionizer { };
om = inputs'.omnix.packages.default; om = inputs'.omnix.packages.default;
nvf = inputs'.nvf.packages.default; nvf = inputs'.nvf.packages.default;
agenix = inputs'.agenix.packages.default; agenix = inputs'.agenix.packages.default;
vaapiIntel = pkgs.intel-vaapi-driver.override {enableHybridCodec = true;}; vaapiIntel = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
devour-flake = pkgs.callPackage inputs.devour-flake {}; devour-flake = pkgs.callPackage inputs.devour-flake { };
nish = inputs'.nish.packages.default; nish = inputs'.nish.packages.default;
nsbm = inputs'.nsbm.packages.default; nsbm = inputs'.nsbm.packages.default;
jellyfin-ffmpeg = pkgs.jellyfin-ffmpeg.override { jellyfin-ffmpeg = pkgs.jellyfin-ffmpeg.override {

View file

@ -1,8 +1,13 @@
{pkgs}: let { pkgs }:
let
name = "tmux-sessionizer"; name = "tmux-sessionizer";
runtimeInputs = [pkgs.tmux pkgs.ghq pkgs.fzf]; runtimeInputs = [
pkgs.tmux
pkgs.ghq
pkgs.fzf
];
text = builtins.readFile ./tmux-sessionizer.sh; text = builtins.readFile ./tmux-sessionizer.sh;
in in
pkgs.writeShellApplication { pkgs.writeShellApplication {
inherit name runtimeInputs text; inherit name runtimeInputs text;
} }

View file

@ -5,12 +5,13 @@ let
artemis = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILERlCL5ZwP/mmtBNAMtLrUwEDy+tOprUWUmsGBRlTCF"; artemis = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILERlCL5ZwP/mmtBNAMtLrUwEDy+tOprUWUmsGBRlTCF";
}; };
allSystems = builtins.attrValues systems; allSystems = builtins.attrValues systems;
in { in
{
"wg-conf.age".publicKeys = keys.c ++ allSystems; "wg-conf.age".publicKeys = keys.c ++ allSystems;
"mesh-conf-infra.age".publicKeys = keys.c ++ allSystems; "mesh-conf-infra.age".publicKeys = keys.c ++ allSystems;
"mesh-conf-cleslie.age".publicKeys = keys.c ++ allSystems; "mesh-conf-cleslie.age".publicKeys = keys.c ++ allSystems;
"forgejo-password.age".publicKeys = keys.c ++ [systems.hermes]; "forgejo-password.age".publicKeys = keys.c ++ [ systems.hermes ];
"copyparty-c.age".publicKeys = keys.c ++ [systems.hermes]; "copyparty-c.age".publicKeys = keys.c ++ [ systems.hermes ];
"cloudflare-api.age".publicKeys = keys.c ++ [systems.hermes]; "cloudflare-api.age".publicKeys = keys.c ++ [ systems.hermes ];
"vaultwarden-env.age".publicKeys = keys.c ++ [systems.hermes]; "vaultwarden-env.age".publicKeys = keys.c ++ [ systems.hermes ];
} }