From 89e52b8a74ac7f64fb833970fb8ecb353037a778 Mon Sep 17 00:00:00 2001 From: catvayor Date: Wed, 2 Oct 2024 13:43:17 +0200 Subject: [PATCH] feat(pixiecore): enable for milieu --- machines/hackens-milieu/_configuration.nix | 1 + machines/hackens-milieu/pixiecore/default.nix | 19 +++++++++ .../hackens-milieu/pixiecore/net-config.nix | 42 +++++++++++++++++++ machines/hackens-milieu/users.nix | 1 - 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 machines/hackens-milieu/pixiecore/default.nix create mode 100644 machines/hackens-milieu/pixiecore/net-config.nix diff --git a/machines/hackens-milieu/_configuration.nix b/machines/hackens-milieu/_configuration.nix index 272c7b2..e7c248f 100644 --- a/machines/hackens-milieu/_configuration.nix +++ b/machines/hackens-milieu/_configuration.nix @@ -18,6 +18,7 @@ ./system.nix ./users.nix ./vim.nix + ./pixiecore ]; boot.loader.efi.canTouchEfiVariables = true; diff --git a/machines/hackens-milieu/pixiecore/default.nix b/machines/hackens-milieu/pixiecore/default.nix new file mode 100644 index 0000000..2c994e3 --- /dev/null +++ b/machines/hackens-milieu/pixiecore/default.nix @@ -0,0 +1,19 @@ +{ pkgs, config, ... }: +let + net-config = (import (pkgs.path + "/nixos/lib/eval-config.nix") { + system = "x86_64-linux"; + modules = [ + ./net-config.nix + { users.users.root.openssh.authorizedKeys.keyFiles = config.users.users.root.openssh.authorizedKeys.keyFiles; } + ]; + }).config.system.build; +in +{ + services.pixiecore = { + enable = true; + openFirewall = true; + kernel = "${net-config.kernel}/bzImage"; + initrd = "${net-config.netbootRamdisk}/initrd"; + cmdLine = "init=${net-config.toplevel}/init loglevel=4"; + }; +} diff --git a/machines/hackens-milieu/pixiecore/net-config.nix b/machines/hackens-milieu/pixiecore/net-config.nix new file mode 100644 index 0000000..e5297cb --- /dev/null +++ b/machines/hackens-milieu/pixiecore/net-config.nix @@ -0,0 +1,42 @@ +{ pkgs, config, lib, modulesPath, ... }: { + imports = [ + (modulesPath + "/installer/netboot/netboot-base.nix") + ]; + + boot.tmp.useTmpfs = true; + time.timeZone = "Europe/Paris"; + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "fr"; + }; + + environment.systemPackages = with pkgs; [ + vim + ]; + + services = { + getty.autologinUser = lib.mkForce "root"; + openssh = { + enable = true; + settings.PermitRootLogin = "yes"; + }; + }; + + nix = { + nixPath = [ + "nixpkgs=${builtins.storePath pkgs.path}" + "nixos=${builtins.storePath pkgs.path}" + ]; + channel.enable = false; + settings.nix-path = config.nix.nixPath; + package = pkgs.lix; + }; + + networking = { + hostName = "hackens-net-image"; + firewall.enable = false; + }; + + system.stateVersion = "23.11"; +} diff --git a/machines/hackens-milieu/users.nix b/machines/hackens-milieu/users.nix index 14f1aac..f3a3314 100644 --- a/machines/hackens-milieu/users.nix +++ b/machines/hackens-milieu/users.nix @@ -28,5 +28,4 @@ in users.users.root = { openssh.authorizedKeys.keyFiles = superadmins; }; - }