{
    # Environment variables
    environment.variables = {
        NIXPKGS_ALLOW_UNFREE = "1";
    };

    # Nixpkgs configuration
    nixpkgs.config = {
        allowUnfree = true;
    };

    programs.nh = {
        enable = true;
        flake = "/home/dark/gooberos";
        clean = {
            enable = true;
            dates = "16:00";
            extraArgs = "--keep 3";
        };
    };

    nix = {
        # Misc
        channel.enable = false;
        settings.experimental-features = [ "nix-command" "flakes" ];

        # Building
        daemonCPUSchedPolicy = "batch";
        extraOptions = ''
            keep-going = true
        '';
        settings.auto-optimise-store = true;

        # GC
        #gc = {
        #    automatic = true;
        #    default = "16:00";
        #};

        # Optimiser
        optimise = {
            automatic = true;
            dates = "17:00";
        };
    };
}