From a865111b3bdd740752d24a2318acdd948526fb53 Mon Sep 17 00:00:00 2001 From: Aly Sewelam Date: Wed, 22 Apr 2026 19:48:16 +0200 Subject: [PATCH] it work now --- flake.lock | 17 +++++++++++++++++ flake.nix | 48 ++++++++++++++++++++++++++++++------------------ module.nix | 48 +++++++++++++++--------------------------------- 3 files changed, 62 insertions(+), 51 deletions(-) diff --git a/flake.lock b/flake.lock index c3b7a01..8dfa8fa 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1652776076, + "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", + "type": "github" + }, + "original": { + "owner": "numtide", + "ref": "v1.0.0", + "repo": "flake-utils", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1764521362, @@ -18,6 +34,7 @@ }, "root": { "inputs": { + "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 191600f..3f49ac0 100644 --- a/flake.nix +++ b/flake.nix @@ -1,31 +1,40 @@ -{ inputs = { +{ + inputs = { flake-utils.url = "github:numtide/flake-utils/v1.0.0"; nixpkgs.url = "github:NixOS/nixpkgs/25.11"; }; - outputs = { flake-utils, nixpkgs, ... }: - flake-utils.lib.eachDefaultSystem (system: + outputs = + { flake-utils, nixpkgs, ... }: + flake-utils.lib.eachDefaultSystem ( + system: let pkgs = nixpkgs.legacyPackages."${system}"; + modulesPath = "${pkgs.path}/nixos/modules"; - base = { lib, modulesPath, ... }: { - imports = [ "${modulesPath}/virtualisation/qemu-vm.nix" ]; + base = + { lib, modulesPath, ... }: + { + imports = [ "${modulesPath}/virtualisation/qemu-vm.nix" ]; - # https://github.com/utmapp/UTM/issues/2353 - networking.nameservers = lib.mkIf pkgs.stdenv.isDarwin [ "8.8.8.8" ]; + # https://github.com/utmapp/UTM/issues/2353 + networking.nameservers = lib.mkIf pkgs.stdenv.isDarwin [ "8.8.8.8" ]; - virtualisation = { - graphics = false; + virtualisation = { + graphics = false; - host = { inherit pkgs; }; + host = { inherit pkgs; }; + }; }; - }; machine = nixpkgs.lib.nixosSystem { system = builtins.replaceStrings [ "darwin" ] [ "linux" ] system; - modules = [ base ./module.nix ]; + modules = [ + base + ./module.nix + ]; }; program = pkgs.writeShellScript "run-vm.sh" '' @@ -37,13 +46,16 @@ ''; in - { packages = { inherit machine; }; + { + packages = { inherit (machine.config.system.build) vm; }; - apps.default = { - type = "app"; + defaultPackage = machine.config.system.build.vm; - program = "${program}"; - }; - } + apps.default = { + type = "app"; + + program = "${program}"; + }; + } ); } diff --git a/module.nix b/module.nix index 4ddc6bc..073e244 100644 --- a/module.nix +++ b/module.nix @@ -5,39 +5,21 @@ modulesPath, ... }: - -let - asteriskDir = ./asterisk; - asteriskFilesRaw = builtins.readDir asteriskDir; - asteriskFileNames = builtins.attrNames asteriskFilesRaw; - filteredFileNames = builtins.filter (n: n != "asterisk.conf") asteriskFileNames; - asteriskFiles = builtins.listToAttrs ( - builtins.map (n: { - name = n; - value = builtins.readFile (asteriskDir + "/${n}"); - }) filteredFileNames - ); -in { - imports = [ - "${modulesPath}/services/networking/asterisk.nix" + services.getty.autologinUser = "root"; + services.asterisk.enable = true; + services.asterisk.extraConfig = builtins.readFile ./asterisk/asterisk.conf; + services.asterisk.confFiles = builtins.listToAttrs ( + builtins.map (name: { + name = name; + value = builtins.readFile (./asterisk + "/${name}"); + }) (builtins.filter (n: n != "asterisk.conf") (builtins.attrNames (builtins.readDir ./asterisk))) + ); + networking.firewall.allowedTCPPorts = [ 5060 ]; + networking.firewall.allowedUDPPorts = [ + 5060 + 4569 ]; - - config = { - system.stateVersion = "25.11"; - - services.asterisk.enable = true; - - services.asterisk.extraConfig = builtins.readFile (asteriskDir + "/asterisk.conf"); - - services.asterisk.confFiles = asteriskFiles; - - services.getty.autologinUser = "root"; - - networking.firewall.allowedTCPPorts = [ 5060 ]; - networking.firewall.allowedUDPPorts = [ - 5060 - 4569 - ]; - }; + boot.kernelParams = [ "console=ttyS0" ]; + system.stateVersion = "25.11"; }