Initial hardpc configuration

This commit is contained in:
Akulij 2024-09-27 18:14:28 +05:00
commit 64f82e3dc6
3 changed files with 80 additions and 0 deletions

26
configuration.nix Normal file
View File

@ -0,0 +1,26 @@
{ modulesPath, config, lib, pkgs, ... }: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
(modulesPath + "/profiles/qemu-guest.nix")
./disk-config.nix
];
boot.loader.grub = {
# no need to set devices, disko will add all devices that have a EF02 partition to the list already
# devices = [ ];
efiSupport = true;
efiInstallAsRemovable = true;
};
services.openssh.enable = true;
environment.systemPackages = map lib.lowPrio [
pkgs.curl
pkgs.gitMinimal
];
users.users.root.openssh.authorizedKeys.keys = [
# change this to your ssh key
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDCOZgbO0xzciMbBCSC1fZLEY8qIB4c+UK0niwVvaphOPp87xjE+eyeHDhQLntxhTeOgAob24pBmhycAkQXxu0FcDZN7RmZOyNTFFQPd2w8KRgGwUnZtfOFUaT9KxV0xpnfnJN+PeCeys9/jz5XHBzlei0HPuaC85KcKqa1GMNldtFELqa1MySAIQ0mV3TynLooqqjdr2kqou9DPEqC2A2VrdDn2FFc1+RuaiEitmOG2rLUHLSje2R+GN3kkPPtWI/CzapwHC/j7hcgPEPZcAT5Pe+cQqTMXpMGK2ZFsQsgCIhwPfKg/o8LN5QKYm8sJb42OftgTpoUJNMMWvRYv9J1lRa57wLyVNl56wchj/d5kh13CJ+WDR7KnaY00xlRHxXChp9ZU7sqFMgBOlS1OUQv5iDdUerLPrSIr9JqMVtkcP1betqDKFZLJYvRpV35IQX6FsDOuzTYkojX8gKsxPL6Prq0EHwtuatvGxNq/en7VBbzHRpf32+x8luypkFLoKM="
];
system.stateVersion = "23.11";
}

38
disko-config.nix Normal file
View File

@ -0,0 +1,38 @@
{
disko.devices = {
disk = {
main = {
type = "disk";
device = "/dev/nvme0n1";
content = {
type = "gpt";
partitions = {
ESP = {
size = "500M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "crypted";
settings.allowDiscards = true;
passwordFile = "/tmp/secret.key";
content = {
type = "filesystem";
format = "btrfs";
mountpoint = "/";
};
};
};
};
};
};
};
};
}

16
flake.nix Normal file
View File

@ -0,0 +1,16 @@
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.disko.url = "github:nix-community/disko";
inputs.disko.inputs.nixpkgs.follows = "nixpkgs";
outputs = { nixpkgs, disko, ... }:
{
nixosConfigurations.hardpc = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
disko.nixosModules.disko
./configuration.nix
];
};
};
}