"Release" 26.06 Irritating
CI / Check, build and cache nixfiles (push) Successful in 2h20m51s

This commit is contained in:
2026-06-13 16:00:18 +01:00
parent bb32784962
commit 93529c578b
27 changed files with 145 additions and 195 deletions
Generated
+44 -66
View File
@@ -75,11 +75,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768786317, "lastModified": 1781351267,
"narHash": "sha256-B+mFBhKQUEd543lxmBnJWiMvN/mbTzwIDmVbI1GlvKk=", "narHash": "sha256-86HFs1K+LRlx8t4AjaMdU5qlg4O7kLz1VlnNapKZIuY=",
"owner": "9001", "owner": "9001",
"repo": "copyparty", "repo": "copyparty",
"rev": "78f6855f08a210ded0eeb34da9eafb9cc2de024b", "rev": "90639de9840d7dcc2d9000026fe547f666c1d550",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -90,11 +90,11 @@
}, },
"crane": { "crane": {
"locked": { "locked": {
"lastModified": 1772560058, "lastModified": 1780532242,
"narHash": "sha256-NuVKdMBJldwUXgghYpzIWJdfeB7ccsu1CC7B+NfSoZ8=", "narHash": "sha256-D+BsdpxmtUwtqGoY0IXPhHgTlmqgcZKCEo1oMyn7ep0=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "db590d9286ed5ce22017541e36132eab4e8b3045", "rev": "59a82a1222dd3b2080b5cc52a1a2e8d5f1b77f37",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -150,11 +150,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1766051518, "lastModified": 1781023725,
"narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=", "narHash": "sha256-Gt+qFANcrDRjl3xzidLYrAUQCd3808iuAsLwZbYYAEU=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa", "rev": "2ce9051767ee4d1a3c43b52ba327431783bfd463",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -256,27 +256,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"harmonia",
"nixpkgs"
]
},
"locked": {
"lastModified": 1772408722,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -466,7 +445,6 @@
"harmonia": { "harmonia": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
"flake-parts": "flake-parts",
"nix": "nix", "nix": "nix",
"nixpkgs": [ "nixpkgs": [
"nixpkgs-unstable" "nixpkgs-unstable"
@@ -474,11 +452,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1772679279, "lastModified": 1781128165,
"narHash": "sha256-ockL9qWhamkGgBYnJHTvt1oHdRvGfbS36kW9WpOhzec=", "narHash": "sha256-97WpKZkaNAL5g7MtASLwqnrJrvrLpQRr6cXWiRNLiXQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "harmonia", "repo": "harmonia",
"rev": "4e9e03e04467b50575f6b05c8abee12407418106", "rev": "f0dd1094cdc8d72e038cf9347cacfa9272a8f72d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -516,16 +494,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768603898, "lastModified": 1781319724,
"narHash": "sha256-vRV1dWJOCpCal3PRr86wE2WTOMfAhTu6G7bSvOsryUo=", "narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2a63d0e9d2c72ac4d4150ebb242cf8d86f488c8c", "rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "home-manager", "id": "home-manager",
"ref": "release-25.11", "ref": "release-26.05",
"type": "indirect" "type": "indirect"
} }
}, },
@@ -536,11 +514,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768912518, "lastModified": 1781305496,
"narHash": "sha256-FJlof1jnbLIT5RbKxef/NV6RzcOj1GoMzXE4FcBFg5Y=", "narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "9c5f8aceb6ef620e881f50fe65cb4a2c6b1e8527", "rev": "c87a39aa979acc4848016d2220c6238390d84779",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -556,11 +534,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1768835187, "lastModified": 1769548169,
"narHash": "sha256-6nY0ixjGjPQCL+/sUC1B1MRiO1LOI3AkRSIywm3i3bE=", "narHash": "sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "0d633a69480bb3a3e2f18c080d34a8fa81da6395", "rev": "7b1d382faf603b6d264f58627330f9faa5cba149",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -572,11 +550,11 @@
"libnetRepo": { "libnetRepo": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1745053097, "lastModified": 1776595118,
"narHash": "sha256-BEW57utyWCqP4U+MzCXFqbvEC8LE3iZv5dsPMrmTJ9Q=", "narHash": "sha256-6bIEi8q5hXCHU9nApTbQXvpljMWldg3QipCD+jkOGK8=",
"owner": "oddlama", "owner": "oddlama",
"repo": "nixos-extra-modules", "repo": "nixos-extra-modules",
"rev": "7565d8554b0fc9d621851150e7939d34a3a8cd6c", "rev": "84207afebb794be7b53cfc9768730f37c64f4a13",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -588,11 +566,11 @@
"nix": { "nix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1772224943, "lastModified": 1780652321,
"narHash": "sha256-jJIlRLPPVYu860MVFx4gsRx3sskmLDSRWXXue5tYncw=", "narHash": "sha256-o/6YXRB6AbeL4SYtSHlJ9oEROl6Wmf7yheJNa3fAv2I=",
"owner": "nixos", "owner": "nixos",
"repo": "nix", "repo": "nix",
"rev": "0acd0566e85e4597269482824711bcde7b518600", "rev": "d1f04a798cf4276da59567c07a3bf4a628669288",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -640,11 +618,11 @@
}, },
"nixpkgs-mine": { "nixpkgs-mine": {
"locked": { "locked": {
"lastModified": 1773177937, "lastModified": 1781356656,
"narHash": "sha256-HY4jRsp70w4cCID7ScA79wB+y45n2scr3Qz/N+0352I=", "narHash": "sha256-Ygkl3ZBJ434/WhwdK1FyvPMeHvNPAopg3KE/1HtcJuk=",
"owner": "devplayer0", "owner": "devplayer0",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7d4f41507e7519949f6847e050cc0df87ce776d3", "rev": "a15e20705db295f621cb5bb63613f03a9373323f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -656,11 +634,11 @@
}, },
"nixpkgs-mine-stable": { "nixpkgs-mine-stable": {
"locked": { "locked": {
"lastModified": 1768913078, "lastModified": 1781356876,
"narHash": "sha256-kG1pekaHIz9lgzxBd29YXyMuauvPbeJkIJfI9rtYeAM=", "narHash": "sha256-s8ed+zuk5wrbyhtDQpkxycAcLmhQH9umGRuVRBNKUbU=",
"owner": "devplayer0", "owner": "devplayer0",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2289d9c7d193d99262cdf7fdc7313a0b4eff8881", "rev": "2eb8bacf9f641d4510fc43ba7fc0eea7dfdf5b24",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -672,26 +650,26 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1768773494, "lastModified": 1780902259,
"narHash": "sha256-XsM7GP3jHlephymxhDE+/TKKO1Q16phz/vQiLBGhpF4=", "narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "77ef7a29d276c6d8303aece3444d61118ef71ac2", "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1768564909, "lastModified": 1781074563,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1052,11 +1030,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772660329, "lastModified": 1780220602,
"narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", "narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "3710e0e1218041bbad640352a0440114b1e10428", "rev": "db947814a175b7ca6ded66e21383d938df01c227",
"type": "github" "type": "github"
}, },
"original": { "original": {
+2 -2
View File
@@ -12,13 +12,13 @@
devshell.inputs.nixpkgs.follows = "nixpkgs-unstable"; devshell.inputs.nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
nixpkgs-stable.url = "nixpkgs/nixos-25.11"; nixpkgs-stable.url = "nixpkgs/nixos-26.05";
nixpkgs-mine.url = "github:devplayer0/nixpkgs/devplayer0"; nixpkgs-mine.url = "github:devplayer0/nixpkgs/devplayer0";
nixpkgs-mine-stable.url = "github:devplayer0/nixpkgs/devplayer0-stable"; nixpkgs-mine-stable.url = "github:devplayer0/nixpkgs/devplayer0-stable";
home-manager-unstable.url = "home-manager"; home-manager-unstable.url = "home-manager";
home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable"; home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable";
home-manager-stable.url = "home-manager/release-25.11"; home-manager-stable.url = "home-manager/release-26.05";
home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable"; home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable";
# Stuff used by the flake for build / deployment # Stuff used by the flake for build / deployment
+14 -16
View File
@@ -133,34 +133,32 @@ in
ssh = { ssh = {
enable = mkDefault true; enable = mkDefault true;
enableDefaultConfig = false; enableDefaultConfig = false;
matchBlocks = { settings = {
nix-dev-vm = { nix-dev-vm = {
user = "dev"; User = "dev";
hostname = "localhost"; HostName = "localhost";
port = 2222; Port = 2222;
extraOptions = { StrictHostKeyChecking = "no";
StrictHostKeyChecking = "no"; UserKnownHostsFile = "/dev/null";
UserKnownHostsFile = "/dev/null";
};
}; };
"rsync.net" = { "rsync.net" = {
host = "rsyncnet"; Host = "rsyncnet";
user = "16413"; User = "16413";
hostname = "ch-s010.rsync"; HostName = "ch-s010.rsync";
}; };
shoe = { shoe = {
host = "shoe.netsoc.tcd.ie shoe"; Host = "shoe.netsoc.tcd.ie shoe";
user = "netsoc"; User = "netsoc";
}; };
netsocBoxes = { netsocBoxes = {
host = "cube spoon napalm gandalf saruman"; Host = "cube spoon napalm gandalf saruman";
user = "root"; User = "root";
}; };
"*" = { "*" = {
identityFile = [ IdentityFile = [
"~/.ssh/id_rsa" "~/.ssh/id_rsa"
"~/.ssh/borg" "~/.ssh/borg"
]; ];
+6 -7
View File
@@ -79,7 +79,7 @@ in
jp2a jp2a
terminaltexteffects terminaltexteffects
screenfetch screenfetch
neofetch fastfetch
cmatrix cmatrix
doomsaver doomsaver
@@ -122,12 +122,6 @@ in
}; };
}; };
termite = {
enable = true;
font = "${font.name} ${toString font.size}";
backgroundColor = "rgba(0, 0, 0, 0.8)";
};
foot = { foot = {
enable = true; enable = true;
settings = { settings = {
@@ -387,6 +381,10 @@ in
name = "Numix"; name = "Numix";
package = pkgs.numix-gtk-theme; package = pkgs.numix-gtk-theme;
}; };
gtk4.theme = {
name = "Numix";
package = pkgs.numix-gtk-theme;
};
iconTheme = { iconTheme = {
name = "Numix"; name = "Numix";
package = pkgs.numix-icon-theme; package = pkgs.numix-icon-theme;
@@ -494,6 +492,7 @@ in
userDirs = { userDirs = {
enable = true; enable = true;
createDirectories = true; createDirectories = true;
setSessionVariables = true;
desktop = "$HOME/desktop"; desktop = "$HOME/desktop";
documents = "$HOME/documents"; documents = "$HOME/documents";
download = "$HOME/downloads"; download = "$HOME/downloads";
+2 -2
View File
@@ -29,8 +29,8 @@ rec {
}; };
kernel = { kernel = {
lts = pkgs: pkgs.linuxKernel.packages.linux_6_12; lts = pkgs: pkgs.linuxKernel.packages.linux_6_18;
latest = pkgs: pkgs.linuxKernel.packages.linux_6_18; latest = pkgs: pkgs.linuxKernel.packages.linux_7_0;
}; };
nginx = rec { nginx = rec {
+2 -2
View File
@@ -248,8 +248,8 @@ rec {
in in
{ {
trivial = prev.trivial // { trivial = prev.trivial // {
release = "25.11:u-${prev.trivial.release}"; release = "26.06:u-${prev.trivial.release}";
codeName = "Hooray"; codeName = "Irritating";
revisionWithDefault = default: self.rev or default; revisionWithDefault = default: self.rev or default;
versionSuffix = ".${date}.${revCode self}:u-${revCode pkgsFlake}"; versionSuffix = ".${date}.${revCode self}:u-${revCode pkgsFlake}";
}; };
+1 -7
View File
@@ -9,11 +9,6 @@ in
config = { config = {
my = { my = {
secrets.files = { secrets.files = {
"dhparams.pem" = {
owner = "acme";
group = "acme";
mode = "440";
};
"britway/cloudflare-credentials.conf" = { "britway/cloudflare-credentials.conf" = {
owner = "acme"; owner = "acme";
group = "acme"; group = "acme";
@@ -45,7 +40,7 @@ in
"*.${pubDomain}" "*.${pubDomain}"
]; ];
dnsProvider = "cloudflare"; dnsProvider = "cloudflare";
credentialsFile = config.age.secrets."britway/cloudflare-credentials.conf".path; environmentFile = config.age.secrets."britway/cloudflare-credentials.conf".path;
}; };
}; };
}; };
@@ -58,7 +53,6 @@ in
logError = "stderr info"; logError = "stderr info";
recommendedTlsSettings = true; recommendedTlsSettings = true;
serverTokens = true; serverTokens = true;
sslDhparam = config.age.secrets."dhparams.pem".path;
# Based on recommended*Settings, but probably better to be explicit about these # Based on recommended*Settings, but probably better to be explicit about these
appendHttpConfig = '' appendHttpConfig = ''
+1 -1
View File
@@ -44,7 +44,7 @@ in
}; };
pdns-recursor = { pdns-recursor = {
yaml-settings = { settings = {
incoming = { incoming = {
listen = [ listen = [
"127.0.0.1" "::1" "127.0.0.1" "::1"
+1 -7
View File
@@ -95,7 +95,7 @@ in
"*.${pubDomain}" "*.${pubDomain}"
]; ];
dnsProvider = "cloudflare"; dnsProvider = "cloudflare";
credentialsFile = config.age.secrets."middleman/cloudflare-credentials.conf".path; environmentFile = config.age.secrets."middleman/cloudflare-credentials.conf".path;
}; };
}; };
}; };
@@ -111,7 +111,6 @@ in
recommendedTlsSettings = true; recommendedTlsSettings = true;
clientMaxBodySize = "0"; clientMaxBodySize = "0";
serverTokens = true; serverTokens = true;
sslDhparam = config.age.secrets."dhparams.pem".path;
# Based on recommended*Settings, but probably better to be explicit about these # Based on recommended*Settings, but probably better to be explicit about these
appendHttpConfig = '' appendHttpConfig = ''
@@ -182,11 +181,6 @@ in
secrets = { secrets = {
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP+KINpHLMduBuW96JzfSRDLUzkI+XaCBghu5/wHiW5R"; key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP+KINpHLMduBuW96JzfSRDLUzkI+XaCBghu5/wHiW5R";
files = { files = {
"dhparams.pem" = {
owner = "acme";
group = "acme";
mode = "440";
};
"middleman/cloudflare-credentials.conf" = { "middleman/cloudflare-credentials.conf" = {
owner = "acme"; owner = "acme";
group = "acme"; group = "acme";
@@ -13,6 +13,7 @@ in
"/var/lib/machines/jam" = { "/var/lib/machines/jam" = {
device = "/mnt/jam"; device = "/mnt/jam";
options = [ "bind" ]; options = [ "bind" ];
fsType = "none";
}; };
}; };
@@ -198,18 +198,17 @@ in
mautrix-whatsapp = { mautrix-whatsapp = {
enable = true; enable = true;
package = pkgs.mautrix-whatsapp.overrideAttrs (o: rec { # package = pkgs.mautrix-whatsapp.overrideAttrs (o: rec {
# TODO: Remove when upgrading nixpkgs # version = "26.05";
version = "26.05"; # tag = "v0.2605.0";
tag = "v0.2605.0"; # src = pkgs.fetchFromGitHub {
src = pkgs.fetchFromGitHub { # owner = "mautrix";
owner = "mautrix"; # repo = "whatsapp";
repo = "whatsapp"; # inherit tag;
inherit tag; # hash = "sha256-WlVfGQoP9e/wl98hUJei8O2JMcOKijoEY8XuU/z69Qk=";
hash = "sha256-WlVfGQoP9e/wl98hUJei8O2JMcOKijoEY8XuU/z69Qk="; # };
}; # vendorHash = "sha256-Hi/dZHJHoTTCnxLXgbkcYzuzis4fl5kxb5wMd9fKTY8=";
vendorHash = "sha256-Hi/dZHJHoTTCnxLXgbkcYzuzis4fl5kxb5wMd9fKTY8="; # });
});
environmentFile = config.age.secrets."chatterbox/mautrix-whatsapp.env".path; environmentFile = config.age.secrets."chatterbox/mautrix-whatsapp.env".path;
settings = { settings = {
database = { database = {
@@ -254,18 +253,17 @@ in
}; };
}; };
# TODO: Remove when upgrading nixpkgs # mautrix-meta.package = pkgs.mautrix-meta.overrideAttrs (o: rec {
mautrix-meta.package = pkgs.mautrix-meta.overrideAttrs (o: rec { # version = "26.05.1";
version = "26.05.1"; # tag = "v0.2605.1";
tag = "v0.2605.1"; # src = pkgs.fetchFromGitHub {
src = pkgs.fetchFromGitHub { # owner = "mautrix";
owner = "mautrix"; # repo = "meta";
repo = "meta"; # inherit tag;
inherit tag; # hash = "sha256-zpolDtwGulDTiojJPnkj9O0D5b4rgPYQX6A28rvuvM0=";
hash = "sha256-zpolDtwGulDTiojJPnkj9O0D5b4rgPYQX6A28rvuvM0="; # };
}; # vendorHash = "sha256-+i45bXBhlXPXX24VMS9IJLLX+i4VPnqy5RAH4j88sTA=";
vendorHash = "sha256-+i45bXBhlXPXX24VMS9IJLLX+i4VPnqy5RAH4j88sTA="; # });
});
mautrix-meta.instances = { mautrix-meta.instances = {
messenger = { messenger = {
enable = true; enable = true;
@@ -60,10 +60,10 @@ in
transmission.extraGroups = [ "media" ]; transmission.extraGroups = [ "media" ];
radarr.extraGroups = [ "media" ]; radarr.extraGroups = [ "media" ];
sonarr.extraGroups = [ "media" ]; sonarr.extraGroups = [ "media" ];
jellyseerr = { seerr = {
isSystemUser = true; isSystemUser = true;
uid = uids.jellyseerr; uid = uids.jellyseerr;
group = "jellyseerr"; group = "seerr";
}; };
photoprism = { photoprism = {
isSystemUser = true; isSystemUser = true;
@@ -77,7 +77,7 @@ in
}; };
groups = { groups = {
media.gid = 2000; media.gid = 2000;
jellyseerr.gid = gids.jellyseerr; seerr.gid = gids.jellyseerr;
photoprism.gid = gids.photoprism; photoprism.gid = gids.photoprism;
copyparty.gid = gids.copyparty; copyparty.gid = gids.copyparty;
}; };
@@ -88,15 +88,15 @@ in
jackett.bindsTo = [ "systemd-networkd-wait-online@vpn.service" ]; jackett.bindsTo = [ "systemd-networkd-wait-online@vpn.service" ];
transmission.bindsTo = [ "systemd-networkd-wait-online@vpn.service" ]; transmission.bindsTo = [ "systemd-networkd-wait-online@vpn.service" ];
radarr.serviceConfig.UMask = "0002"; radarr.serviceConfig.UMask = mkForce "0002";
radarr.path = with pkgs; [ ffmpeg ]; radarr.path = with pkgs; [ ffmpeg ];
sonarr.serviceConfig.UMask = "0002"; sonarr.serviceConfig.UMask = mkForce "0002";
sonarr.path = with pkgs; [ ffmpeg ]; sonarr.path = with pkgs; [ ffmpeg ];
jellyseerr.serviceConfig = { seerr.serviceConfig = {
# Needs to be able to read its secrets # Needs to be able to read its secrets
DynamicUser = mkForce false; DynamicUser = mkForce false;
User = "jellyseerr"; User = "seerr";
Group = "jellyseerr"; Group = "seerr";
}; };
# https://github.com/NixOS/nixpkgs/issues/258793#issuecomment-1748168206 # https://github.com/NixOS/nixpkgs/issues/258793#issuecomment-1748168206
@@ -145,7 +145,7 @@ in
jackett.enable = true; jackett.enable = true;
radarr.enable = true; radarr.enable = true;
sonarr.enable = true; sonarr.enable = true;
jellyseerr = { seerr = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
}; };
@@ -40,11 +40,6 @@ in
secrets = { secrets = {
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAQM9U1e/XcUCyMJITrpAHjAGahpqkZCmtX6pJkYzuks"; key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAQM9U1e/XcUCyMJITrpAHjAGahpqkZCmtX6pJkYzuks";
files = { files = {
"dhparams.pem" = {
owner = "acme";
group = "acme";
mode = "440";
};
"pdns-file-records.key" = { "pdns-file-records.key" = {
owner = "acme"; owner = "acme";
group = "acme"; group = "acme";
@@ -176,7 +171,7 @@ in
"*.${config.networking.domain}" "*.${config.networking.domain}"
]; ];
dnsProvider = "exec"; dnsProvider = "exec";
credentialsFile = environmentFile =
let let
script = pkgs.writeShellScript "lego-update-int.sh" '' script = pkgs.writeShellScript "lego-update-int.sh" ''
case "$1" in case "$1" in
@@ -207,7 +202,7 @@ in
"*.s3.${pubDomain}" "*.s3.${pubDomain}"
]; ];
dnsProvider = "cloudflare"; dnsProvider = "cloudflare";
credentialsFile = config.age.secrets."middleman/cloudflare-credentials.conf".path; environmentFile = config.age.secrets."middleman/cloudflare-credentials.conf".path;
postRun = postRun =
let let
sshKey = config.age.secrets."middleman/mailcow-ssh.key".path; sshKey = config.age.secrets."middleman/mailcow-ssh.key".path;
@@ -256,7 +251,6 @@ in
valid = "5s"; valid = "5s";
}; };
proxyResolveWhileRunning = true; proxyResolveWhileRunning = true;
sslDhparam = config.age.secrets."dhparams.pem".path;
appendConfig = '' appendConfig = ''
worker_processes auto; worker_processes auto;
@@ -35,6 +35,7 @@ in
"/var/lib/harmonia" = { "/var/lib/harmonia" = {
device = "/mnt/nix-cache"; device = "/mnt/nix-cache";
options = [ "bind" ]; options = [ "bind" ];
fsType = "none";
}; };
}; };
@@ -161,6 +162,9 @@ in
]; ];
}; };
# TODO/FIXME: this is bad...
nixpkgs.config.permittedInsecurePackages = [ "minio-2025-10-15T17-29-55Z" ];
services = { services = {
minio = { minio = {
enable = true; enable = true;
@@ -183,7 +183,7 @@ in
PDS_EMAIL_FROM_ADDRESS = "pds@nul.ie"; PDS_EMAIL_FROM_ADDRESS = "pds@nul.ie";
PDS_DID_PLC_URL = "https://plc.directory"; PDS_DID_PLC_URL = "https://plc.directory";
PDS_INVITE_REQUIRED = 1; PDS_INVITE_REQUIRED = "true";
PDS_BSKY_APP_VIEW_URL = "https://api.bsky.app"; PDS_BSKY_APP_VIEW_URL = "https://api.bsky.app";
PDS_BSKY_APP_VIEW_DID = "did:web:api.bsky.app"; PDS_BSKY_APP_VIEW_DID = "did:web:api.bsky.app";
PDS_REPORT_SERVICE_URL = "https://mod.bsky.app"; PDS_REPORT_SERVICE_URL = "https://mod.bsky.app";
+1 -1
View File
@@ -125,7 +125,7 @@ in
virt-manager.enable = true; virt-manager.enable = true;
wireshark = { wireshark = {
enable = true; enable = true;
package = pkgs.wireshark-qt; package = pkgs.wireshark;
}; };
}; };
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
+1 -1
View File
@@ -34,7 +34,7 @@ in
services = { services = {
pdns-recursor = { pdns-recursor = {
yaml-settings = { settings = {
incoming = { incoming = {
listen = [ listen = [
"127.0.0.1" "::1" "127.0.0.1" "::1"
@@ -73,8 +73,8 @@ in
RootDirectory = lib.mkForce ""; RootDirectory = lib.mkForce "";
}; };
radarr.serviceConfig.UMask = "0002"; radarr.serviceConfig.UMask = lib.mkForce "0002";
sonarr.serviceConfig.UMask = "0002"; sonarr.serviceConfig.UMask = lib.mkForce "0002";
}; };
}; };
@@ -60,7 +60,7 @@ in
"*.${domain}" "*.${domain}"
]; ];
dnsProvider = "cloudflare"; dnsProvider = "cloudflare";
credentialsFile = config.age.secrets."kelder/cloudflare-credentials.conf".path; environmentFile = config.age.secrets."kelder/cloudflare-credentials.conf".path;
}; };
}; };
}; };
@@ -13,11 +13,6 @@ in
owner = "nginx"; owner = "nginx";
group = "nginx"; group = "nginx";
}; };
"dhparams.pem" = {
owner = "acme";
group = "acme";
mode = "440";
};
}; };
firewall = { firewall = {
@@ -35,7 +30,6 @@ in
recommendedTlsSettings = true; recommendedTlsSettings = true;
clientMaxBodySize = "0"; clientMaxBodySize = "0";
serverTokens = true; serverTokens = true;
sslDhparam = config.age.secrets."dhparams.pem".path;
# Based on recommended*Settings, but probably better to be explicit about these # Based on recommended*Settings, but probably better to be explicit about these
appendHttpConfig = '' appendHttpConfig = ''
+1 -1
View File
@@ -112,7 +112,7 @@
steam.enable = true; steam.enable = true;
wireshark = { wireshark = {
enable = true; enable = true;
package = pkgs.wireshark-qt; package = pkgs.wireshark;
}; };
}; };
+17 -10
View File
@@ -38,6 +38,15 @@ in
enable = mkDefault true; enable = mkDefault true;
wheelNeedsPassword = mkDefault false; wheelNeedsPassword = mkDefault false;
}; };
# TODO: Add this to fix login
# pam = {
# services = {
# kmscon.rules. = mkIf config.services.kmscon.config.libseat {
# };
# };
# };
}; };
nix = { nix = {
@@ -157,16 +166,14 @@ in
}; };
services = { services = {
kmscon = { # TODO: Remove if-else when 26.11 releases
# As it turns out, kmscon hasn't been updated in years and has some bugs... kmscon = if (config.system.nixos.release == "26.06:u-26.11") then {
enable = mkDefault false; enable = mkDefault false;
hwRender = mkDefault true; config = {
extraOptions = "--verbose"; hwaccel = config.hardware.graphics.enable;
extraConfig = font-name = "SauceCodePro Nerd Font Mono";
'' };
font-name=SauceCodePro Nerd Font Mono } else { };
'';
};
getty.greetingLine = mkDefault' ''<<< Welcome to ${config.system.nixos.distroName} ${config.system.nixos.label} (\m) - \l >>>''; getty.greetingLine = mkDefault' ''<<< Welcome to ${config.system.nixos.distroName} ${config.system.nixos.label} (\m) - \l >>>'';
openssh = { openssh = {
@@ -247,7 +254,7 @@ in
}; };
} }
(mkIf config.services.kmscon.enable { (mkIf config.services.kmscon.enable {
fonts.fonts = with pkgs; [ fonts.packages = with pkgs; [
nerd-fonts.sauce-code-pro nerd-fonts.sauce-code-pro
]; ];
}) })
+2 -3
View File
@@ -44,8 +44,7 @@ in
swaylock-plugin swaylock-plugin
]; ];
services = { services = {
# TODO: Remove if-else when 26.05 releases resolved = {
resolved = if (config.system.nixos.release == "25.11:u-26.05") then {
settings.Resolve = { settings.Resolve = {
FallbackDNS = mkOverride 99 ( FallbackDNS = mkOverride 99 (
"1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google " + "1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google " +
@@ -54,7 +53,7 @@ in
"2606:4700:4700::1001#cloudflare-dns.com 2001:4860:4860::8844#dns.google" ); "2606:4700:4700::1001#cloudflare-dns.com 2001:4860:4860::8844#dns.google" );
LLMNR = "resolve"; LLMNR = "resolve";
}; };
} else { }; };
pipewire = { pipewire = {
enable = true; enable = true;
+2 -10
View File
@@ -13,21 +13,13 @@ in
}; };
services.resolved = { services.resolved = {
# Explicitly unset fallback DNS (Nix module will not allow for a blank config)
# TODO: Remove if-else when 26.05 releases
} // (if config.system.nixos.release == "25.11:u-25.11" then {
domains = [ config.networking.domain ];
extraConfig = ''
FallbackDNS=
Cache=no-negative
'';
} else {
settings.Resolve = { settings.Resolve = {
Domains = [ config.networking.domain ]; Domains = [ config.networking.domain ];
# Explicitly unset fallback DNS (Nix module will not allow for a blank config)
FallbackDNS = ""; FallbackDNS = "";
Cache = "no-negative"; Cache = "no-negative";
}; };
}); };
} }
(mkIf config.my.build.isDevVM { (mkIf config.my.build.isDevVM {
+1 -1
View File
@@ -165,7 +165,7 @@ let
extraSettingsOpt = with lib.types; mkOpt' (nullOr str) null "Path to extra settings (e.g. for secrets)."; extraSettingsOpt = with lib.types; mkOpt' (nullOr str) null "Path to extra settings (e.g. for secrets).";
baseAuthSettings = pkgs.writeText "pdns.conf" (settingsToLines cfg.auth.settings); baseAuthSettings = pkgs.writeText "pdns.conf" (settingsToLines cfg.auth.settings);
baseRecursorSettings = (pkgs.formats.yaml { }).generate "pdns-recursor.yaml" config.services.pdns-recursor.yaml-settings; baseRecursorSettings = (pkgs.formats.yaml { }).generate "pdns-recursor.yaml" config.services.pdns-recursor.settings;
generateSettings = type: base: dst: if (cfg."${type}".extraSettingsFile != null) then '' generateSettings = type: base: dst: if (cfg."${type}".extraSettingsFile != null) then ''
oldUmask="$(umask)" oldUmask="$(umask)"
umask 006 umask 006
+1 -3
View File
@@ -11,9 +11,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
services = { services = {
getty.autologinUser = mkDefault uname; getty.autologinUser = mkDefault uname;
kmscon.autologinUser = mkDefault uname; resolved.settings.Resolve.LLMNR = mkDefault "false";
# TODO: Update to Setings.Resolve.LLMNR when 26.05 releases
resolved.llmnr = mkDefault "false";
}; };
systemd = { systemd = {
timers = { timers = {
+4 -4
View File
@@ -336,13 +336,13 @@ in
(persistSimpleSvc "jackett") (persistSimpleSvc "jackett")
(persistSimpleSvc "radarr") (persistSimpleSvc "radarr")
(persistSimpleSvc "sonarr") (persistSimpleSvc "sonarr")
(mkIf config.services.jellyseerr.enable { (mkIf config.services.seerr.enable {
my.tmproot.persistence.config.directories = [ my.tmproot.persistence.config.directories = [
{ {
directory = "/var/lib/jellyseerr"; directory = "/var/lib/seerr";
mode = "0750"; mode = "0750";
user = "jellyseerr"; user = "seerr";
group = "jellyseerr"; group = "seerr";
} }
]; ];
}) })