nix-configs/hosts/flake.nix
2024-01-31 08:00:36 -07:00

88 lines
2.3 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
description = "VM";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-23.11";
disko = {
url = github:nix-community/disko;
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, disko, ... }@inputs: {
nixosConfigurations = {
"vm" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Import the configuration.nix we used before, so that the old configuration file can still take effect.
# Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here
# ./configuration.nix
disko.nixosModules.disko
./disko-config.nix
{
_module.args.disks = [ "/dev/vda" ];
}
./hardware-configuration.nix
({config, pkgs, ...}: {
nix = {
settings.auto-optimise-store = true;
settings.experimental-features = [ "nix-command" "flakes" ];
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
};
boot = {
kernelPackages = pkgs.linuxPackages_latest;
loader = {
systemd-boot.enable = true;
systemd-boot.consoleMode = "0";
};
};
networking = {
hostName = "vm";
networkmanager.enable = true;
};
users.users.aaronh = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ]; # Enable sudo for the user.
packages = with pkgs; [
cargo
git
git-lfs
];
};
environment.systemPackages = with pkgs; [
git
git-lfs
neofetch
tree
wget
];
services.openssh = {
enable = true;
settings.PermitRootLogin = "no";
};
system = {
stateVersion = "23.11";
autoUpgrade.enable = true;
};
})
];
};
};
};
}