71 lines
1.7 KiB
Nix
71 lines
1.7 KiB
Nix
{
|
|
description = "install nixos declaratively";
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
|
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
};
|
|
|
|
outputs = { ... }@inputs: let
|
|
system = "x86_64-linux";
|
|
devices = {
|
|
main = "/dev/nvme0n1";
|
|
bonus.disk1 = "/dev/nvme1n1";
|
|
};
|
|
|
|
pkgs = import inputs.nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
};
|
|
in {
|
|
|
|
nixosConfigurations.homebox = inputs.nixpkgs.lib.nixosSystem {
|
|
|
|
inherit system;
|
|
|
|
modules = [
|
|
inputs.disko.nixosModules.default
|
|
inputs.impermanence.nixosModules.impermanece
|
|
./disko
|
|
./impermanece
|
|
];
|
|
|
|
sysconfig.opts = {
|
|
inherit devices;
|
|
};
|
|
|
|
disko = {
|
|
enable = true;
|
|
impermanent = true;
|
|
};
|
|
|
|
networking = {
|
|
hostName = "homebox";
|
|
nameservers = [ "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ];
|
|
networkmanager.enable = true;
|
|
};
|
|
|
|
users.users."nathan" = {
|
|
isNormalUser = true;
|
|
description = "Nathan";
|
|
initialPassword = "7567";
|
|
extraGroups = [ "wheel" "networkmanager" ];
|
|
};
|
|
|
|
services.openssh.enable = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
home-manager
|
|
];
|
|
};
|
|
};
|
|
}
|