My personal NixOS Configuration (most of it anyway)
You might run into modules, which are not imported by any of my current installations, therefore it might even throw some error during rebuild if you just copy-paste it.
To make it easier to add certificates the commons/nixos/certs.nix
is created to import all certificates added to the certs folder
commons/java.nix contains a hacky way to always use custom
certificates added to the config. (Works with the above helper)
The config in disk-setup/btrfs-with-snapper.nix defines a system
installed on btrfs subvolumes and uses snapperd to create snapshots
automatically for easier rollback.
When setting up the configuration.nix in the installation process:
- Add Channels
# nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
# nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
# nix-channel --add https://github.com/zsedem/nixos-configuration/archive/refs/heads/master.tar.gz zsedem-config
# nix-channel --update
- Create a
configuration.nix
{ config, ... }:
{
imports = [
<zsedem-config/configuration.nix>
<zsedem-config/disk-setup/btrfs-with-snapper.nix>
<zsedem-config/hardware/t470.nix>
];
boot.initrd.luks.devices."BtrfsRoot".device = "/dev/nvme0n1p2";
zsedem.btrfs-root = "/dev/mapper/BtrfsRoot";
zsedem.certificatesFolder = ./certs;
fileSystems."/boot" = { ... };
zsedem.zoom = true;
zsedem.kafka = true;
programs.java.enable = true;
}