From e442f610c3db4d11233dbf38bba1df586cf14227 Mon Sep 17 00:00:00 2001 From: MDietermann Date: Mon, 29 Jun 2026 18:53:20 +0200 Subject: [PATCH] Scaffold nikita-nixos host Add a second nixosConfigurations entry for a friend's machine running Plasma 6 + SDDM. The hardware-configuration.nix is a placeholder; it must be replaced with the output of nixos-generate-config on the actual hardware before installing. Git identity in hosts/nikita-nixos/ home.nix is also a placeholder. --- flake.nix | 5 ++++ hosts/nikita-nixos/default.nix | 25 +++++++++++++++++++ hosts/nikita-nixos/hardware-configuration.nix | 24 ++++++++++++++++++ hosts/nikita-nixos/home.nix | 24 ++++++++++++++++++ system/display-managers/sddm.nix | 5 ++++ system/plasma.nix | 5 ++++ system/users/nikita.nix | 12 +++++++++ 7 files changed, 100 insertions(+) create mode 100644 hosts/nikita-nixos/default.nix create mode 100644 hosts/nikita-nixos/hardware-configuration.nix create mode 100644 hosts/nikita-nixos/home.nix create mode 100644 system/display-managers/sddm.nix create mode 100644 system/plasma.nix create mode 100644 system/users/nikita.nix diff --git a/flake.nix b/flake.nix index 6dbb501..e531042 100644 --- a/flake.nix +++ b/flake.nix @@ -31,5 +31,10 @@ username = "marvin"; homePath = ./hosts/hivebrain/home.nix; }; + nixosConfigurations.nikita-nixos = mkHost { + hostPath = ./hosts/nikita-nixos; + username = "nikita"; + homePath = ./hosts/nikita-nixos/home.nix; + }; }; } diff --git a/hosts/nikita-nixos/default.nix b/hosts/nikita-nixos/default.nix new file mode 100644 index 0000000..7bc183d --- /dev/null +++ b/hosts/nikita-nixos/default.nix @@ -0,0 +1,25 @@ +{ ... }: + +{ + imports = [ + ./hardware-configuration.nix + + # shared + ../../system/boot.nix + ../../system/networking.nix + ../../system/locale.nix + ../../system/fonts.nix + ../../system/nix.nix + ../../system/ssh.nix + ../../system/programs.nix + ../../system/packages.nix + + # nikita-only + ../../system/plasma.nix + ../../system/display-managers/sddm.nix + ../../system/users/nikita.nix + ]; + + networking.hostName = "nikita-nixos"; + system.stateVersion = "26.05"; +} diff --git a/hosts/nikita-nixos/hardware-configuration.nix b/hosts/nikita-nixos/hardware-configuration.nix new file mode 100644 index 0000000..d4553f4 --- /dev/null +++ b/hosts/nikita-nixos/hardware-configuration.nix @@ -0,0 +1,24 @@ +{ lib, modulesPath, ... }: + +# Placeholder hardware-configuration. Replace with the file generated on +# Nikita's actual machine via `nixos-generate-config --root /mnt` before +# building or installing. +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-label/PLACEHOLDER-ROOT"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hosts/nikita-nixos/home.nix b/hosts/nikita-nixos/home.nix new file mode 100644 index 0000000..6ccfddc --- /dev/null +++ b/hosts/nikita-nixos/home.nix @@ -0,0 +1,24 @@ +{ ... }: + +{ + imports = [ + ../../home/zsh.nix + ../../home/fonts.nix + ../../home/yazi.nix + ../../home/symlinks.nix + ../../home/packages-base.nix + ]; + + home.username = "nikita"; + home.homeDirectory = "/home/nikita"; + home.stateVersion = "26.05"; + + # TODO: replace with Nikita's actual git identity before first use + programs.git = { + enable = true; + settings.user = { + name = "Nikita"; + email = "nikita@example.com"; + }; + }; +} diff --git a/system/display-managers/sddm.nix b/system/display-managers/sddm.nix new file mode 100644 index 0000000..1cfa22b --- /dev/null +++ b/system/display-managers/sddm.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + services.displayManager.sddm.enable = true; +} diff --git a/system/plasma.nix b/system/plasma.nix new file mode 100644 index 0000000..d543256 --- /dev/null +++ b/system/plasma.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + services.desktopManager.plasma6.enable = true; +} diff --git a/system/users/nikita.nix b/system/users/nikita.nix new file mode 100644 index 0000000..ab48076 --- /dev/null +++ b/system/users/nikita.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +{ + users.users.nikita = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; + shell = pkgs.zsh; + packages = with pkgs; [ + tree + ]; + }; +}