update test system config
This commit is contained in:
parent
67c2250833
commit
7e3457a724
8 changed files with 117 additions and 43 deletions
9
README.md
Normal file
9
README.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# EH22 Noc-Nix
|
||||||
|
|
||||||
|
## Known Machines
|
||||||
|
|
||||||
|
- Hypervisor
|
||||||
|
- CCCHH IPMI Address: http://172.31.201.56
|
||||||
|
- CCCHH Proxmox Address: https://10.31.210.248:8006/
|
||||||
|
|
||||||
|
|
22
flake.lock
generated
22
flake.lock
generated
|
@ -1,5 +1,26 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"disko": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736864502,
|
||||||
|
"narHash": "sha256-ItkIZyebGvNH2dK9jVGzJHGPtb6BSWLN8Gmef16NeY0=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"rev": "0141aabed359f063de7413f80d906e1d98c0c123",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "latest",
|
||||||
|
"repo": "disko",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
|
@ -110,6 +131,7 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"lix": "lix",
|
"lix": "lix",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
|
|
@ -14,6 +14,12 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# disk paritioning defined via nix
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko?ref=latest";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
# secret management
|
# secret management
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
|
|
|
@ -23,12 +23,48 @@
|
||||||
"virtio_blk"
|
"virtio_blk"
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
boot.loader.systemd-boot = {
|
boot.loader.grub = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configurationLimit = 25;
|
device = lib.mkDefault "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0";
|
||||||
editor = false;
|
};
|
||||||
|
|
||||||
|
# partitioning and filesystems
|
||||||
|
disko.devices = lib.mkDefault {
|
||||||
|
disk = {
|
||||||
|
system = {
|
||||||
|
type = "disk";
|
||||||
|
device = lib.mkDefault "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
mbr = {
|
||||||
|
type = "ef02";
|
||||||
|
size = "1M";
|
||||||
|
};
|
||||||
|
swap = {
|
||||||
|
size = lib.mkDefault "8G";
|
||||||
|
content = {
|
||||||
|
type = "swap";
|
||||||
|
discardPolicy = "both";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
root = {
|
||||||
|
type = "8300";
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = [ "defaults" "noatime" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# settings for nix and nixos
|
# settings for nix and nixos
|
||||||
|
@ -107,6 +143,7 @@
|
||||||
helix
|
helix
|
||||||
htop
|
htop
|
||||||
];
|
];
|
||||||
|
|
||||||
#environment.variables = {
|
#environment.variables = {
|
||||||
# EDITOR = "hx";
|
# EDITOR = "hx";
|
||||||
# VISUAL = "hx";
|
# VISUAL = "hx";
|
||||||
|
|
|
@ -2,4 +2,5 @@
|
||||||
{
|
{
|
||||||
# add new packages here as:
|
# add new packages here as:
|
||||||
# name = pkgs.callPackage ./package-source.nix {};
|
# name = pkgs.callPackage ./package-source.nix {};
|
||||||
|
installer = flake.outputs.nixosConfigurations.installer.config.system.build.isoImage;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ flake }:
|
{ flake }:
|
||||||
let
|
let
|
||||||
nixpkgs = flake.inputs.nixpkgs;
|
nixpkgs = flake.inputs.nixpkgs;
|
||||||
|
|
||||||
# utility function to create a new nixos configuration
|
# utility function to create a new nixos configuration
|
||||||
# call like `mkSystem "x86_64-linux" "<hostname>.eh22.intern"`
|
# call like `mkSystem "x86_64-linux" "<hostname>.eh22.intern"`
|
||||||
mkSystem =
|
mkSystem =
|
||||||
|
@ -13,6 +13,7 @@ let
|
||||||
flake.inputs.home-manager.nixosModules.home-manager
|
flake.inputs.home-manager.nixosModules.home-manager
|
||||||
flake.inputs.sops-nix.nixosModules.default
|
flake.inputs.sops-nix.nixosModules.default
|
||||||
flake.inputs.lix.nixosModules.lixFromNixpkgs
|
flake.inputs.lix.nixosModules.lixFromNixpkgs
|
||||||
|
flake.inputs.disko.nixosModules.default
|
||||||
|
|
||||||
../modules/base_system.nix
|
../modules/base_system.nix
|
||||||
../modules/user_account.nix
|
../modules/user_account.nix
|
||||||
|
@ -36,6 +37,9 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# exposed hosts at myroot
|
# prod hosts
|
||||||
|
|
||||||
|
# misc hosts
|
||||||
"test.eh22.intern" = mkSystem "x86_64-linux" "test.eh22.intern";
|
"test.eh22.intern" = mkSystem "x86_64-linux" "test.eh22.intern";
|
||||||
|
"installer" = mkSystem "x86_64-linux" "installer";
|
||||||
}
|
}
|
||||||
|
|
32
systems/installer.nix
Normal file
32
systems/installer.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
modulesPath,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = lib.mkForce "eh22-nixos-installer";
|
||||||
|
networking.wireless.enable = false;
|
||||||
|
system.installer.channel.enable = true;
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
disko
|
||||||
|
];
|
||||||
|
|
||||||
|
# configure our own user account in the installer
|
||||||
|
services.getty.autologinUser = lib.mkForce "noc";
|
||||||
|
|
||||||
|
# conflict resolutions
|
||||||
|
services.openssh.settings.PermitRootLogin = lib.mkForce "no";
|
||||||
|
boot.initrd.systemd.enable = lib.mkForce false;
|
||||||
|
boot.loader.grub.enable = lib.mkForce false;
|
||||||
|
|
||||||
|
# this is only okay because the installer does not have any persistence so no data can be in an old/incompatible format
|
||||||
|
system.stateVersion = config.system.nixos.release;
|
||||||
|
home-manager.users.noc.home.stateVersion = config.system.stateVersion;
|
||||||
|
}
|
|
@ -4,45 +4,8 @@
|
||||||
{
|
{
|
||||||
imports = [ ];
|
imports = [ ];
|
||||||
|
|
||||||
# boot config
|
|
||||||
fileSystems = {
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/94A7-6995";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [
|
|
||||||
"fmask=0077"
|
|
||||||
"dmask=0077"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/4e0b7ea5-8c74-478f-a4e3-ddc5691e4065";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
"/srv/data/k8s" = {
|
|
||||||
device = "10.0.10.14:/srv/data/k8s";
|
|
||||||
fsType = "nfs";
|
|
||||||
options = [
|
|
||||||
"defaults"
|
|
||||||
"_netdev"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# networking config
|
# networking config
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = true;
|
||||||
systemd.network = {
|
|
||||||
enable = true;
|
|
||||||
networks.enp1s0 = {
|
|
||||||
matchConfig = {
|
|
||||||
Type = "ether";
|
|
||||||
MACAddress = "52:54:00:e6:1f:51";
|
|
||||||
};
|
|
||||||
networkConfig = {
|
|
||||||
IPv6AcceptRA = false;
|
|
||||||
};
|
|
||||||
DHCP = "yes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# DO NOT CHANGE
|
# DO NOT CHANGE
|
||||||
# this defines the first version of NixOS that was installed on the machine so that programs with non-migratable data files are kept compatible
|
# this defines the first version of NixOS that was installed on the machine so that programs with non-migratable data files are kept compatible
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue