Files
Olympus/system/configuration/live/flake.nix
2024-10-19 12:19:25 -05:00

78 lines
2.0 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;
};
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
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
];
};
};
}