refactor and add jitsi

This commit is contained in:
Ranomier 2025-04-17 22:48:09 +02:00
parent ae7517e994
commit 7f094b80c5
4 changed files with 72 additions and 48 deletions

View file

@ -43,7 +43,7 @@
} @ inputs: let } @ inputs: let
# Supported systems for your flake packages, shell, etc. # Supported systems for your flake packages, shell, etc.
systems = [ systems = [
"aarch64-linux" #"aarch64-linux"
"x86_64-linux" "x86_64-linux"
]; ];
@ -53,9 +53,9 @@
host_helper = hostname: { host_helper = hostname: {
${hostname} = nixpkgs.lib.nixosSystem { ${hostname} = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;} // {inherit nixos-unstable;}; specialArgs = {inherit inputs;};
modules = [ modules = [
./hosts/${hostname}/${hostname}.nix ./hosts/${hostname}
]; ];
}; };
}; };
@ -63,64 +63,24 @@
# Your custom packages # Your custom packages
# Accessible through 'nix build', 'nix shell', etc # Accessible through 'nix build', 'nix shell', etc
#packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); #packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
# Formatter for your nix files, available through 'nix fmt' # Formatter for your nix files, available through 'nix fmt'
# Other options beside 'alejandra' include 'nixpkgs-fmt' # Other options beside 'alejandra' include 'nixpkgs-fmt'
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
# Your custom packages and modifications, exported as overlays # Your custom packages and modifications, exported as overlays
overlays = import ./overlays {inherit inputs;}; overlays = import ./overlays {inherit inputs;};
# Reusable nixos modules you might want to export # Reusable nixos modules you might want to export
# These are usually stuff you would upstream into nixpkgs # These are usually stuff you would upstream into nixpkgs
#nixosModules = import ./modules/nixos; #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 # NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname' # Available through 'nixos-rebuild --flake .#your-hostname'
# to add more append // (host_helper example);
nixosConfigurations = 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";
};
};
}; };
} }

58
hosts/jitsi/default.nix Normal file
View file

@ -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. Its 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.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
}
];
disabledModules = [
(modulesPath + "/profiles/all-hardware.nix")
(modulesPath + "/profiles/base.nix")
# <nixpkgs/nixos/modules/profiles/all-hardware.nix>
# <nixpkgs/nixos/modules/profiles/base.nix>
];
}

View file

@ -0,0 +1,6 @@
{
lib,
...
}: {
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}