diff --git a/common/server/default.nix b/common/server/default.nix index 74a543e..1b6a265 100644 --- a/common/server/default.nix +++ b/common/server/default.nix @@ -10,7 +10,6 @@ ./matrix.nix ./zerobin.nix ./gitea.nix - ./radio.nix ./samba.nix ./owncast.nix ./mailserver.nix diff --git a/common/server/mailserver.nix b/common/server/mailserver.nix index cd9e07d..5434aa5 100644 --- a/common/server/mailserver.nix +++ b/common/server/mailserver.nix @@ -28,7 +28,6 @@ in indexDir = "/var/lib/mailindex"; enableManageSieve = true; fullTextSearch.enable = true; - fullTextSearch.indexAttachments = true; fullTextSearch.memoryLimit = 500; inherit domains; loginAccounts = { diff --git a/common/server/nextcloud.nix b/common/server/nextcloud.nix index ac0a523..b265ea0 100644 --- a/common/server/nextcloud.nix +++ b/common/server/nextcloud.nix @@ -8,7 +8,7 @@ in config = lib.mkIf cfg.enable { services.nextcloud = { https = true; - package = pkgs.nextcloud30; + package = pkgs.nextcloud31; hostName = "neet.cloud"; config.dbtype = "sqlite"; config.adminuser = "jeremy"; diff --git a/common/server/radio.nix b/common/server/radio.nix deleted file mode 100644 index 436abe4..0000000 --- a/common/server/radio.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - cfg = config.services.radio; - radioPackage = config.inputs.radio.packages.${config.currentSystem}.radio; -in -{ - options.services.radio = { - enable = lib.mkEnableOption "enable radio"; - user = lib.mkOption { - type = lib.types.str; - default = "radio"; - description = '' - The user radio should run as - ''; - }; - group = lib.mkOption { - type = lib.types.str; - default = "radio"; - description = '' - The group radio should run as - ''; - }; - dataDir = lib.mkOption { - type = lib.types.str; - default = "/var/lib/radio"; - description = '' - Path to the radio data directory - ''; - }; - host = lib.mkOption { - type = lib.types.str; - description = '' - Domain radio is hosted on - ''; - }; - nginx = lib.mkEnableOption "enable nginx"; - }; - - config = lib.mkIf cfg.enable { - services.icecast = { - enable = true; - hostname = cfg.host; - mount = "stream.mp3"; - fallback = "fallback.mp3"; - }; - - services.nginx.virtualHosts.${cfg.host} = lib.mkIf cfg.nginx { - enableACME = true; - forceSSL = true; - locations."/".root = config.inputs.radio-web; - }; - - users.users.${cfg.user} = { - isSystemUser = true; - group = cfg.group; - home = cfg.dataDir; - createHome = true; - }; - users.groups.${cfg.group} = { }; - systemd.services.radio = { - enable = true; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = "${radioPackage}/bin/radio ${config.services.icecast.listen.address}:${toString config.services.icecast.listen.port} ${config.services.icecast.mount} 5500"; - serviceConfig.User = cfg.user; - serviceConfig.Group = cfg.group; - serviceConfig.WorkingDirectory = cfg.dataDir; - preStart = '' - mkdir -p ${cfg.dataDir} - chown ${cfg.user} ${cfg.dataDir} - ''; - }; - }; -} diff --git a/flake.lock b/flake.lock index 7c90dd6..49ffa6c 100644 --- a/flake.lock +++ b/flake.lock @@ -14,11 +14,11 @@ ] }, "locked": { - "lastModified": 1723293904, - "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", + "lastModified": 1750173260, + "narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=", "owner": "ryantm", "repo": "agenix", - "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", + "rev": "531beac616433bac6f9e2a19feb8e99a22a66baf", "type": "github" }, "original": { @@ -74,11 +74,11 @@ ] }, "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "lastModified": 1744478979, + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", "type": "github" }, "original": { @@ -101,11 +101,11 @@ ] }, "locked": { - "lastModified": 1727447169, - "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", + "lastModified": 1749105467, + "narHash": "sha256-hXh76y/wDl15almBcqvjryB50B0BaiXJKk20f314RoE=", "owner": "serokell", "repo": "deploy-rs", - "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", + "rev": "6bc76b872374845ba9d645a2f012b764fecd765f", "type": "github" }, "original": { @@ -117,11 +117,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -137,11 +137,11 @@ ] }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -150,6 +150,54 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "simple-nixos-mailserver", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "simple-nixos-mailserver", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "simple-nixos-mailserver", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -157,15 +205,16 @@ ] }, "locked": { - "lastModified": 1740845322, - "narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", + "lastModified": 1752208517, + "narHash": "sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE=", "owner": "nix-community", "repo": "home-manager", - "rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", + "rev": "c6a01e54af81b381695db796a43360bf6db5702f", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -177,11 +226,11 @@ ] }, "locked": { - "lastModified": 1728263287, - "narHash": "sha256-GJDtsxz2/zw6g/Nrp4XVWBS5IaZ7ZUkuvxPOBEDe7pg=", + "lastModified": 1752346111, + "narHash": "sha256-SVxCIYnbED0rNYSpm3QQoOhqxYRp1GuE9FkyM5Y2afs=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "5fce10c871bab6d7d5ac9e5e7efbb3a2783f5259", + "rev": "deff7a9a0aa98a08d8c7839fe2658199ce9828f8", "type": "github" }, "original": { @@ -192,11 +241,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1728056216, - "narHash": "sha256-IrO06gFUDTrTlIP3Sz+mRB6WUoO2YsgMtOD3zi0VEt0=", + "lastModified": 1752048960, + "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b7ca02c7565fbf6d27ff20dd6dbd49c5b82eef28", + "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", "type": "github" }, "original": { @@ -208,61 +257,20 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740374225, - "narHash": "sha256-Dnmzy5YWUVj3BNaZo5jRpZslXexbNKEk3ADGGcz9RpY=", + "lastModified": 1752431364, + "narHash": "sha256-ciGIXIMq2daX5o4Tn6pnZTd1pf5FICHbqUlHu658G9c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3349acd765bdffe454f7c8bbc450855577c1a6cf", + "rev": "fb0f0dbfd95f0e19fdeab8e0f18bf0b5cf057b68", "type": "github" }, "original": { "owner": "NixOS", - "ref": "master", + "ref": "release-25.05", "repo": "nixpkgs", "type": "github" } }, - "radio": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1631585589, - "narHash": "sha256-q4o/4/2pEuJyaKZwNQC5KHnzG1obClzFB7zWk9XSDfY=", - "ref": "main", - "rev": "5bf607fed977d41a269942a7d1e92f3e6d4f2473", - "revCount": 38, - "type": "git", - "url": "https://git.neet.dev/zuckerberg/radio.git" - }, - "original": { - "ref": "main", - "rev": "5bf607fed977d41a269942a7d1e92f3e6d4f2473", - "type": "git", - "url": "https://git.neet.dev/zuckerberg/radio.git" - } - }, - "radio-web": { - "flake": false, - "locked": { - "lastModified": 1652121792, - "narHash": "sha256-j1Y9MAjUVNgyFSeGzPoqibAnEysJDjZSXukVfQ7+bsQ=", - "ref": "refs/heads/master", - "rev": "72e7a9e80b780c84ed8d4a6374bfbb242701f900", - "revCount": 5, - "type": "git", - "url": "https://git.neet.dev/zuckerberg/radio-web.git" - }, - "original": { - "type": "git", - "url": "https://git.neet.dev/zuckerberg/radio-web.git" - } - }, "root": { "inputs": { "agenix": "agenix", @@ -274,8 +282,6 @@ "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", - "radio": "radio", - "radio-web": "radio-web", "simple-nixos-mailserver": "simple-nixos-mailserver", "systems": "systems" } @@ -286,24 +292,25 @@ "flake-compat": [ "flake-compat" ], + "git-hooks": "git-hooks", "nixpkgs": [ "nixpkgs" ], - "nixpkgs-24_05": [ + "nixpkgs-25_05": [ "nixpkgs" ] }, "locked": { - "lastModified": 1722877200, - "narHash": "sha256-qgKDNJXs+od+1UbRy62uk7dYal3h98I4WojfIqMoGcg=", + "lastModified": 1747965231, + "narHash": "sha256-BW3ktviEhfCN/z3+kEyzpDKAI8qFTwO7+S0NVA0C90o=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2", + "rev": "53007af63fade28853408370c4c600a63dd97f41", "type": "gitlab" }, "original": { "owner": "simple-nixos-mailserver", - "ref": "master", + "ref": "nixos-25.05", "repo": "nixos-mailserver", "type": "gitlab" } diff --git a/flake.nix b/flake.nix index b0d4c79..f16c4bd 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { inputs = { # nixpkgs - nixpkgs.url = "github:NixOS/nixpkgs/master"; + nixpkgs.url = "github:NixOS/nixpkgs/release-25.05"; # Common Utils Among flake inputs systems.url = "github:nix-systems/default"; @@ -19,16 +19,16 @@ # Home Manager home-manager = { - url = "github:nix-community/home-manager"; + url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; # Mail Server simple-nixos-mailserver = { - url = "gitlab:simple-nixos-mailserver/nixos-mailserver/master"; + url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.05"; inputs = { nixpkgs.follows = "nixpkgs"; - nixpkgs-24_05.follows = "nixpkgs"; + nixpkgs-25_05.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; }; }; @@ -43,19 +43,6 @@ }; }; - # Radio - radio = { - url = "git+https://git.neet.dev/zuckerberg/radio.git?ref=main&rev=5bf607fed977d41a269942a7d1e92f3e6d4f2473"; - inputs = { - nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "flake-utils"; - }; - }; - radio-web = { - url = "git+https://git.neet.dev/zuckerberg/radio-web.git"; - flake = false; - }; - # Dailybot dailybuild_modules = { url = "git+https://git.neet.dev/zuckerberg/dailybot.git"; @@ -131,7 +118,7 @@ name = "nixpkgs-patched"; src = nixpkgs; patches = [ - ./patches/gamepadui.patch + # ./patches/gamepadui.patch ./patches/dont-break-nix-serve.patch ]; }; diff --git a/machines/howl/hardware-configuration.nix b/machines/howl/hardware-configuration.nix index 6706063..57ba540 100644 --- a/machines/howl/hardware-configuration.nix +++ b/machines/howl/hardware-configuration.nix @@ -6,7 +6,7 @@ nixos-hardware.nixosModules.framework-13-7040-amd ]; - boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = pkgs.linuxPackages_6_14; hardware.framework.amd-7040.preventWakeOnAC = true; services.fwupd.enable = true; diff --git a/machines/ponyo/default.nix b/machines/ponyo/default.nix index a1cee62..6a4c76a 100644 --- a/machines/ponyo/default.nix +++ b/machines/ponyo/default.nix @@ -56,44 +56,6 @@ config.services.drastikbot.dataDir ]; - # music radio - vpn-container.enable = true; - vpn-container.config = { - services.radio = { - enable = true; - host = "radio.runyan.org"; - }; - }; - pia.wireguard.badPortForwardPorts = [ ]; - services.nginx.virtualHosts = { - "radio.runyan.org" = { - enableACME = true; - forceSSL = true; - locations = { - "/stream.mp3" = { - proxyPass = "http://vpn.containers:8001/stream.mp3"; - extraConfig = '' - add_header Access-Control-Allow-Origin *; - ''; - }; - "/".root = config.inputs.radio-web; - }; - }; - "radio.neet.space" = { - enableACME = true; - forceSSL = true; - locations = { - "/stream.mp3" = { - proxyPass = "http://vpn.containers:8001/stream.mp3"; - extraConfig = '' - add_header Access-Control-Allow-Origin *; - ''; - }; - "/".root = config.inputs.radio-web; - }; - }; - }; - # matrix home server services.matrix = { enable = true; diff --git a/machines/storage/s0/dashy.nix b/machines/storage/s0/dashy.nix index 780dc44..a53e74d 100644 --- a/machines/storage/s0/dashy.nix +++ b/machines/storage/s0/dashy.nix @@ -214,15 +214,6 @@ statusCheck = true; id = "0_836_matrix"; }; - radio = { - title = "Radio"; - description = "Radio service"; - icon = "generative"; - url = "https://radio.runyan.org"; - target = "sametab"; - statusCheck = true; - id = "1_836_radio"; - }; mumble = { title = "Mumble"; description = "voice.neet.space"; @@ -280,7 +271,6 @@ }; servicesList = [ servicesItems.matrix - servicesItems.radio servicesItems.mumble servicesItems.irc servicesItems.git