mirror of
https://forgejo.merr.is/annika/nixos.git
synced 2026-02-04 16:56:53 -05:00
Added some of the hardware config stuff
This commit is contained in:
parent
fc3e307d0c
commit
bfba6682f6
7 changed files with 78 additions and 22 deletions
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -40,11 +40,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715486357,
|
"lastModified": 1715930644,
|
||||||
"narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=",
|
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1",
|
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -82,11 +82,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715801730,
|
"lastModified": 1715885250,
|
||||||
"narHash": "sha256-7X/FAfjyQxh8mgpbNPsGoh9Dxi1Q0jF4OOJQBntCUJM=",
|
"narHash": "sha256-IUFYAl3158Ig5vySnRBHoPReb2/S97bjodCo6FhzJv4=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "7e8a5498db41de8c67315b4a2a4f82a2072ee73b",
|
"rev": "53d713eb486f21d653af3ef3528e9a19ecfc45e5",
|
||||||
"revCount": 77,
|
"revCount": 81,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module"
|
"url": "https://git.lix.systems/lix-project/nixos-module"
|
||||||
},
|
},
|
||||||
|
|
@ -97,10 +97,12 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 0,
|
"lastModified": 1715996989,
|
||||||
"narHash": "sha256-/vno6oUIZDSLpqS/WOqNTHwVIakrNR7R+UutJVmfohs=",
|
"narHash": "sha256-ObD9YSelkwCAylEXJHcNjrn3hLOfIVScB1tPz9zeDN8=",
|
||||||
"path": "/nix/store/hqzz459vrv62vjc470vig5lf5qm7d897-source",
|
"owner": "NixOS",
|
||||||
"type": "path"
|
"repo": "nixpkgs",
|
||||||
|
"rev": "63d3e5d82edf5a138e7d0872231cc23ed4e740fd",
|
||||||
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
|
|
|
||||||
10
flake.nix
10
flake.nix
|
|
@ -37,11 +37,11 @@
|
||||||
let
|
let
|
||||||
system = "x86_64";
|
system = "x86_64";
|
||||||
globals = rec {
|
globals = rec {
|
||||||
user = "annika";
|
# user = "annika";
|
||||||
fullName = "Annika Merris";
|
# fullName = "Annika Merris";
|
||||||
gitName = fullName;
|
# gitName = fullName;
|
||||||
gitEmail = "me@annikamerris.com";
|
# gitEmail = "me@annikamerris.com";
|
||||||
nixfilesRepo = "ssh://git@forgejo.local.merr.is:2222/annika/nixos2.git";
|
# nixfilesRepo = "ssh://git@forgejo.local.merr.is:2222/annika/nixos2.git";
|
||||||
};
|
};
|
||||||
in rec
|
in rec
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,18 +5,18 @@
|
||||||
|
|
||||||
with inputs;
|
with inputs;
|
||||||
|
|
||||||
nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
globals
|
globals
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
# ../../modules/common
|
# ../../modules/common
|
||||||
# ../../modules/nixos
|
../../modules/nixos
|
||||||
{
|
{
|
||||||
# something with overlays, I don't get those yet.
|
# something with overlays, I don't get those yet.
|
||||||
|
|
||||||
# Hardware
|
# Hardware
|
||||||
physical = true;
|
# physical = true;
|
||||||
networking.hostName = "virt-nix";
|
networking.hostName = "virt-nix";
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||||
|
|
@ -36,7 +36,7 @@ nixpkgs.lib.nixosSystem {
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = nixpkgs.lib.mkDefault true;
|
||||||
|
|
||||||
# TODO: identityFile = "/home/${globals.user}/.ssh/id_ed2519";
|
# TODO: identityFile = "/home/${globals.user}/.ssh/id_ed2519";
|
||||||
# TODO: passwordHash = nixpkgs.lib.fileContents ../../password.sha512;
|
# TODO: passwordHash = nixpkgs.lib.fileContents ../../password.sha512;
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,16 @@
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ];
|
||||||
|
boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
|
||||||
|
''
|
||||||
|
# Set the system time from the hardware clock to work around a
|
||||||
|
# bug in qemu-kvm > 1.5.2 (where the VM clock is initialised
|
||||||
|
# to the *boot time* of the host).
|
||||||
|
hwclock -s
|
||||||
|
'';
|
||||||
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
|
|
||||||
6
modules/nixos/default.nix
Normal file
6
modules/nixos/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware
|
||||||
|
]
|
||||||
|
}
|
||||||
28
modules/nixos/hardware/boot.nix
Normal file
28
modules/nixos/hardware/boot.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
boot.loader = lib.mkIf (config.physical && !config.physical) {
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
efiSupport = true;
|
||||||
|
useOSProber = true;
|
||||||
|
gfxmodeEfi = "1920x1080";
|
||||||
|
configurationLimit = 25;
|
||||||
|
device = "nodev";
|
||||||
|
|
||||||
|
# Display menu indefinitely if holding shift key
|
||||||
|
extraConfig = ''
|
||||||
|
if keystatus --shift; then
|
||||||
|
set timeout=-1
|
||||||
|
else
|
||||||
|
set timeout=3
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.supportedFilesystems = lib.mkIf config.physical [ "ntfs" ];
|
||||||
|
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||||
|
}
|
||||||
12
modules/nixos/hardware/default.nix
Normal file
12
modules/nixos/hardware/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
import = [
|
||||||
|
./boot.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
options = {
|
||||||
|
physical = lib.mkEnableOption "Whether this machine is a physical device.";
|
||||||
|
server = lib.mkEnableOption "Whether this machine is a server.";
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue