mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2024-11-15 05:13:10 +01:00
add basic vm configuration
This commit is contained in:
parent
a9cfb32b12
commit
26e43a6da8
|
@ -62,3 +62,6 @@ sda
|
|||
├─sda14 # BIOS boot
|
||||
└─sda15 /boot/efi # EFI stuff
|
||||
```
|
||||
|
||||
### vm
|
||||
Barebones configuration that can be easily deployed to virtual machines.
|
||||
|
|
28
flake.lock
28
flake.lock
|
@ -46,11 +46,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682813751,
|
||||
"narHash": "sha256-gwR5vd1rVD6W/3BXbVohrfZKKOhPtp66vthGIG9758Y=",
|
||||
"lastModified": 1682906023,
|
||||
"narHash": "sha256-u0ngImxdfv2oSxFsjcfoQx6G2haZociXB5jHovEO1w8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "02312cac59e8b22a823043ef64a34bc9cf0eef02",
|
||||
"rev": "11b7ce14f87448417ce39cb667df6c6b9a591804",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -121,6 +121,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1682268411,
|
||||
"narHash": "sha256-ICDKQ7tournRVtfM8C2II0qHiOZOH1b3dXVOCsgr11o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "df1692e2d9f1efc4300b1ea9201831730e0b817d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-colors": {
|
||||
"inputs": {
|
||||
"base16-schemes": "base16-schemes",
|
||||
|
@ -224,11 +239,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1682786779,
|
||||
"narHash": "sha256-m7QFzPS/CE8hbkbIVK4UStihAQMtczr0vSpOgETOM1g=",
|
||||
"lastModified": 1682879489,
|
||||
"narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "08e4dc3a907a6dfec8bb3bbf1540d8abbffea22b",
|
||||
"rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -263,6 +278,7 @@
|
|||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"hyprpaper": "hyprpaper",
|
||||
"impermanence": "impermanence",
|
||||
"nix-colors": "nix-colors",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
|
|
15
flake.nix
15
flake.nix
|
@ -15,6 +15,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
impermanence = {
|
||||
url = "github:nix-community/impermanence";
|
||||
};
|
||||
|
||||
nix-index-database = {
|
||||
url = "github:Mic92/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -63,6 +67,7 @@
|
|||
{ nixpkgs
|
||||
, home-manager
|
||||
, nix-index-database
|
||||
, impermanence
|
||||
, hyprland
|
||||
, sops-nix
|
||||
, nix-colors
|
||||
|
@ -120,6 +125,16 @@
|
|||
trucksimulatorbot-images.nixosModules.default
|
||||
];
|
||||
};
|
||||
vm = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs.inputs = attrs;
|
||||
modules = [
|
||||
./hosts/vm
|
||||
./shared
|
||||
impermanence.nixosModules.impermanence
|
||||
sops-nix.nixosModules.sops
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
48
hosts/vm/default.nix
Normal file
48
hosts/vm/default.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
imports =
|
||||
[
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
tmp.useTmpfs = true;
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "dvorak";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
wget
|
||||
htop-vim
|
||||
];
|
||||
programs.git = {
|
||||
enable = true;
|
||||
config = {
|
||||
user.name = "Rouven Seifert";
|
||||
user.email = "rouven@rfive.de";
|
||||
};
|
||||
};
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
|
||||
# firmware updates
|
||||
users.users.root.openssh.authorizedKeys.keyFiles = [
|
||||
../../keys/ssh/rouven-thinkpad
|
||||
];
|
||||
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
}
|
23
hosts/vm/hardware-configuration.nix
Normal file
23
hosts/vm/hardware-configuration.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
|
||||
# Replace with actual config
|
||||
device = "/dev/sda";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
Loading…
Reference in a new issue