begin work on other system configs
This commit is contained in:
5
system-config/configuration/live/default.nix
Normal file
5
system-config/configuration/live/default.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{ config, lib, pkgs, inputs, ... }: {
|
||||
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
71
system-config/configuration/live/disko.nix
Normal file
71
system-config/configuration/live/disko.nix
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
device ? throw "Set this to your disk device, e.g. /dev/sda",
|
||||
...
|
||||
}: {
|
||||
disko.devices = {
|
||||
disk = {
|
||||
main = {
|
||||
inherit device;
|
||||
type = "disk";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
boot = {
|
||||
name = "boot";
|
||||
size = "1M";
|
||||
type = "EF02";
|
||||
};
|
||||
esp = {
|
||||
name = "ESP";
|
||||
size = "500M";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
name = "root";
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "lvm_pv";
|
||||
vg = "root_vg";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
lvm_vg = {
|
||||
root_vg = {
|
||||
type = "lvm_vg";
|
||||
lvs = {
|
||||
root = {
|
||||
size = "100%FREE";
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = ["-f"];
|
||||
|
||||
subvolumes = {
|
||||
"/root" = {
|
||||
mountpoint = "/";
|
||||
};
|
||||
|
||||
"/persist" = {
|
||||
mountOptions = ["subvol=persist" "noatime"];
|
||||
mountpoint = "/persist";
|
||||
};
|
||||
|
||||
"/nix" = {
|
||||
mountOptions = ["subvol=nix" "noatime"];
|
||||
mountpoint = "/nix";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
{
|
||||
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
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user