Initial Commit

This commit is contained in:
Charlotte 🦝 Delenk 2022-01-14 10:19:01 +01:00
commit 0baeb893a1
Signed by: darkkirb
GPG key ID: 015E3768A70AFBC5
5 changed files with 136 additions and 0 deletions

5
config/default.nix Normal file
View file

@ -0,0 +1,5 @@
{ ... }: {
imports = [
./zfs.nix
];
}

4
config/grub.nix Normal file
View file

@ -0,0 +1,4 @@
{ ... }: {
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
}

View file

@ -0,0 +1,86 @@
{ config, pkgs, lib, modulesPath, ... }: {
networking.hostName = "nixos-8gb-fsn1-1";
networking.hostId = "73561e1f";
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
./grub.nix
];
boot.initrd.availableKernelModules = [ "ata_piix" "virtio_pci" "virtio_scsi" "xhci_pci" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.supportedFilesystems = [ "zfs" ];
boot.kernelParams = ["zfs_force=1"]; # Remove after next boot
fileSystems."/nix" =
{ device = "tank/nixos/nix";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/etc" =
{ device = "tank/nixos/etc";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/var" =
{ device = "tank/nixos/var";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/var/lib" =
{ device = "tank/nixos/var/lib";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/var/log" =
{ device = "tank/nixos/var/log";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/var/spool" =
{ device = "tank/nixos/var/spool";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/home" =
{ device = "tank/userdata/home";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/root" =
{ device = "tank/userdata/home/root";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/home/darkkirb" =
{ device = "tank/userdata/home/darkkirb";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/home/miifox" =
{ device = "tank/userdata/home/miifox";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8E14-4366";
fsType = "vfat";
options = [ "X-mount.mkdir" ];
};
swapDevices = [ ];
system.stateVersion = "21.11";
}

8
config/zfs.nix Normal file
View file

@ -0,0 +1,8 @@
{ ... }: {
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.devNodes = "/dev/";
services.zfs.trim.enable = true;
services.zfs.autoScrub.enable = true;
services.zfs.autoScrub.pools = [ "tank" ];
services.zfs.autoSnapshot.enable = true;
}

33
flake.nix Normal file
View file

@ -0,0 +1,33 @@
rec {
description = "Lotte's NixOS installation";
# Use NixOS unstable
inputs.nixpkgs.url = "github:nixos/nixpkgs";
inputs.home-manager.url = "github:nix-community/home-manager";
inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs";
inputs.sops-nix.url = github:Mic92/sops-nix;
inputs.sops-nix.inputs.nixpkgs.follows = "nixpkgs";
outputs = { self, nixpkgs, ... } @ args: {
nixosConfigurations =
let
systems = [
"nixos-8gb-fsn1-1" # Hetzner Server
];
in
builtins.listToAttrs (map
(name: {
name = name;
value = nixpkgs.lib.nixosSystem
{
system = "x86_64-linux";
modules = [
(./config + "/${name}.nix")
./config/default.nix
];
};
})
systems);
};
}