From 7f094b80c5b4496485c81b4e6b3d0e1f659d9036 Mon Sep 17 00:00:00 2001 From: Ranomier <> Date: Thu, 17 Apr 2025 22:48:09 +0200 Subject: [PATCH] refactor and add jitsi --- flake.nix | 56 +++---------------- hosts/crocoite/{crocoite.nix => default.nix} | 0 hosts/jitsi/default.nix | 58 ++++++++++++++++++++ hosts/jitsi/hardware-configuration.nix | 6 ++ 4 files changed, 72 insertions(+), 48 deletions(-) rename hosts/crocoite/{crocoite.nix => default.nix} (100%) create mode 100644 hosts/jitsi/default.nix create mode 100644 hosts/jitsi/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index b58165f..3a4de7d 100644 --- a/flake.nix +++ b/flake.nix @@ -43,7 +43,7 @@ } @ inputs: let # Supported systems for your flake packages, shell, etc. systems = [ - "aarch64-linux" + #"aarch64-linux" "x86_64-linux" ]; @@ -53,9 +53,9 @@ host_helper = hostname: { ${hostname} = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;} // {inherit nixos-unstable;}; + specialArgs = {inherit inputs;}; modules = [ - ./hosts/${hostname}/${hostname}.nix + ./hosts/${hostname} ]; }; }; @@ -63,64 +63,24 @@ # Your custom packages # Accessible through 'nix build', 'nix shell', etc #packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); + # Formatter for your nix files, available through 'nix fmt' # Other options beside 'alejandra' include 'nixpkgs-fmt' formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); # Your custom packages and modifications, exported as overlays overlays = import ./overlays {inherit inputs;}; + # Reusable nixos modules you might want to export # These are usually stuff you would upstream into nixpkgs #nixosModules = import ./modules/nixos; - # Reusable home-manager modules you might want to export - # These are usually stuff you would upstream into home-manager - #homeManagerModules = import ./modules/home-manager; # NixOS configuration entrypoint # Available through 'nixos-rebuild --flake .#your-hostname' + # to add more append // (host_helper example); nixosConfigurations = - host_helper "crocoite"; # // (host_helper example); + host_helper "crocoite" // + host_helper "jitsi"; - ## Standalone home-manager configuration entrypoint - ## Available through 'home-manager --flake .#your-username@your-hostname' - #homeConfigurations = { - # # FIXME replace with your username@hostname - # "your-username@your-hostname" = home-manager.lib.homeManagerConfiguration { - # pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance - # extraSpecialArgs = {inherit inputs;}; - # modules = [ - # # > Our main home-manager configuration file < - # ./home-manager/home.nix - # ]; - # }; - #}; - - packages.x86_64-linux = { - factorio = nixos-generators.nixosGenerate { - system = "x86_64-linux"; - modules = [ - # you can include your own nixos configuration here, i.e. - ./hosts/factorio/factorio.nix - ]; - - customFormats = { - "myFormat" = { - lib, - modulesPath, - ... - }: { - imports = [ - "${toString modulesPath}/virtualisation/proxmox-lxc.nix" - ]; - boot.loader.grub.enable = lib.mkForce false; - boot.loader.systemd-boot.enable = lib.mkForce false; - formatAttr = "tarball"; - fileExtension = "asd.tar.xz"; - }; - }; - format = "myFormat"; - #format = "vmware"; - }; - }; }; } diff --git a/hosts/crocoite/crocoite.nix b/hosts/crocoite/default.nix similarity index 100% rename from hosts/crocoite/crocoite.nix rename to hosts/crocoite/default.nix diff --git a/hosts/jitsi/default.nix b/hosts/jitsi/default.nix new file mode 100644 index 0000000..98a16ab --- /dev/null +++ b/hosts/jitsi/default.nix @@ -0,0 +1,58 @@ +{ + pkgs, + lib, + modulesPath, + ... +}: { + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "24.11"; # Did you read the comment? + + nixpkgs.config = { + # Disable if you don't want unfree packages + allowUnfree = true; + }; + nix.settings.experimental-features = ["nix-command" "flakes"]; + + # https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager, + # focused on correctness, usability, and growth – + # and committed to doing right by its community. + nix.package = pkgs.lix; + + imports = [ + #nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 + #./hardware-configuration.nix + #./boot.nix + #./hardware-configuration.nix + + ../../modules/locale.nix + #../../modules/game/server/factorio/factorio.nix + + (modulesPath + "/profiles/perlless.nix") + (modulesPath + "/profiles/minimal.nix") + { + environment.defaultPackages = []; + boot.kernel.enable = false; + boot.isContainer = true; + nixpkgs.overlays = [(self: super: {})]; + } + { + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.ens18.useDHCP = lib.mkDefault true; + } + ]; + disabledModules = [ + (modulesPath + "/profiles/all-hardware.nix") + (modulesPath + "/profiles/base.nix") + # + # + ]; +} diff --git a/hosts/jitsi/hardware-configuration.nix b/hosts/jitsi/hardware-configuration.nix new file mode 100644 index 0000000..1a421a1 --- /dev/null +++ b/hosts/jitsi/hardware-configuration.nix @@ -0,0 +1,6 @@ +{ + lib, + ... +}: { + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +}